WeBASE管理平台快速入门搭建(单群主4节点联盟链+WeBASE-Front)
WeBASE是区块链应用和FISCO BCOS节点之间搭建的中间件平台可以帮助开发者快速构建、测试和部署基于FISCO BCOS的区块链应用,支持智能合约开发模板、合约API管理、账户管理、链上操作记录查询等功能。同时,WeBASE还提供了多样化的安全保障措施,如合约审计、用户权限控制、节点监控等功能,支持多租户部署及多集群管理等特性。这些功能能够帮助开发者降低区块链应用的开发和维护成本,提高应用
(1)WeBASE的介绍:
WeBASE是区块链应用和FISCO BCOS节点之间搭建的中间件平台可以帮助开发者快速构建、测试和部署基于FISCO BCOS的区块链应用,支持智能合约开发模板、合约API管理、账户管理、链上操作记录查询等功能。同时,WeBASE还提供了多样化的安全保障措施,如合约审计、用户权限控制、节点监控等功能,支持多租户部署及多集群管理等特性。这些功能能够帮助开发者降低区块链应用的开发和维护成本,提高应用的安全性和可靠性。
(2)WeBASE的快速入门:
开发者只需要搭建节点和节点前置服务(WeBASE-Front),就可通过WeBASE-Front的合约编辑器进行合约的编辑,编译,部署,调试。
(3)搭建节点:
搭建节点是部署FISCO BCOS私有链的关键步骤。
以搭建单群组FISCO BCOS链为例操作。使用开发部署工具:build_chain.sh脚本在本地搭建一条4节点的FISCO BCOS链,以Ubuntu系统为例操作。
3.1:安装依赖:
开发部署工具 build_chain.sh脚本依赖于openssl, curl,使用以下命令安装脚本所需的依赖:
sudo apt install -y openssl curl
3.2:创建操作目录, 下载安装脚本:
## 创建操作目录fisco
cd ~ && mkdir -p fisco && cd fisco
## 下载脚本build_chain.sh 再给脚本添加执行权限
curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.9.1/build_chain.sh && chmod u+x build_chain.sh
注意:
如果因为网络问题导致长时间无法下载build_chain.sh脚本,请尝试 curl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod u+x build_chain.sh
3.3:搭建单群组4节点联盟链:
使用脚本build_chain.sh在本地地址127.0.0.1搭建一条单群主4节点的FISCO链,4节点指定的服务监听的端口号,包括p2p端口号30300、channel端口号20200和JSON RPC端口号8545。以下命令是搭建单群组4节点联盟链(命令执行成功会输出All completed。如果执行出错,请检查nodes/build.log文件中的错误信息。)(国密版本请执行 bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545 -g -G,其中-g表示生成国密配置,-G表示使用国密SSL连接):
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
-
P2P端口(30300): P2P(Peer-to-Peer)是FISCO BCOS节点之间进行通信的协议,节点通过P2P连接来传输数据和交换信息。
-
Channel端口(20200): FISCO-BCOS支持群组间的数据交互,称为通道(Channel)。Channel端口是用于FISCO-BCOS节点与其他群组间节点进行通信的口,通信采用FISCO-BCOS自主研发的基于Tassl的加密通信协议,具有高度安全性和可靠性。
-
JSON RPC端口(8545): JSON RPC是一种远程过程调用协议,可以在FISCO BCOS节点和其他组件之间进行通信,包括合约部署、合约调用、账户管理等操作。
注意:
确保机器的30300~30303,20200~20203,8545~8548端口没有被占用。
检查一段连续端口范围是否被占用:
(如果输出中有任何结果,则表示该端口范围中的某些端口已被占用。)
netstat -tuln | grep -E "<起始端口号>|<起始端口号+范围>"
通过查找端口占用线程命令,输出结果会显示占用该端口的进程及其进程ID (PID),然后终止占用端口的进程(用实际的进程ID (PID) 替换 `<PID>`,执行命令终止该进程):
sudo kill <PID>
如果需要强制终止进程,可以使用 `-9` 参数:
sudo kill -9 <PID>
3.4:启动FISCO BCOS链:
启动所有节点(启动成功会节点启动成功,否则检查端口是否被占用):
bash nodes/127.0.0.1/start_all.sh
(4)搭建节点前置服务(WeBASE-Front):
节点前置服务(WeBASE-Front)是WeBASE的前端管理界面,提供了合约部署、合约调用、交易查询等一系列的操作。
4.1:前提条件:
安装Java依赖(支持版本Oracle JDK 8 至JDK 14),因为WeBASE-Front使用了Spring Boot框架,而Spring Boot是基于Java语言开发的。因此,安装Java依赖是搭建WeBASE-Front的前提条件。
# 安装默认Java版本(Java 8或以上)
sudo apt install -y default-jdk
# 查询Java版本
java -version
# 通过以下命令查询Java安装的目录,配置Java系统环境
sudo update-alternatives --config java
# 配置JAVA_HOME环境变量
sudo gedit /etc/bash.bashrc
- 添加内容(*路径是通过上一条命令查询到的):
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
# 使之生效
source /etc/bash.bashrc
4.2:下载webase-front安装包,解压:
#下载安装包
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.5/webase-front.zip
#解压安装包
unzip webase-front.zip
#进入webase-front
cd webase-front
4.3: 修改配置文件:拷贝sdk证书文件(build_chain的时候生成的):
将节点所在目录nodes/${ip}/sdk下的所有文件拷贝到当前conf目录,供SDK与节点建立连接时使用(SDK会自动判断是否为国密,且是否使用国密SSL)(链的sdk目录包含了ca.crt, sdk.crt, sdk.key和gm文件夹,gm文件夹包含了国密SSL所需的证书)(只有在建链时手动指定了-G
(大写)时节点才会使用国密SSL)
cp -r /home/主机名/ficos/nodes/${ip}/sdk/* ./conf/
4.4: 服务启动:
命令如下(启动成功会出现:Application() - main run success):
bash start.sh
服务启停命令:
启动: bash start.sh
停止: bash stop.sh
检查: bash status.sh
4.5:访问WeBASE-Front:
默认情况下,WeBASE-Front应用程序会监听5002端口(若服务启动后无异常,但仍然无法访问,可以检查服务器的网络安全策略)。
http://{deployIP}:{frontPort}/WeBASE-Front
#示例:http://localhost:5002/WeBASE-Front
访问成功后, 在WeBASE-Front的管理页面中,我们就可以进行部署区块链合约,执行区块链合约中的智能合约方法,查询合约执行结果,查看最新区块和交易信息,查看节点信息和链信息等操作了。
ps:如果想在虚拟机外的网页启动WeBASE-Front网址:ip:5002/WeBASE-Front
虚拟机ip地址的获取,输入以下命令可查看:
ifconfig
注意:需要保证主机与虚拟机之间的网络是可以ping通才可以在主机上访问WeBASH-Front,如果访问失败,可以通过以下步骤操作让主机与虚拟机相互ping通:
1.将虚拟机设置中的网络适配器中的网络连接改为NAT模式:
2.将编辑中的虚拟网络编辑器上的VMnet8改为NAT模式:
3.配置主机系统(Windows),打开网络共享中心,选择vmnet8(因为配置的是nat模式) ,右键属性,选择IPV4,把IP固定(IP选择的网段要与虚拟机的网段一致),DNS服务器地址(这里我选择了国内三大运营商通用的114.114.114.114,也可以选择Google的8.8.8.8,或者别的DNS地址),最后点确认。
4.完成以上的配置就可以在主机上访问WeBASE-Front了:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)