1 单群组FISCO BCOS联盟链的搭建
本节以搭建单群组FISCO BCOS链为例操作,使用开发部署工具 build_chain.sh脚本在本地搭建一条4节点的FISCO BCOS链。
1.1 下载build_chain.sh脚本
curl -#LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/master/tools/build_chain.sh && chmod u+x build_chain.sh
1.2 搭建联盟链
bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545
其中-p选项指定起始端口,p2p_port用于节点之间的交互,channel_port用于SDK访问,jsonrpc_port用于控制台访问。命令执行成功会输出All completed
[INFO] Start Port : 30300 20200 8545
[INFO] Server IP : 127.0.0.1:4
[INFO] Output Dir : /home/wxudong/learn/fisco/nodes
[INFO] CA Path : /home/wxudong/learn/fisco/nodes/cert/
==============================================================
[INFO] Execute the download_console.sh script in directory named by IP to get FISCO-BCOS console.
e.g. bash /home/wxudong/learn/fisco/nodes/127.0.0.1/download_console.sh -f
==============================================================
[INFO] All completed. Files in /home/wxudong/learn/fisco/nodes
1.3 启动联盟链
bash nodes/127.0.0.1/start_all.sh
启动成功日志
node1 start successfully
node2 start successfully
node0 start successfully
node3 start successfully
2 配置及使用控制台
2.1 下载执行配置脚本
cd ~/fisco && curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh
./download_console.sh
2.2 控制台配置
拷贝控制台配置文件
cp -n console/conf/applicationContext-sample.xml console/conf/applicationContext.xml
拷贝控制台证书
cp nodes/127.0.0.1/sdk/* console/conf/
2.3 启动控制台
./start.sh
启动成功日志
Welcome to FISCO BCOS console(1.1.0)!
Type 'help' or 'h' for help. Type 'quit' or 'q' to quit console.
________ ______ ______ ______ ______ _______ ______ ______ ______
| | \/ \ / \ / \ | \ / \ / \ / \
| $$$$$$$$\$$$$$| $$$$$$| $$$$$$| $$$$$$\ | $$$$$$$| $$$$$$| $$$$$$| $$$$$$\
| $$__ | $$ | $$___\$| $$ \$| $$ | $$ | $$__/ $| $$ \$| $$ | $| $$___\$$
| $$ \ | $$ \$$ \| $$ | $$ | $$ | $$ $| $$ | $$ | $$\$$ \
| $$$$$ | $$ _\$$$$$$| $$ __| $$ | $$ | $$$$$$$| $$ __| $$ | $$_\$$$$$$\
| $$ _| $$_| \__| $| $$__/ | $$__/ $$ | $$__/ $| $$__/ | $$__/ $| \__| $$
| $$ | $$ \\$$ $$\$$ $$\$$ $$ | $$ $$\$$ $$\$$ $$\$$ $$
\$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$
=============================================================================================
[group:1]>
3 部署调用智能合约
3.1 部署HelloWorld合约
为了方便用户快速体验,HelloWorld合约已经内置于控制台中,位于控制台目录下contracts/solidity/HelloWorld.sol
# 在控制台输入以下指令 部署成功则返回合约地址
[group:1]> deploy HelloWorld
contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344
3.2 调用HelloWorld合约
# 查看当前块高
[group:1]> getBlockNumber
1
# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
Hello, World!
# 查看当前块高,块高不变,因为get接口不更改账本状态
[group:1]> getBlockNumber
1
# 调用set设置name
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"
0x21dca087cb3e44f44f9b882071ec6ecfcb500361cad36a52d39900ea359d0895
# 再次查看当前块高,块高增加表示已出块,账本状态已更改
[group:1]> getBlockNumber
2
# 调用get接口获取name变量,检查设置是否生效
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
Hello, FISCO BCOS
# 退出控制台
[group:1]> quit
4 合约编译工具
控制台提供一个专门的编译合约工具,方便开发者将solidity合约文件编译为java合约文件。 使用该工具,分为两步:
- 将solidity合约文件放在contracts/solidity目录下。
- 通过运行sol2java.sh脚本(需要指定一个java的包名)完成编译合约任务。例如,contracts/solidity目录下已有HelloWorld.sol、TableTest.sol、Table.sol合约,指定包名为org.com.fisco,命令如下:
$ cd ~/fisco/console
$ ./sol2java.sh org.com.fisco
运行成功之后,将会在console/contracts/sdk目录生成java、abi和bin目录。
java目录下生成了org/com/fisco/包路径目录。包路径目录下将会生成java合约文件。
参考
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html
网友评论