本地区块链与以太坊测试网络发布智能合约
编写:张宏宇
发布智能合约,我在可以选择在网上的在线IDE编写,然后在进行发布。
在线网站 https://remix.ethereum.org
在网上有好多比较成熟的智能合约,可以拿来直接用。
智能合约下载地址
https://github.com/OpenZeppelin/openzeppelin-solidity
编写智能合约并发布教程。
此教程用的是truffle发布智能合约,我们可以借鉴怎么写智能合约。
http://truffleframework.com/tutorials/robust-smart-contracts-with-openzeppelin
一、本地发布合约
1、remix介绍:


2、选择网络。
本发布智能合约,需要remix与本地进行连接。
点击网络配置。弹出框,点击OK。

修改IP,和本地区块链的IP地址想同。

联通成功,账户显示本地区块链的第一个账户。

3、发布智能合约
选择发布的智能合约,点击Deploy发布智能合约。

此时弹出交易信息,输入消耗的GAS,点击submit
(注:发送到主网时候这里会消耗一定的以太币。)

本地发布成功,在下面就会有一个合约得地址,打开以后里面就是合约中方法。

本地智能合约发布成功。
可以用web3和智能合约进行交互。
二、以太坊测试网发币
以太网测试网发币和本地基本相同,只是网络需要切换到测试网。
1、切换钱包网络
在钱包中将网络切换到以太坊测试网。此时账户中没有ETH可以在测试网中申请测试ETH

2、申请测试ETH
点击账户中BUY,弹出购买界面。点ROPSTEN TEST FAUCET 跳转到申请测试ETH页面。

点击申请1ETH,下面出现一条交易的信息,此时测试笔就已经到账了。

重启浏览器,重新打开钱包,就看到账户中存在了ETH。
3、切换remix网络。
关闭本地的区块链,此时切换remix的网络,remix自动连接上钱包了,默认的账户是钱包中刚刚领测试币的账号。此处账号应该与钱包中账户对应。

4、发布智能合约
编写智能合约后,发布方法和本地发布相同。
5、验证合约代码
(注:此处必须翻墙,国内肯定过不去,经过数次实验得出结论。)
与本地不同的是,测试网络需要验证合约代码
点击此处交易信息,跳转到认证网页。

状态显示发布已经成功,点击合约得地址,跳转到代码认证页面

点击code下的Verify And Publish

把代码复制到对话框中。
填写必要的条件,合约名字,合约得版本,是否需要代码优化等
(注:验证代码里最好不要带注释。否则可能不过。)

剩余的部分选填,可以不填,最后验证,验证成功后点击Verify And Publish Reset验证

验证成功会出现一下界面,此时就可以通过web3与测试网的智能合约进行交互。
