您的位置:首页 > 移动开发

win10下开发部署Dapp(2):编写、部署第一个合约

2018-03-15 18:36 232 查看

win10下开发部署Dapp(2):编写、部署第一个合约

  上一篇我们使用Geth搭建了私链,并用自己的机器在私链上挖矿。Geth本质上是Ethereum客户端,负责与链上进行通信,运行了Geth的机器才算是链网络上的一个peer。

  本篇我们使用私链 + Mist + Solidity Browser发布第一个智能合约。

  打开Solidity Browser,输入以下代码:

pragma solidity ^0.4.18
contract HelloWorld{
string str;
function HelloWorld() public{
}
function Set(string s) public{
str = s;
}
function Get() public returns(string){
return str;
}
}


  为啥要使用Solidity Browser呢?这个工具有自动补全、编译报错、警告等功能,适合新手使用。没有报错,即可将该代码拷贝到Mist,依次找到Mist的合约->部署新合约 界面的编辑框中。



  下拉列表中选择Hello World合约,然后点击最下方的“部署”按钮,输入密码后,等待挖出12个确认块之后,合约就创建了。(此处确保Geth客户端处于挖矿状态,已经停止挖矿的,输入miner.start(1)即可开始挖矿)



  创建完成后,即可在合约界面找到刚刚发布的合约,点击进入该合约:

  在“选择函数”下拉列表中选择Set函数,填上参数:MyFirstContract,点击执行,几个确认块之后,Get方法下面显示出了刚才的参数——意味着我们将MyFirstContract字符串写到了链上。



  我们的这个合约功能很简单——仅仅是Set与Get一个字符串。Set方法由于更改了链的状态,所以需要花费gas,所以需要一个有余额的账户来执行这个方法,该账户会被扣除一定的eth。而Get方法只是读取变量,无需链上共识,是免费的。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: