jdchain安装部署
一、安装包
选择并下载指定版本的jdchain-peer*.zip
、jdchain-gateway*.zip
安装包。
安装包下载地址:https://blockchain-jd-com.github.io/#/download
这是我本地下载好的安装包
二、安装包上次到虚拟机,如果是部署到服务器上面,就上次到服务器,就是linux系统上面
peer
节点安装包目录结构
jdchain-peer-${version}.zip
,解压完后的安装包结构如下:
bin
相关命令操作目录,使用前请配置执行权限jdchain-cli.sh
命令行工具ledger-init.sh
账本初始化工具peer-startup.sh
节点启动脚本peer-shutdown.sh
节点关闭脚本
config
配置init
初始化配置ledger.init
账本配置local.conf
本地配置bftsmart
bftsmart.config
BFT-SMaRt
共识初始化配置
raft
raft.config
Raft
共识初始化配置
mq
mq.config
MQ
共识初始化配置
log4j2-peer.xml
log4j2
配置,可根据实际情况修改替换application-peer.properties
spring
配置ledger-binding.conf
账本配置,账本初始化成功后会自动生成
libs
项目运行依赖第三方及非system
依赖包system
项目运行系统包runtime
解压时不存在,存放运行时数据manager
管理工具运行包logs
日志
网关安装包目录结构
jdchain-gateway-${version}.zip
,解压完后的安装包结构如下:
bin
startup.sh
启动脚本shutdown.sh
停止脚本
config
gateway.conf
网关配置log4j2-gw.xml log4j2
配置,可根据实际情况修改替换application-gw.properties
spring
配置
lib
运行时所需jar包logs
日志runtime
解压时不存在,存放运行时数据
三、配置生成
解压到指定路径下
unzip jdchain-peer-1.6.5.RELEASE.zip -d /opt/softwares/jdchain-peer
进入解压后文件bin
目录下,修改该目录下.sh
可执行权限
如创建四节点,单网关基于BFT-SMaRt
共识、KEYPAIR
身份认证模式的单机运行网络:
./jdchain-cli.sh testnet config --algorithm ED25519 --ledger-name testnet --password 123456 --peer-zip ../../jdchain-peer-1.6.5.RELEASE.zip --gw-zip ../../jdchain-gateway-1.6.5.RELEASE.zip --consensus BFTSMART --peer-size 4 --init-hosts 127.0.0.1 --peer-hosts 127.0.0.1 --peer-consensus-ports 10080,10082,10084,10086 --peer-manage-ports 7080,7081,7082,7083 --init-ports 8800,8810,8820,8830 --gw-port 8080 --output /home/imuge/jd/nodes/
执行上述指令,输出如下:
成功创建账本初始化配置文件,会在/home/nodes
目录下生成四个peer
,一个网关gw
。 后续操作会使用127.0.0.1:8800 127.0.0.1:8810 127.0.0.1:8820 127.0.0.1:8830
这四个地址执行初始化账本,
使用127.0.0.1:7080 127.0.0.1:7081 127.0.0.1:7082 127.0.0.1:7082
作为peer
节点的管理服务,
使用127.0.0.1:10080 127.0.0.1:10081 127.0.0.1:10082 127.0.0.1:10083 127.0.0.1:10084 127.0.0.1:10085 127.0.0.1:10086 127.0.0.1:10087
作为peer
节点的共识服务,使用8080
端口作为网关服务。
后续操作请确保上诉地址端口未被占用。
我们进入 /home/imuge/jd/nodes/目录下观察一下
可以看到四个peer 和一个 网关
四、初始化
分别进入四个peer*/bin
目录下,修改脚本可执行权限,依次执行
ledger-init.sh
执行初始化脚本的时候报错了
结果从早上找问题到晚上,检查过防火墙 telnet 包括重启xinetd然后并没有什么卵用,我尝试过更换centos7的镜像,结果还是一样的问题。最终我发现了怎么解决了
注意 注意 注意了!
这个时候需要你开4个终端连接,分别到peer0 peer1 peer2 peer3的bin目录下面执行初始化脚本,在执行的过程中都是这样的错误,当你把全部都执行的时候,初始化成功了
另外两个我就不截图出来了,调了一天,调到怀疑人生去,结果就是这么一个小细节,在官网上面可能没有讲到很清楚,容易让人误解。
四、启动
初始化成功后,依次进入peer*/bin
目录下,执行
我们也可以进来看看每个peer的启动日志,我这里拿一个来举例
我们再进入到网关gw/bin的目录下执行
startup.sh
首先进入gw的目录下,对bin下面的.sh文件赋予执行权限
chmod +x *.sh
可以看一下网关的日志输出
打开浏览器 ip:8080访问,我这里是这个地址http://192.168.38.129:8080/login
账号:jdchain
密码:jdchain