此文章系列计划记录本人从零开始学习JD Chain
的历程,因为是从零开始,理所当然会有许多理解不够深入的地方,还望各位同好及时指正错误,共同成长。不定期更新,但尽量坚持下去,分享文章也是...
此文章系列计划记录本人从零开始学习JD Chain
的历程,因为是从零开始,理所当然会有许多理解不够深入的地方,还望各位同好及时指正错误,共同成长。不定期更新,但尽量坚持下去,分享文章也是想立个Flag
,让大家监督我的学习进度。
JD Chain
是京东区块链开发团队自主研发的,专门为企业应用设计的区块链框架系统,适用多种通用业务场景。不同于超级账本(Hyperledger Fabric
)生态和企业级以太坊联盟(Enterprise Ethereum Alliance
,EEA
),JD Chain
拥有完全的自主知识产权和充分开放的开源协议(Apache-2.0 License)。在我大中华和美丽国在各个维度频频摩擦,连Docker
这种应用广泛的开源项目都不再能愉快使用的当下,学习了解完全自主可控的开源项目,也算为加速内循环做出微薄贡献(此处应该有掌声^ ^)。
-------------这里是废话的分割线-------------------
为了帮助开发者快速部署,JD Chain
项目在部署脚本中内置了一个可视化管理工具,除了一些必要的配置修改外,大部分如快速实现JDChain
的初始化和peer
节点启动等区块链部署工作只需要在前端页面按照操作提示进行简单的点点点即可,减少用户的各种繁琐操作,简直是我这种懒人的福音。
JD Chain
官网 提供了面向中小型企业和大型企业的两种不同部署模型。其中面向中小企业的最简部署模型为JD Chain
可正常运行的最低配置,在硬件条件满足的情况下,可以支持亿级交易,通常用于Demo
实验或小型应用,也正是下文采用的部署模型。最简部署模型需要部署一个客户端节点、一个网关节点和多个共识节点(共识节点数量依赖于共识算法,本次部署部署了四个共识节点)
从http://ledger.jd.com下载安装包,其中jdchain-peer-1.2.1-xxx.zip
为peer
节点压缩包,jdchain-gateway-1.2.1-xxx.zip
为网关压缩包。
如果peer
节点部署在不同的机器上,采用默认端口安装就可以;
如果peer
节点部署在同一台机器上,需要修改管理工具和peer
节点的默认端口,避免端口冲突导致服务无法启动。还需要做一些假设:
peer
节点的启动端口定义为:7080/7081/7082/7083 JDChain
项目的安装路径为:/export/jdchain
对节点配置进行修改,具体修改如下(如果为不同机器部署,只需执行如下步骤1和步骤2):
切换路径 cd /export/jdchain
解压Peer
节点安装包 unzip jdchain-peer-1.2.1.RELEASE.zip –d peerX
切换路径 cd /export/jdchain/peerX/bin
修改管理工具manager
端口(如下图所示位置) vi manager-startup.sh
修改peer
启动端口和内存大小vi peer-startup.sh
。本机多peer
部署建议把内存配置改小一点避免内存不够用应用程序无法启动或者被系统kill
,下图提示位置建议修改为:-Xmx512m -Xms512m
cd /export/jdchain/peerX/bin
sh manager-startup.sh
jump.out
文件内UI
操作界面方便部署,界面默认的访问端口为 8000。登录管理端UI
界面,点击左侧菜单:公私钥管理->生成公私钥。在弹出的界面中填写相关信息:
OK! 创建完毕!公钥(以及公钥衍生的地址)将作为区块链上各个参与方节点或用户的数字身份(类比于邮箱账号),私钥作为区块链上各个参与方节点或用户的数字身份的密码(类比于邮箱密码,需要妥善保管)
注意事项:
Bftsmart
;peer
节点公钥:选择上一步创建的公钥;peer
节点之间的通信设置了时延,一定要确保四个peer
节点的配置都无误的前提下,在尽可能短的时间内同时点击界面下方的“保存配置信息”按钮。协调方配置信息如下:
参与方配置信息如下:
四个参与方都点击“保存配置信息”后,配置信息会在四个参与方之间共享。界面如下:
注意:一定要确保所有的账本初始化都完成之后,再进行后续操作。初始化完成表示创世区块已经创建。否则在启动节点过程中会出现报错。
peer
节点:点击菜单 账本->查看账本,刚生成的账本会在内容区展示。点击其中的“启动节点”按钮,即可启动peer
节点(见下图)。启动无误后,进度状态会展示为:已启动->已加载。Gateway
节点确定路径 cd /export/jdchain
解压gateway
节点安装包unzip jdchain-gateway-1.2.1.RELEASE.zip –d gw
管理端查看公私钥(即上文在管理端为每个节点创建的公私钥)
查看加密后的口令 cd peer0
→ cd config/keys
→ more *.pwd
修改端口 、添加公私钥cd /export/jdchain/gw/config
→vi gateway.conf
脚本启动gateway
: sh startup.sh
稍等片刻,如果没有修改默认端口配置,可通过http://localhost:18081
页面访问区块链浏览器,界面如下:
大功告成!
注意事项:
keys.default.privkey-password
参数),需要通过登录后台才能查看,即上文中的第4步。3sn
开头,私钥以177
开头。
划重点:以上基于JDChain1.2.1.RELEASE
版本搭建,最新版本JDChain1.3.0.RELEASE
版本已经发布,建议基于最新版本部署,部署过程完全一致。
参考链接: https://zhuanlan.zhihu.com/p/102270006
JD Chain GitHub
项目链接见下,欢迎各位跟我一样先Star
收藏关注起来,共同学习共同成长!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!