《区块链DAPP开发入门、代码实现、场景应用》笔记4——Ethereum Wallet中部署合约

  帐号建立完成以后,帐号余额是0,可是部署合约是须要消耗GAS的,所以须要获取必定的以太币才可以继续本次实现。在测试网中获取以太币能够经过挖矿的方式,在开发菜单中能够选择打开挖矿模式,可是这须要将Syn Mode模式修改成Full,这意味着须要将测试网的所有区块数据同步下来才能够进行挖矿,这些数据很是大且同步缓慢,所以建议采用第2种方案:到以太坊基金会申请以太币,读者能够自行搜索“获取测试网以太坊币”,会有相关的网址获取以太币,通常须要输入读者本身的测试环境以太坊帐号。浏览器

(1)本节使用的代码案例须要2个以上的以太坊帐号,请读者申请建立2个帐号并分别申请测试用的ETH代币。成功建立帐号并获取以太币以后,就能够开始部署智能合约的操做了,如图2.13所示,选择 COTRACT->DEPLOY NEW CONTRACT。网络

 

图2.13 智能合约tab页面函数

(2)将上一章用的Coin合约代码复制粘贴到图2.14中3的区域,其中1表示帐号用于部署该合约的帐号,对应于Coin构造函数的msg.sender这个内容。区域2表示给当前的智能合约转帐多少,单位是以太币的个数。4表示该合约代码存在编译错误,须要修改。区块链

  

图2.14智能合约代码输入测试

(3)稍做修改以后,代码编译经过。在代码的右侧,是一个下拉选项,选项中有智能合约的名称列表,此示例中仅有Coin一个智能合约,选中此合约,在合约代码的下方有GAS费用调节的滑块和DEPLOY按钮。GAS费用前面讲到过,付出越高的GAS费用,被矿工选中打包成区块的几率也越高,如图2.15所示,此示例中咱们选中默认GAS数量,而后点击DEPLOY按钮。加密

 

图2.15选择智能合约名称并修改GAS费用设计

(4)点击部署合约以后,以太坊钱包会弹出交易转帐密码输入的对话框,此密码即为秘钥的加密密码,经过输入密码,以太坊钱包动态的解密私钥,经过私钥对交易进行签名,而后广播到以太坊网络中,该交易会加入到交易池中并显示为pending状态。矿工会选择该交易并将智能合约运行来修改以太坊状态机的状态。修改为功以后,将产生的新状态以及交易收据、永久存储数据、余额等信息写入到以太坊,并将全部数据打包进新的区块。3d

(5)正确输入密码并SEND TRASACTION以后,以太坊钱包会进入等待以太坊网络矿机打包的过程当中,图2.16就是正在等待交易被打包,该交易是一个Create Contract的操做。交易被成功打包到新的区块以后,会生成关于该交易的不少索引信息,如图2.17所示。调试

 

图2.16输入密码,支付费用以便部署智能合约blog

 

图2.17交易等待打包的状态提示

(6)图2.18中,1是交易的hash值,点击该连接能够打开区块链浏览器,查看关于该交易的更多详细信息;2是区块打包的时间;3表示该交易设计的转帐金额,本示例只是建立合约,并无转移以太币;4是发起改交易的以太坊帐户,点击该选项能够打开区块链浏览器,查看关于该帐户的全部交易记录,任何有人均可以查到这些信息,所以区块链是透明公开的;5表示该交易的目的地址,建立智能合约时改地址是空;六、七、8表示执行该交易消耗的以太坊代币数量、GAS数量和GAS的价格,这些是该交易的交易手续费,是给以太坊矿工的激励,固然目前使用的是以太坊测试网,该网络的以太币并无兑换价值;9表示该交易所在的区块高度,点击连接能够进入区块链浏览器查看该区块的其它信息。

  

图2.18建立智能合约产生的交易信息

(7)如图2.19所示,点击交易hash值以后浏览器打开的区块链浏览器信息,读者能够自行点击其它信息。该浏览器是第三方开发,与区块链钱包相似,任何人和机构均可以开发钱包和浏览器,以太坊的数据是无主的,去中心化的,任何人均可以开发软件来访问以太坊区块链上的交易数据,这就是区块链公开透明的魅力。同时由于加密学的应用,即便全部数据对全部人公开,代码和规则也公开,也没法经过篡改数据的方式来破坏区块链网络,或者经过做恶的方式来获取区块链上的数字货币,这就为区块链的创新应用提供了技术支持。

  

图2.19 以太坊区块链浏览器

(8)如图2.20所示,当交易打包完成以后,回到CONTRACTS页下面,能够看到刚刚建立的智能合约显示在了界面中。点击该智能合约,进入下一环节,调试智能合约。

  

图2.20 合约建立成功以后的界面

 

2020区块链各类应用都上马了,跟我一块儿学《区块链DAPP开发入门、代码实现、场景应用》吧。

相关文章
相关标签/搜索