最新在做智能合约相关的项目,这篇文章有关智能合约部署还是说的不错的,尤其是交易地址,这个在项目中是要作为参数传入的,如果你这一次部署的地址没有换,还是上次项目的结果,一个小小问题,看了好久。钱包用metamask 同理。
https://www.jianshu.com/p/c02f5ab286dd
没钱买币但又想玩以太坊怎么办?用以太坊测试网络吧~~~~
一个创世区块可以创造和代表一条区块链。如果我们给客户端设定不同的创世区块,它就将工作在不同的区块链上。这也就是之前写的私有链搭建的基本原理,创建自己的创世区块来开启私有链。不过由于以太坊是一个去中心化的平台,需要较多节点共同运作才能得到理想的测试效果,因此私有链并不一定能满足测试需求。
出于学习和测试的目的,以太坊官方推出了一些测试网络,使用了与主网络不同的创世区块,测试网中的代币是没有价值的。以太坊公开的测试网络共有4个,目前仍在运行的有3个,分别为Ropsten、Kovan、Rinkeby。
一、Rinkeby
Rinkeby 是开发人员目前常用的测试网络,使用PoA共识机制,访问地址: https://www.rinkeby.io/
本文从以下几方面介绍Rinkeby 的基本使用方法:
- 创建 Rinkeby 账户
- 获取Rinkeby 的以太币
- 交易
- 智能合约部署
- 智能合约交互
二、创建Rinkeby 账户
首先,需要在Rinkeby网络中创建账户,也就是生成钱包地址。使用Geth客户端,键入 geth --rinkeby console
可以直接进入Rinkeby网络, 但Geth客户端不太方便进行操作,可以使用钱包客户端代替。常用的以太坊钱包是Ethereum Wallet 和 Mist。下载地址:[https://github.com/ethereum/mist/releases] 安装的时候注意把网络切换为Rinkeby。
因为这两个客户端进行区块同步需要花大量时间、占用存储空间(我同步了一天也没同步成功,emmm......),所以为了方便这里使用另一个常用的钱包——在线钱包MyEtherWallet,地址:https://www.myetherwallet.com/。
插播两句,4月25号刚爆出MyEtherWallet受到了DNS劫持,不少用户的账号被盗。所以大家在使用的时候注意1,访问官方地址,小心钓鱼网站;2,访问时如出现https证书错误提示,立即停止访问。
1、进入MyEtherWallet网站,在右上方选择Rinkeby网络,输入密码创建一个钱包地址
2、下载keystone文件,在本地妥善保存,
keystore 文件是用于签署交易的以太坊私钥的加密文件。如果丢失了这个文件,就等于丢失了私钥,意味着失去了签署交易的能力,资金将被永久的锁定在了你的账户里。
3、下载完成后,点击I understand. Continue 。 保存好私钥,记录下地址,如果需要可以打印,这里可直接显示地址和私钥。
现在就有了一个Rinkeby 账号了。
三、获取Rinkeby 的以太币
但这个账号里还没有币,想获取Rinkeby测试网络中的以太币,需要去申请,这个申请Rinkeby以太币的功能被称为水龙头(Faucet)。网站地址:https://faucet.rinkeby.io/
为了确保不会出现有人滥用水龙头,无限申请Rinkeby以太币。水龙头需要借助第三方账号来确定申请者的身份和配额。获取方法是在Twitter、FaceBook、Google+任意一个社交网络上发布一条带有钱包地址的消息,并将消息的网址粘贴到上面截图的输入框中选个获取就可以。我们以Google+账户为例(FaceBook上找半天没找到链接地址,囧)。
1、打开Google+,,登录账号 https://plus.google.com/,把之前创建的钱包地址作为内容发送一条消息(类似发微博)。
2、点击转发按钮,会跳转到一个页面
3、将该页面的地址复制到Rinkeby以太币申请框里,选择冷却时间。 这里就选择获取3个币,冷却8小时,就是8小时之后才能再申请。
显示请求已接受就说明获取成功了。可以到区块浏览器https://rinkeby.etherscan.io/ 输入钱包地址查看。
现在我们的账户里有3个币了,接下来进行交易测试。
四、交易
1、 回到MyEtherWallet网站,点击Send Ether &Tokens 进行交易。使用Keystore / JSON File 方法访问账户。
上传wallet 文件 也就是之前保存的keystore文件,输入密码解锁。
2、进入交易页面,填好转账的地址(转给谁),转账金额,gas limit可以设置大一点,小了可能会提示错误。点击创建交易、确认交易即可。
3、到区块链浏览器上去查询一下这笔交易,地址:https://rinkeby.etherscan.io/ 输入钱包地址,点击查询。(交易被最终确认可能需要等待几分钟)。
一笔交易完成!
五、智能合约部署
1、回到MyEtherWallet网站,点击Contract 进行智能合约交互与部署。点击Deploy Contract,进入合约部署页面。以上一篇文章以太坊私有链Geth控制台操作教程中的智能合约为例。将二进制码拷贝进去,设置Gas Limit,解锁自己的账户,签署该交易,确认发布。
2、到区块链浏览器上去查询一下这笔交易,还是通过输入钱包地址,可看到部署成功,并得到合约地址:
0xc290fefb694bf2ac59cf315cefe93da211969bf2]
一个智能合约部署成功!
六、智能合约交互
1、回到MyEtherWallet网站,点击Contract 进行智能合约交互与部署。将合约地址,以及ABI填入,点击Access, 选择访问函数接口,这个智能合约只有multiply一个函数,因此选择它,然后输入参数的值,并解锁自己的账户。
这里填好金额和 gas, 确认交易发送交易即可。
2、到区块链浏览器通过输入钱包地址或者合约地址查看该交易。input里的数据是调用的函数及参数,该函数已经执行,由于函数只是一个返回值,因此并没有直观的感受,如果函数是类似交易转账的功能,则对应的转账会被自动完成。