一、联盟链
1. 安装依赖
## macos 环境安装依赖brew install openssl curl## ubuntu 环境安装依赖sudo apt install -y openssl curl## centos 环境安装依赖sudo yum install -y openssl openssl-devel
2. 搭建联盟链
# 使用 -l 和 -p 生成单机联盟链本地使用-e ./fisco-bcosbash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
执行成功后,我们将看到当前目录下生成了一个 nodes 目录。nodes 目录下存在两个目录,分别是 127.0.0.1 和 cert ,我们进入 127.0.0.1 目录 ,执行执行 bash start_all.sh , 看到输出 “start successfully” 表示节点启动成功。至此,一切顺利的话,我们的链就创建并启动成功了
检查是否启动成功
ps -ef |grep -v grep |grep fisco-bcos
检查日志目录的连接
tail -f node0/log/log* | grep connected
检查共识连接
tail -f node0/log/log* | grep +++
扩容一个新节点
1.将其中主节点的cert 复制粘贴到新的文件夹下 fisco-new
//如果复制之后fisco_new文件夹里没有cert就重新启动一下服务器cp -r fisco/nodes/cert fisco-new/
2.下载gen_code_cert.sh 来生成新的节点
cd fisco-newcurl -#LO https://raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master-2.0/tools/gen_node_cert.shmkdir 192.168.0.164
3.生成新节点的证书(-c为生成节点所提供的ca路径,agency为机构名,-o为将生成的节点目录名)
//创建目录mkdir 192.168.0.164//可能会报没有权限,直接添加权限chmod u+x *.sh//生成新节点的证书./gen_node_cert.sh -c ./cert/agency -o 192.168.0.164/node_new
4.将主节点其中一个节点的config.ini、start.sh、stop.sh 复制到 (新节点)node_new文件夹中
cd 192.168.0.164cp /home/fisco/nodes/127.0.0.1/node0/config.ini /5.home/fisco/nodes/127.0.0.1/node0/start.sh /home/fisco/nodes/127.0.0.1/node0/stop.sh node_new/
5.修改node4/config.ini。对于[rpc]模块,修改channel_listen_port=20204和jsonrpc_listen_port=8549;对于[p2p]模块,修改listen_port=30304并在node.中增加自身节点信息;
vim config.ini
6.启动报错修改 vim start.sh 到自己的目录
执行node4/start.sh启动节点;
7.确认node4与其他节点连接已经建立,加入网络操作完成。
tail -f node_new/log/log*| grep "connected count"
8. 节点加入群组 (获取node4的nodeid)
cat node4/conf/node.nodeid
得到类似下面的字符串就是nodeid,nodeid是节点公钥的16进制表示,国密请执行cat node4/conf/gmnode.nodeid
9.使用控制台将node4加入群组1
使用addObserver将node4作为观察节点加入群组1
使用addSealer将node4作为共识节点加入群组1
3. -e 使用存在的 fisco 二进制生成单机联盟链cp -r fisco/nodes/cert fisco-new/
上面所说的,如果测试的话,需要经常把链删除并重建,每次去 github 拉取,网络好的话不会有问题,网络慢的话就要等很久。所以这我们可以使用已经存在的二进制进行链的搭建。在 fisco 目录下创建一个新的目录,名为 bin, 然后把 nodes/127.0.0.2/fisco-bcos 这个二进制放到 bin 目录中,然后删除 fisco 目录下的 nodes ( 如果没有删除的话,执行 build_chain.sh 会提示 nodes 目录已存在) 。之后目录结构如下
执行如下命令,使用已存在的 fisco-bcos 二进制生成链节点。执行成功,我们可以注意到,输出的信息中没有 Downloading 字样,表明 build_chain.sh 没有去 github 拉取 fisco-bcos 二进制。
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -e bin/fisco-bcos
4.使用 -g 生成国密节点
首先,删除 fisco/nodes 目录,然后执行如下命令。
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -e bin/fisco-bcos -g
链生成成功,查看 nodes/127.0.0.2/node0/config.ini 文件,可以观察到 sm_crypto 这个参数为 true, 表示当前节点为国密节点。
5. 使用 -v 参数指定版本
因为兼容性的考虑,fisco-bcos 二进制高版本兼容低版本的配置。这里,我们使用 fisco-bcos v2.7.2 的二进制,配置兼容版本为 v2.5.0
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -v v2.5.0 -e bin/fisco-bcos
执行成功,进入 nodes/127.0.0.2/node0 目录,查看 config.ini 文件,可以看到 supported_version 字段值为 2.5.0。 在 fisco/nodes/127.0.0.2 目录下,执行 ./fisco-bcos -v , 可以看到输出的二进制版本为 v2.7.2。
6.使用 -f 参数指定 ip list 文件, 生成多机节点
当需要生成多个主机的节点时,使用命令行方式难免显得复杂,使用文件指定 ip list 的方式,会显得精简很多。首先删除 fisco 目录下的 nodes 文件夹。之后创建文件 iptable,内容如下。其中 “agency1 1,2″ 这个值的具体作用,新手朋友可以暂时不用关注,在我后续的 console 使用文章中会有讲解。
iptable 文件内容
127.0.0.2:4 agency1 1,2 30300,20200,8545
127.0.0.3:4 agency1 1,2 30300,20200,8545之后执行如下命令生成节点。
bash build_chain.sh -f iptable -e bin/fisco-bcos
进入到 nodes 目录,即可看到生成两个节点文件夹 127.0.0.2, 127.0.0.3
7. 使用 -d 生成 docker 节点
首先删除 fisco 目录下的 nodes 目录,然后执行如下命令 ( 因 macos 暂不支持 docker 部署,所以这里使用 centos 进行演示 )
bash build_chain.sh -l 127.0.0.2:4 -p 30300,20200,8545 -d
执行成功,节点生成成功。对比 nodes_backup/127.0.0.1/node0/start.sh 和 nodes/127.0.0.2/node0/start.sh 文件,文件可以发现脚本的启动方式一个为 docker ,一个为非 docker。具体可参考 FISCO 官网
二、配置及使用控制台
1、准备依赖
- 安装java
sudo apt install -y default-jdk
- 下载 Console控制台
curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.8.0/download_console.sh && bash download_console.sh
- 解压Console
tar zxvf console.tar.gz
- 拷贝控制台配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
- 配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf/
- 启动并使用控制台
#进入到console目录bash start.sh
输出下述信息表明启动成功 否则请检查conf/config.toml中节点端口配置是否正确
- 用控制台获取信息
#获取客户端版本信息
getNodeVersion
获取节点信息
getPeers
部署智能合约
在fisco/console/contracts/solidity目录添加智能合约文件,使用deploy 文件名启动
执行智能合约
三、WeBASE-Front安装使用
1.下载安装包
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.4/webase-front.zip
2.解压
unzip webase-front.zipcd webase-front
3.拷贝sdk证书文件(build_chain的时候生成的)
cp -rf nodes/127.0.0.1/sdk/* webase-front/conf/
4.服务启停
启动: bash start.sh停止: bash stop.sh检查: bash status.sh