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

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方法只是读取变量,无需链上共识,是免费的。

猜你喜欢

转载自blog.csdn.net/johnnymartin/article/details/79572127
今日推荐