1、本地测试网络搭建完成,对以太坊的了解已经达到基础水平。(可以参考我之前的关于以太坊的文章)。
2、有翻墙的能力(发布合约的时候,有不少网站都是需要翻墙操作的)
3、本地浏览器安装MetaMask轻钱包:
以太坊轻钱包MetaMask详细图文教程
4、了解以太坊的solidity语言,并且已经写好了智能合约代码
1、进入remix开始编辑智能合约
remix是在线智能合约编辑器,可在线编辑、编译、部署智能合约。
链接:http://remix.ethereum.org
2、部署合约
(1)在右侧窗口切换到Run标签中;
(2)Environmen选择Inject Web3;
(3)这个账户是部署合约时,给合约转账的账户,如果浏览器安装并打开了MetaMask,会默认填写;
(4)下拉列表选择我们自己的合约test(这个是指我们合约的名称);
(5)根据选择不同的合约,下方会出现不同的构造参数的输入框。因为test的构造参数只有一个address,因此下方只需要输入代币拥有者的地址,点击Deploy部署(注意!!!地址参数必须使用双引号将地址引起来)。
3、点击Deploy后,会自动打开MetaMask进行一笔转账操作,由外部账户向合约账户转账,点击SUBMIT转账。
如下:
转账成功就完成了部署智能合约。同时所有代币已经一次性转给了步骤4中输入的地址。
转账进行中,可以点击MetaMask中的交易记录,跳转到ropsten的区块链浏览器中,转账成功后会得到合约地址
4、验证
代币合约部署成功后,已经可以通过remix在ropsten测试网络中进行转账,但是程序还不可以使用这个合约,合约需要被验证。
在区块链浏览器中通过合约地址打开该合约页面,未通过验证的合约页面为:
已经通过验证的合约页面为:
合约页面切换到Code标签中,点击Verify And Publish进行验证:
(1)填写合约地址;
(2)填写部署的合约名称;
(3)选择编译器版本,从remix的右边窗口的Settings标签页中查看Solidity version;
(4)选择是否优化,从remix的右边窗口的Settings标签中查看General settings是否勾选了Enable Optimization;
(5)智能合约代码;
(6)部署时的构造参数,这里的参数是部署时输入参数的byteCode,会自动填写,也可以通过https://www.jianshu.com/p/56082f942bb3 自己来获得;
(7)点击进行人机验证(需要翻墙);
(8)点击Verify And Publish。注意!!!验证中填写的信息必须和remix中部署合约时的内容完全一致
验证成功或失败都会在该页面给出提示(最后的人机验证部分也是需要翻墙才能操作成功)。
以上就是发布智能合约的步骤。发布完成之后,可以在区块链浏览器上查看到合约的代码。
end