centos8 部署区块链
搭建单群组FISCO BCOS链
yum install openssl,curl #脚本依赖下载
cd ~ && mkdir -p fisco && cd fisco
curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.3.0/build_chain.sh && chmod u+x build_chain.sh #部署文件下载
bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545 #部署端口
bash nodes/127.0.0.1/start_all.sh #启动所有节点
ps -ef | grep -v grep | grep fisco-bcos #查看启动的进程
tail -f nodes/127.0.0.1/node0/log/log* | grep connected #输出日志,查看节点node0链接的节点数
tail -f nodes/127.0.0.1/node0/log/log* | grep +++ #检查是否在共识
FISCO BCOS链生成文件夹nodes
部署链及节点参数,多群组部署
- ./build_chain.sh -f ipconf -p 30300,20200,8545 -s Mysql -o node_three
- -f 配置文件 -p 端口 -s 数据库 -o 文件夹名 -l 地址:节点数量
- 多节点配置文件(ipconf)信息
配置及使用控制台
java 安装
#下载JAVA安装包
cd /usr/local/
curl -O https://mirrors.huaweicloud.com/java/jdk/8u181-b13/jdk-8u181-linux-x64.tar.gz
tar -xzvf jdk-8u181-linux-x64.tar.gz
#配置环境
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
source /etc/profile #配置文件重新加载
控制台配置
cd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v1.0.9/download_console.sh && bash download_console.sh #按制台部署文件下载
cp -n console/conf/applicationContext-sample.xml console/conf/applicationContext.xml #控制台配置文件,channle端口20200,改为实际值
cp nodes/127.0.0.1/sdk/* console/conf/ #控制台证书,使用链证书
cd ~/fisco/console && bash start.sh #启动控制台
控制制台文件
控制台使用
[group:1]>
getNodeVersion #获取版本信息
getPeers #获取节点信息
关键字 | 说明 | 关键字 | 说明 |
---|---|---|---|
getCode | 查询代码 | getPbftView | 获取pbft视图 |
getPendingTxSize | 当前请求大小 | ||
getConsensusStatus | 共识状态 | getSyncStatus | 获取系统信息含节点 |
getContractStatus | 查询合约信息 | getDeployLog | 部署日志 |
getNodeVersion | 获取版本信息 | getSystemConfigByKey | 查询系统配置 |
getGroupList | 获取组列表 | getGroupPeers | 查询组节点信息 |
getPeers | 获取节点信息 | getNodeIDList | 获取节点ID |
getSealerList | 查询共识节点列表 | getObserverList | 服务器观测列表 |
getBlockByHash | 查询块信息 | getBlockNumber | 块高 |
getBlockHashByNumber | 获取块Hash | getBlockByNumber | 获取块信息 |
getPendingTransactions | 查询当前交易 | getTransactionByBlockHashAndIndex | 查询交易 |
getTotalTransactionCount | 查询交易总数 | getTransactionByBlockNumberAndIndex | 查询交易 |
getTransactionReceipt | 查询交易凭证 | getTransactionByHash | 查询交易 |
部署及调用HelloWorld合约
合约调用指定位置:console/contracts/solidity/HelloWorld.sol
#在控制台输入以下指令 部署成功则返回合约地址
[group:1]> deploy HelloWorld #合约部署
contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344
[group:1]> getBlockNumber #查看当前块高
1
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get #调用get获取name,指定合用地址
Hello, World!
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"
0x21dca087cb3e44f44f9b882071ec6ecfcb500361cad36a52d39900ea359d0895 #调用set设置name,新的合约编写
[group:1]> getBlockNumber #块高增加,账本状态已更改
2
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get #调用get接口获取name变量,检查设置是否生效
Hello, FISCO BCOS
[group:1]> quit # 退出控制台