当前位置:首页 » 《随便一记》 » 正文

以太坊理解_qq_39286701的博客

21 人参与  2022年03月17日 17:06  分类 : 《随便一记》  评论

点击全文阅读


1.钱包,钱包是一个程序,主要原理是使用rpc远程调用,和以太坊上的某个节点进行交互,也就是和以太坊进行交互,同时钱包重要的功能还有对以太坊账户的管理。
2.以太坊只有黄皮书,里面定义了以太坊的协议,以太坊的客户端只要按照以太坊协议来实现,比如开放固定的端口等,就视为一个以太坊节点。比较知名的客户端有geth,默认被视为”官方客户端“,使用go开发。可以用它来搭建本地私链,不过本地私链只有一个节点,我感觉意义不是很大,作为合约的测试环境还可以。
3.以太坊有很多链,我们常说的以太坊是以太坊主链,链id为1,比较有名的还有测试链,跟以太坊主链差不多,也是全球通行,有一些默默无闻的大佬在贡献它们的计算来维持测试链的挖矿、运行。以太坊根据链id来区分不同的链。
4.以太坊进行交易,主要填的有地址、value、data.。地址代表跟谁交易,value就是要转的币的数量,一般的交易只需要填写地址和value,代表向谁转多少币。还有要填的就是gas,gas需要填写gas的数量和单价两个数据,数量有个最低值,是固定的,也可以往高了填。如果单价过低,矿工可能不会给你的交易上链,导致你的交易很久才能上链甚至上链失败。

5,智能合约的创建,一般data是创建智能合约用的,如果普通交易填了data需要的燃油费会更多。创建智能合约的方式是向全0地址转账,智能合约也有存款,转账的时候填的value就是它初始的存款,当然value这一项也可以不填。data是智能合约编译后的字节码,字节码可以通过工具来进行反编译得到源码。因此可以说智能合约是开源的。创建智能合约也就是向全0地址转账成功后,会返回一个地址,这个地址就是合约账号。和普通账号的区别在于有data这个值。其它都一样。
6.调用智能合约,调用智能合约就是向合约地址转账,和普通转账的区别是还需要指定调用合约的某个方法和填写方法的参数,合约的调用方法和参数调用也写在data中。
在这里插入图片描述

7.智能合约可以有个构造函数,发布智能合约的时候给这个合约构造函数的参数,之后就不能再改变,比如发布自己的币,可以在构造函数指定币的总数。
8.web3.js是一个连接到某个节点的工具,在创建的时候指定ip地址和端口。就可以通过web3.js调用以太坊的相关功能,比如查询连接到的那个节点的版本,查看区块高度、转账,查询余额,创造账户、合约、发送交易,等等,因此可以使用web3.js来开发钱包、dapp等。
在这里插入图片描述

9.私链在创建的时候记得开rpc远程调用接口,这样通过web3.js这个工具包才可以连接上本地的节点。
10.调用geth的newAcount()方法,相当于创建了一个账户,存放在本地节点的某个目录下,这个目录下的账户作为当前节点持有的账户。调用getAccounts()方法是查看本地节点的所有账户。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/36338.html

以太  合约  节点  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1