FISCO BCOS之环境搭建

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

你可能感兴趣的:(FISCO BCOS之环境搭建)