编写并部署一个智能合约
1、启动节点
(参见:https://blog.csdn.net/dieju8330/article/details/81542916)
在/home/msi/block_node2/ 目录下:
geth --datadir "./" --networkid 989898 -rpc console --port 30304 --rpcport 8546 --rpccorsdomain "*"
2、启动以太坊钱包
在Mist钱包目录下:
./mist --rpc /home/msi/block_node2/geth.ipc
3、启动remix-ide
remix-ide
在浏览器打开 http://localhost:8080 即可打开编辑器
4、 hello world
pragma solidity ^0.4.18;
contract HelloWorld{
function say() public pure returns(string){
return "Hello Wrold";
}
}
5、编译,点击右边的compile
6、连接到刚刚启动的私有链
1)选择右边的工具栏run
2)选择web3
3)将端口修改为启动节点时设置的端口
4)没有错误提示,可进行下一步。
7、部署智能合约到私有链
在run标签下,选择函数,点击deploy
会发现控制台提示账户未解锁:
法一、那就先解锁账户:
personal.unlockAccount(eth.accounts[0])
法二、将代码复制到Mist客户端的合约发布栏里,选择函数,点击部署,会自动弹出让你输入密码解锁账户。
在这里,我们使用法一。
完成解锁后,再次点击deploy
这时候,这个协议已经发出去,但是需要被确认,这需要我们启动挖矿。
miner.start()
挖到矿后,可以看见,合约已经被部署出去了
8、触发(调用)智能合约
部署完成后,可以看见右侧多出了一个函数。
我们可以点击say来调用这个合约。
同时,我们可以看见,合约的from一栏,就是我们解锁的账户,也就是发布合约的账户。