FISCO BCOS 构建区块链部署合约

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
FISCO BCOS 构建区块链部署合约_第1张图片
部署链及节点参数,多群组部署

  • ./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	#启动控制台

控制制台文件
FISCO BCOS 构建区块链部署合约_第2张图片

控制台使用
[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 # 退出控制台

你可能感兴趣的:(FISCO,BCOS)