以太坊学习(5)编写并部署一个智能合约

编写并部署一个智能合约


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 即可打开编辑器 

以太坊学习(5)编写并部署一个智能合约_第1张图片


4、 hello world

pragma solidity ^0.4.18;
contract HelloWorld{
    function say() public pure returns(string){
        return "Hello Wrold";
    }
}

以太坊学习(5)编写并部署一个智能合约_第2张图片


5、编译,点击右边的compile

 以太坊学习(5)编写并部署一个智能合约_第3张图片


6、连接到刚刚启动的私有链 

1)选择右边的工具栏run

以太坊学习(5)编写并部署一个智能合约_第4张图片

2)选择web3

以太坊学习(5)编写并部署一个智能合约_第5张图片

3)将端口修改为启动节点时设置的端口

以太坊学习(5)编写并部署一个智能合约_第6张图片

4)没有错误提示,可进行下一步。


 7、部署智能合约到私有链

在run标签下,选择函数以太坊学习(5)编写并部署一个智能合约_第7张图片,点击deploy

会发现控制台提示账户未解锁:

法一、那就先解锁账户:

personal.unlockAccount(eth.accounts[0])

法二、将代码复制到Mist客户端的合约发布栏里,选择函数,点击部署,会自动弹出让你输入密码解锁账户。 

 在这里,我们使用法一。

 完成解锁后,再次点击deploy

这时候,这个协议已经发出去,但是需要被确认,这需要我们启动挖矿。

 miner.start()

 挖到矿后,可以看见,合约已经被部署出去了

以太坊学习(5)编写并部署一个智能合约_第8张图片

 以太坊学习(5)编写并部署一个智能合约_第9张图片


8、触发(调用)智能合约

部署完成后,可以看见右侧多出了一个函数。

以太坊学习(5)编写并部署一个智能合约_第10张图片

我们可以点击say来调用这个合约。

以太坊学习(5)编写并部署一个智能合约_第11张图片 以太坊学习(5)编写并部署一个智能合约_第12张图片

同时,我们可以看见,合约的from一栏,就是我们解锁的账户,也就是发布合约的账户。 


 

你可能感兴趣的:(区块链学习)