PS:
因为我开发时候要用到fisco和webase-front,避免官方文档粘贴,
因此直接整理下面的笔记。开发的时候,好粘贴。
1.搭建4节点联盟链
前提
curl 一种命令行工具
apt install -y openssl curl
创建操作目录, 下载安装脚本
cd ~ && mkdir -p fisco && cd fisco
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
搭建4节点联盟链
bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
其中-p选项指定起始端口,分别p2p_port,channel_port,jsonrpc_port
启动4节点联盟链
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
检查是否存在共识
tail -f nodes/127.0.0.1/nodes0/log/log* | grep +++
2. 搭建webase-front节点前置平台
# 拉取代码
git clone https://gitee.com/WeBank/WeBASE-Front.git
# 编译代码
cd WeBASE-front
chmod +x ./gradlew && ./gradlew build -x test
构建完成后,会在根目录WeBASE-Front下生成已编译的代码目录dist。
# 修改配置
cp -r dist/conf_template dist/conf 拷贝模版
cp ~/fisco/nodes/127.0.0.1/sdk/* dist/conf/ 拷贝证书文件
vim dist/conf/application.yml 修改配置
spring:
datasource:
url: jdbc:h2:file:./h2/webasefront;DB_CLOSE_ON_EXIT=FALSE // 默认H2库为webasefront,建议修改数据库存放路径
...
server:
port: 5003 // 服务端口
context-path: /WeBASE-Front
sdk:
...
ip: 127.0.0.1 // 连接节点的监听ip
channelPort: 20200 // 连接节点的链上链下端口
certPath: conf // sdk证书的目录,默认为conf /PS
constant:
keyServer: 127.0.0.1:5004 // 密钥服务的IP和端口(WeBASE-Node-Manager服务或者WeBASE-Sign服务,不同服务支持的接口不同),如果作为独立控制台使用可以不配置
aesKey: EfdsW23D23d3df43 // aes加密key(16位) 如启用,各互联的子系统的加密key需保持一致
transMaxWait: 30 // 交易最大等待时间
monitorDisk: / // 要监控的磁盘目录,配置节点所在目录(如:/data)
monitorEnabled: true // 是否监控数据,默认true
nodePath: /fisco/nodes/127.0.0.1/node0 //配置所连节点的绝对路径,用于监控节点配置与日志 /PS
...
# 在dist目录下(下面必须进入dist目录启动)
启动: bash start.sh
停止: bash stop.sh
检查: bash status.sh
# 查看日志,启动之后生成log目录
cat log/*.log | grep run.*
# 访问控制台
示例:http://localhost:5002/WeBASE-Front
3. 部署并使用合约
我们在webase-front平台,随便选一个合约演示如何上传并部署合约文件:
找到合约管理 -> 测试用户: 创建3个测试用户,名称分别是merchant、rider、consumer。
在合约管理 -> 合约IDE: 新建WmTrace目录,点击文件上传按钮,将该包下面的合约文件,全部上传。
在合约IDE页面,选中Trace合约,合约参数输入上面创建的3个用户地址-> 点击部署 -> 后出现如下页面即可。