部署及调用HelloWorld合约
- 第一步. 编写HelloWorld合约
- 第二步. 部署HelloWorld合约
- 第三步. 调用HelloWorld合约
第一步. 编写HelloWorld合约
HelloWorld合约提供两个接口,分别是get()和set(),用于获取/设置合约变量name。合约内容如下:
pragma solidity>=0.4.24 <0.6.11;
contract HelloWorld {
string name;
constructor() public {
name = "Hello, World!";
}
function get() public view returns (string memory) {
return name;
}
function set(string memory n) public {
name = n;
}
}
第二步. 部署HelloWorld合约
为了方便用户快速体验,HelloWorld合约已经内置于控制台中,位于控制台目录下contracts/solidity/HelloWorld.sol,参考下面命令部署即可。
# 在控制台输入以下指令 部署成功则返回合约地址
deploy HelloWorld
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_区块链](//dev-img.mos.moduyun.com/20231024/d6996db1-035f-4418-9b9f-d35daf982444.png)
第三步. 调用HelloWorld合约
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_d3_02](//dev-img.mos.moduyun.com/20231024/ab30d7d9-adaf-4dd0-a8c3-9708eec425b1.png)
调用HelloWorld合约的get接口获取name变量 此处的合约地址是deploy指令返回的地址(contract address)
# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
call HelloWorld 0xa3a04fd31060e1a883d47431b9747c593494c69e get
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_3d_03](//dev-img.mos.moduyun.com/20231024/949af7ed-5e65-414e-beec-5ec3487bf1f2.png)
# 查看当前块高,块高不变,因为get接口不更改账本状态
getBlockNumber
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_数字货币_04](//dev-img.mos.moduyun.com/20231024/06b92091-4d19-4092-aab8-af32d36dd5cb.png)
# 调用set设置name
call HelloWorld 0xa3a04fd31060e1a883d47431b9747c593494c69e set "Hello, FISCO BCOS"
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_区块链_05](//dev-img.mos.moduyun.com/20231024/0b9cf07f-1200-4d65-86eb-f7589a2c925d.png)
# 再次查看当前块高,块高增加表示已出块,账本状态已更改
getBlockNumber
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_d3_06](//dev-img.mos.moduyun.com/20231024/ec26d1bc-822c-4bfd-a175-219bf437e1a3.png)
# 调用get接口获取name变量,检查设置是否生效
call HelloWorld 0xa3a04fd31060e1a883d47431b9747c593494c69e get
![在这里插入图片描述 CentOs上进行FISCO BCOS部署(3)_d3_07](//dev-img.mos.moduyun.com/20231024/7514c447-ca6c-44af-bffb-f0f3437388da.png)