将智能合约部署到Rinkeby测试链上

Posted by Klojure on March 21, 2018

引言

在上一篇文章中《快速上手第一个智能合约中》,我们介绍了如何编写与运行我们的第一个智能合约。但那只是将合约运行在了浏览器的区块链虚拟环境中,与区块链还是有一定的区别,另外也无法被其它人所使用。因此本文主要介绍如何使用Remix将我们写好的智能合约部署到公共链中,本文中我们以以太坊的测试链Rinkeby为例。

以太坊测试网络

绝大多数人在使用的网络被称为主网络(Mainnet),用户在其上交易、构建智能合约,矿工在其上挖矿。由于使用的人数众多,主网络的鲁棒性很强,能够对抗攻击,区块链也不易被篡改,因此主网络是具有功能的,其上的以太币是有价值的。

而为了能够方便开发者进行测试,我们还需要一些公开的测试网络,以太坊拥有多个测试网络,包括Ropsten、Kovan以及Rinkeby,相对于主网络,测试网络使用人数少,节点少,鲁棒性差,也容易被篡改,但是以太币获取容易,方便开发者进行测试。

使用MetaMask连接测试链

为了能够访问Rinkeby,我们需要一个桥梁连接区块链,这里我们使用MetaMask,它是Chrome等浏览器上的一个插件,使用它,我们能够在浏览器中运行我们的智能合约。这里以Chrome为例,从插件商店下载Metatask,输入密码创建钱包账号,屏幕快照 2018-03-21 下午9.37.18.png,然后选择Rinkeby Test Network。因为对智能合约的操作需要消耗ether,因此我们需要获取到Rinkeby上的ether,通过Rinkeby Ehter获取我们可以免费获取到ether,只要在google plus或者facebook、twitter上发一个帖,内容为钱包地址,然后将链接复制到输入框即可,然后过一段时间我们就能看到ether到账了。

使用Remix链接MetaMask

《快速上手第一个智能合约中》中我们介绍过,将Remix的Environment设置为Injected Web3,Remix将会链接到MetaMask。 测试链.png,可以发现Account已经变为了Metamask中创建的测试账号,再次点击Create创建HelloWorld智能合约,将会弹出以下对话框,这其实是Metamask让用户确认是否进行这次交易,点击submit即可。 metamask.png

等待片刻后合约被成功部署,合约地址为 0xa9511dc74fd18a7e09b1ceaeaa8bab93e7523200,我们可以从https://www.rinkeby.io/#explorer中查询到该合约。 测试链上的contract.png

结语

本文主要介绍了如何使用Remix和MetaMask将智能合约部署到区块链上,我们使用了以太坊的Rinkeby区块链网络。