国货之光——jdchain1.6.5测试网络部署

简介: 国货之光——jdchain1.6.5测试网络部署

🏠JD Chain

JD Chain是京东数科开源的区块链平台,目标是实现一个面向企业应用场景的通用区块链框架系统,能够作为企业级基础设施,为业务创新提供高效、灵活和安全的解决方案。

JD Chain通过节点实现信息之间的交互,不同类型的节点可以在同一物理服务器上部署运行。JD Chain 中定义了三种不同类型的节点:

1、客户端节点(Client):通过 JD Chain 的 SDK 进行区块链操作的上层应用;
2、网关节点(Gateway):提供网关服务的节点,用于连接客户端和共识节点;
3、共识节点(Peer):共识协议参与方,会产生一致性账本。

一个简单的部署模型如下:

本文对于JD Chain测试网络的部署进行了记录,希望能帮到需要的朋友,本文基于jdchain1.6.5。

jdchain从1.6.3版本起,已支持的共识协议包括:BFTSMART,RAFT,MQ。本文对于这三种共识协议的测试网络分别进行说明。更为详细的安装步骤参考 官方安装文档

🏠准备

👉软件下载

访问 软件下载地址,下载如下安装包

解压文件 jdchain-peer-1.6.5.RELEASE.zip ,进入解压后文件bin目录下,对脚本文件添加可执行权限:

chmod 777 ./*

👉初始化配置参数说明

要搭建一个区块链网络,首先要对其初始化参数进行设置,初始化参数说明如下图所示,后面的所有部署都要用到初始化配置。初始化参数生成后才能进行初始化,进而才能启动各个节点。

不管使用哪种共识协议,部署的总体流程如下:

🏠采用BFT-SMaRt共识协议

👉配置生成

BFT-SMaRt共识协议最少需要4个共识节点,我们就以4个共识节点为例。在上面提到的bin目录下执行如下命令,生成初始化配置:

./jdchain-cli.sh testnet config --algorithm ED25519 --ledger-name mytestnet --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 8809,8819,8829,8839 --gw-port 8086 --output /home/jdchain/nodes/

执行上述指令,输出如下:

成功创建账本初始化配置文件,会在/home/jdchain/nodes/目录下生成4个peer文件夹(peer0、peer1、peer2、peer3),一个网关gw文件夹。后续操作请确保上诉地址端口未被占用。

👉初始化

这里的初始化,主要是共识节点的初始化。初始化配置生成后,分别进入/home/jdchain/nodes中4个peer*/bin目录下(最好分别开四个客户端),修改shell脚本可执行权限,依次执行初始化脚本:

ledger-init.sh

按照提示操作(等待所有初始化脚本启动之后,有一个按任意键继续的提示,所有节点都需要点击一下确认键),如下图:

节点间在初始化过程中会尝试相互连接,指令执行有先后,所以可忽略初始化过程中的连接错误日志。

要注意,忽略不等于关掉客户端(比如xshell客户端)或者Crtl+C杀掉当前的执行程序,而是保持当前客户端不动,任由其报错,然后新开一个客户端(比如xshell客户端),再进入下一个peer目录进行上面的初始化过程。有多少个peer节点,就重新开启多少个客户端,待所有节点都初始化完成后,每个客户端都会输出如下:

成功执行后会在peer*/config目录下生成ledger-binding.conf文件,表示账本初始化完成。

👉启动

依次进入peer*/bin目录下,修改shell脚本可执行权限,执行

peer-startup.sh

启动peer节点。

进入gw/bin目录下,修改shell脚本可执行权限,执行

startup.sh

启动网关。

访问 服务器IP地址:8086 查看区块链浏览器。输入用户名:jdchain,密码:jdchain,会看到区块链浏览器首页:

至此,采用BFT-SMaRt共识协议的JD Chain部署运行完成。

🏠采用Raft共识协议

采用Raft共识协议部署JD Chain测试网络,只有在初始化配置生成的时候有所不同,后面两步,即初始化和启动的过程,与上面完全一样。这里只给出配置生成的命令。由于采用Raft共识协议支持单节点,我们以单节点模式为例:

./jdchain-cli.sh testnet config --algorithm ED25519 --ledger-name rafttestnet --password 123456 --peer-zip ../../jdchain-peer-1.6.5.RELEASE.zip --gw-zip ../../jdchain-gateway-1.6.5.RELEASE.zip --consensus RAFT --peer-size 1 --init-hosts 127.0.0.1 --peer-consensus-ports 10080 --peer-manage-ports 7080 --init-ports 8809 --gw-port 8086 --output /home/jdchain/raftnodes/

🏠采用MQ共识协议

采用MQ共识协议,首先要保证MQ服务可用,这里以RabbitMQ为例,单节点的配置生成的命令如下:

./jdchain-cli.sh testnet config --algorithm ED25519 --ledger-name mqtestnet --password 123456 --peer-zip ../../jdchain-peer-1.6.5.RELEASE.zip --gw-zip ../../jdchain-gateway-1.6.5.RELEASE.zip --mq rabbitmq://amqp://127.0.0.1:5672 --consensus MQ --peer-size 1 --init-hosts 127.0.0.1 --peer-consensus-ports 10080 --peer-manage-ports 7080 --init-ports 8809 --gw-port 8086 --output /home/jdchain/mqnodes/

后面的初始化和启动过程跟上面两小节的步骤完全相同,这里就不再赘述。

作者这水平有限,有不足之处欢迎留言指正

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
99 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
16天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
1月前
|
安全 定位技术 数据安全/隐私保护
|
1月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
1416 1
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
22天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
23天前
|
缓存 自然语言处理 并行计算
基于NVIDIA A30 加速卡推理部署通义千问-72B-Chat测试过程
本文介绍了基于阿里云通义千问72B大模型(Qwen-72B-Chat)的性能基准测试,包括测试环境准备、模型部署、API测试等内容。测试环境配置为32核128G内存的ECS云主机,配备8块NVIDIA A30 GPU加速卡。软件环境包括Ubuntu 22.04、CUDA 12.4.0、PyTorch 2.4.0等。详细介绍了模型下载、部署命令及常见问题解决方法,并展示了API测试结果和性能分析。
882 1
|
1月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
345 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
98 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
52 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
173 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)

热门文章

最新文章