此文章系列计划记录本人从零开始学习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/7083JDChain项目的安装路径为:/export/jdchain对节点配置进行修改,具体修改如下(如果为不同机器部署,只需执行如下步骤1和步骤2):
cd /export/jdchainPeer节点安装包 unzip jdchain-peer-1.2.1.RELEASE.zip –d peerXcd /export/jdchain/peerX/binmanager端口(如下图所示位置) vi manager-startup.sh 
peer启动端口和内存大小vi peer-startup.sh。本机多peer部署建议把内存配置改小一点避免内存不够用应用程序无法启动或者被系统kill,下图提示位置建议修改为:-Xmx512m -Xms512m

cd /export/jdchain/peerX/binsh manager-startup.shjump.out 文件内UI操作界面方便部署,界面默认的访问端口为 8000。登录管理端UI界面,点击左侧菜单:公私钥管理->生成公私钥。在弹出的界面中填写相关信息:
OK! 创建完毕!公钥(以及公钥衍生的地址)将作为区块链上各个参与方节点或用户的数字身份(类比于邮箱账号),私钥作为区块链上各个参与方节点或用户的数字身份的密码(类比于邮箱密码,需要妥善保管)
注意事项:
Bftsmart;peer节点公钥:选择上一步创建的公钥;peer节点之间的通信设置了时延,一定要确保四个peer节点的配置都无误的前提下,在尽可能短的时间内同时点击界面下方的“保存配置信息”按钮。协调方配置信息如下:

参与方配置信息如下:

四个参与方都点击“保存配置信息”后,配置信息会在四个参与方之间共享。界面如下:

注意:一定要确保所有的账本初始化都完成之后,再进行后续操作。初始化完成表示创世区块已经创建。否则在启动节点过程中会出现报错。
peer节点:点击菜单 账本->查看账本,刚生成的账本会在内容区展示。点击其中的“启动节点”按钮,即可启动peer节点(见下图)。启动无误后,进度状态会展示为:已启动->已加载。
Gateway节点cd /export/jdchaingateway节点安装包unzip jdchain-gateway-1.2.1.RELEASE.zip –d gwcd peer0 → cd config/keys → more *.pwdcd /export/jdchain/gw/config→vi gateway.confgateway: sh startup.shhttp://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收藏关注起来,共同学习共同成长!

如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!