1、单节点部署(Docker)_健清

1、单节点部署(Docker)

来源:健清

  健清链部署   健清链·ChainMaker具备自主可控、灵活装配、软硬一体、开源开放的突出特点,由北京微芯研究院、清华大学、北京航空航天大学、腾讯、百度和京东等知

1、单节点部署(Docker)
1、单节点部署(Docker)

  健清链部署

  健清链·ChainMaker具备自主可控、灵活装配、软硬一体、开源开放的突出特点,由北京微芯研究院、清华大学、北京航空航天大学、腾讯、百度和京东等知名高校、企业共同研发。取名“健清链”,喻意“长治久安、再创辉煌、链接世界”。

  健清链作为区块链开源底层软件平台,包涵区块链核心框架、丰富的组件库和工具集,致力于为用户高效、精准地解决差异化区块链实现需求,构建高性能、高可信、高安全的新型数字基础设施,同时也是国内首个自主可控区块链软硬件技术体系。

  健清链的应用场景,涵盖供应链金融、碳交易、食品追溯等一系列关乎国计民生的重大领域。

  健清链官网地址

  健清链·ChainMaker秉承开源开放、共建共享的理念,已开放程序源码。“健清链·ChainMaker”坚持自主研发,秉承开源开放、共建共享的理念,面向大规模节点组网、高交易处理性能、强数据安全隐私等下一代区块链技术需求,融合区块链专用加速芯片硬件和可装配底层软件平台,为构建高性能、高可信、高安全的数字基础设施提供新的解决方案。

  并行调度

  在提案-验证整体框架下,支持基于DAG的块内交易并行调度提案和并行验证;调度支持确定性调度和随机调度等多种并行调度算法。

  广域网络

  基于PubSub机制,支持多链隔离下P2P网络的复用与数据隔离; 支持NAT穿透,复杂网络拓扑下的大规模节点组网,支持网络节点动态治理。

  多链架构

  支持并行多链实现不同参与方间的数据隔离; 可根据场景灵活扩展子链以支持业务和吞吐量的需求。

  权限管理

  为链上每个操作定义访问权限,支持细粒度权限管理策略; 结合组织、角色等提供灵活的身份权限配置方案。

  自主可控

  面向世界科技前沿,秉持自主创新原则,汇聚国内顶级工程师和科学家团队,健清链·ChainMaker构建了全球独创的底层技术框架,关键技术模块全部自研,成为国际区块链技术发展的新动能,为国家“新基建”提供自主、可控、安全的区块链数字经济基础设施。独创深度模块化、可装配、高性能并行执行的区块链底层技术架构;

  覆盖国产密码算法、基于国密证书的加密通讯和国产CA证书颁发认证机构。

  开源开放

  自诞生起,健清链践行开源、开放的理念,最大范围联合产、学、研、用各类科研力量,由顶尖高校、知名企业等优势力量共同开发,同时广泛拥抱个人和企业开发者,打造标准规范体系,共建开源开放充满活力的区块链技术生态;

  采用友好的开源协议,开放软件源代码,推动多项技术体系标准化,建立标准化下的开发生态。

  性能领先

  健清链拥有高效并行调度算法、高性能可信安全智能合约执行引擎、流水线共识算法等国际领先的区块链底层技术,具备高并发、低延时、大规模节点组网等先进技术优势,交易吞吐能力可达10万TPS,位居全球领先水平;

  支持基于内存的数据系统,提升交易处理性能。

  灵活装配

  健清链将区块链执行流程标准化、模块化,推进区块链技术从手工作业模式演进到自动装配生产模式,方便用户根据不同的业务需求搭建区块链系统,为技术的规模化应用提供基础;

  可插拔、可分离的自主可控核心框架,可快速接入优势底层模块/单一定制化开发模块。

  健清链简介-核心特色

  基础术语说明

  功能清单说明

  编写语言

  健清链ChainMaker自v1.0.0版本发布以来经过6个版本的迭代,截止v1.2.4版本中已经支持:

  四种合约引擎:支持GASM、WASMER、WXVM、EVM四种合约引擎;四种合约语言:支持Golang、Rust、C++、Solidity四种合约语言;五种共识算法:支持Solo、RAFT、TBFT、HotStuff、dPoS;三种存储引擎:支持LevelDB、RocksDB、MySQL。 在v1.2.x版本中健清链ChainMaker支持go、java、nodejs的链sdk,支持spv轻节点和跨链;支持合约内执行sql语句,合约支持基于paillier的半同态运算和bulletproofs的范围证明;支持区块链浏览器、CMC命令行工具、CA服务管理、chainmaker-cryptogen证书生成工具等。

  至此健清链ChainMaker v1.2.x版本作为区块链底层技术平台,已经在政务、金融、能源及食品溯源等行业得到应用,成为数字经济、数字社会和数字政府建设的基础底座。

  在最新发布的健清链 v2.x版本中,我们将着重在健清链的易用性、稳定性、安全性三方面做更多工作。除丰富产品工具集以外,健清链特有的可装配性将进一步体现出来。

  此次更新的 v2.0.0版本中侧重对数据模型、代码结构的调整,我们进行了如下升级:

  1、对区块、交易等数据结构进行了重构

  章节见:v2.0.0技术文档>技术设计文档>3.数据结构

  升级对数据模型主要做了以下三方面的调整:

  1.1数据类型更准确,更易扩展。比如区块高度字段,在实际中从创世区块(Genesis)高度为0开始递增,不可能为负数,所以将数据类型从int64调整为uint64。再比如合约参数KeyValuePair,之前Value为string类型,传入二进制数据时需要进行hex或base64编码及解码操作,使得交易变大且合约逻辑变复杂,所以本次升级将其改为bytes类型。

  交易数据模型重构。在v1.x版本中,交易请求内容分为多种并使用TxType区分,每种交易请求使用不同的数据结构,并序列化后放入交易的Payload字段。在v2.x中,将合约安装、用户合约调用、系统合约调用、链配置更改、查询链数据、订阅消息等等各种行为都统一为合约调用,只是被调用的合约名、方法名和参数不同,因此可以用统一的Payload并简化TxType。一方面统一了用户行为,另一方面减少了序列化、反序列化的次数。

  为多个数据模型增加了新字段,以适应新的需求的扩展。以交易的Payload对象为例,在原有基础上增加了Limit和Sequence字段,BlockHeader增加了BlockType,SerializedMember增加了MemberType字段等,这些字段都为v2.x中可装配性提供了扩展能力。

  2、身份权限、系统合约等模块代码重构

  在不影响原有功能的前提下,对身份权限、系统合约等模块的代码进行重构,提升代码质量。其中,身份权限模块一方面调整整体接口框架,为之后增加公钥身份、DID身份提供扩展能力;另一方面将原有整体流程中分步鉴权的代码进行收拢,进一步理清鉴权逻辑,并支持根据系统合约的合约名加方法名进行更细粒度权限控制。系统合约模块,一方面根据合约内容对系统合约进行归类,使整体结构更加清晰;另一方面,将合约管理逻辑从原来的合约模块移入系统合约中,与系统合约定位相符。

  3、拆分部分模块为独立项目,并启用go mod代替原有的git submodule

  本次升级中将common、pb、pb-go、protocol、sdk-go作为chainmaker-go的依赖包,以go mod的形式引入,代替原有的git submodule模式。Go mod模式是go语言官方推荐的包管理模式,健清链各组件以go mod包的形式被引入,可以更好的做到依赖包的版本管理,从而方便健清链在可装配性和自定义模块的扩展能力。

  4、增加外部证书兼容

  章节见:v2.0.0技术文档>技术设计文档>9.身份权限管理>9.3权限管理>9.3.4外部证书兼容

  健清链v1.x版本中,若采用数字证书作为用户标识,需要在证书O和OU字段中,附加组织和角色等信息,无法复用参与方原有的数字证书。因此在v2.0.0中,增加了对外部证书的兼容支持,用户可将已有的第三方CA颁发的数字证书作为区块链节点或用户的签名证书,从而支持更灵活易用的证书体系。

  环境依赖

  环境依赖

  测试机器

  2C 2G 30G

  软件依赖

  软件依赖

  注:如有操作过程问题请参考常见问题!!!

  从健清链官网下载源码:https://git.chainmaker.org.cn/chainmaker/chainmaker-go

  各版本源码下载地址

  https://git.chainmaker.org.cn/chainmaker/chainmaker-go/-/tags

  当前为私有仓库,需要先进行账号注册

  下载源码到本地,部署不通版本更改版本号即可v2.0.0 编译证书生成工具 将编译好的,软连接到目录 进入目录,执行脚本生成单链4节点集群配置,存于路径中

  脚本支持生成模式节点证书和配置,以及4/7/10/13/16节点的证书和配置

  关于自动生成的端口说明 通过脚本生成的配置,默认是在单台服务器上部署,故自动生成的端口号,是从一个起始端口号开始依次递增,可以通过命令行参数修改起始端口号。

  主要有2个端口,端口(用于节点互联)和端口(用于客户端与节点通信),起始端口为,起始端口为。

  如果生成4个节点的配置,端口分别为:,端口分别为:

  如果是在多机部署,希望生成固定的端口号,请参考:【多机部署】

  image-20220119154836434

  image-20220119155038647

  见官方文档

  官方文档

  实际生产系统还是用SDK方式

  image-20220119162353500

  image-20220119162412662

  image-20220119162844328

  image-20220119162927155

  image-20220119163137258

  下面还有升级合约,冻结合约,解冻合约,吊销合约,交易等

  具体操作请看官网说明

  下面健清链管理台和区块链浏览器选一即可,也可两个都部署,可以比较差异

  本产品定位为供开源社区区块链开发者,区块链产品经理使用,以便在初步接触健清链时,通过本平台可单机快速部署健清链用于产品体验和测试,并对健清链的技术架构,功能模块有一个初步了解。

  本产品支持私有化部署,详细部署流程参考安装指南。

  版本支持

  目前支持健清链、、版本,因健清链1.X版本和2.X版本底层数据结构不同,目前相互之间不兼容。

  环境依赖

  版本为或以上 版本为或以上

  下载地址:

  https://docs.docker.com/engine/install/https://docs.docker.com/compose/install/ 若已安装,请通过命令查看版本:

  下载地址: https://git.chainmaker.org.cn/chainmaker/management-backend 下载代码:

  启动成功后,浏览器访问即可,如果发现启动过程中有端口被占用的情况,请修改文件中的端口

  http://192.168.88.135:9997

  账号:admin

  密码:a123456

  image-20220119171206490

  登录后什么也没有,需要导入节点证书

  按照官网操作

  如果您已经有正在运行中的链,可将之导入到本管理台进行管理,主要流程如下

  1、需要在证书管理先将该链上的某一组织、节点、用户证书导入到本管理台。

  2、在区块链管理模块,使用所导入的组织、节点、用户信息订阅链。

  3、订阅成功后,您可以通过所配置的节点与链建立联系,并且支持在管理台上部署管理合约,发送交易,通过浏览器查看链上信息

  导入组织证书

  image-20220119171950893

  导入节点证书,两个使用那个都可以

  image-20220120141953746

  image-20220119172612684

  导入用户证书

  image-20220119172808676

  选择区块链管理-订阅区块链

  image-20220119173013328

  image-20220119173036362

  image-20220119173115339

  上面合约为前面部署的合约

  image-20220119173237745

  下图区块信息为上面做的操作

  

  使用合约进行交易

  因为没有方法不能交易,所以添加方法

  image-20220119173514083

  添加三个值

  方法:save

  key:file_hash,file_name,time

  添加的为官方合约定义的方法

  file_hash:ab3456df5799b87c77e7f88

  file_name:chainmaker

  time:6543234 时间戳

  使用的是官网的值

  image-20220119174119983

  image-20220119174426462

  image-20220119174445898

  image-20220119174539993

  环境依赖

  环境依赖

  测试机器

  192.168.88.138

  2C 2G 30G

  软件依赖

  软件依赖

  注:如有操作过程问题请参考常见问题!!!

  从健清链官网下载源码:https://git.chainmaker.org.cn/chainmaker/chainmaker-go

  各版本源码下载地址

  https://git.chainmaker.org.cn/chainmaker/chainmaker-go/-/tags

  当前为私有仓库,需要先进行账号注册

  下载源码到本地,部署不通版本更改版本号即可v2.0.0 编译证书生成工具 将编译好的,软连接到目录 进入目录,执行脚本生成单链4节点集群配置,存于路径中

  脚本支持生成模式节点证书和配置,以及4/7/10/13/16节点的证书和配置

  关于自动生成的端口说明 通过脚本生成的配置,默认是在单台服务器上部署,故自动生成的端口号,是从一个起始端口号开始依次递增,可以通过命令行参数修改起始端口号。

  主要有2个端口,端口(用于节点互联)和端口(用于客户端与节点通信),起始端口为,起始端口为。

  如果生成4个节点的配置,端口分别为:,端口分别为:

  如果是在多机部署,希望生成固定的端口号,请参考:【多机部署】

  image-20220120170358090

  image-20220120170501980

  见官方文档

  拉取合约环境镜像

  导入chainmaker1的ca证书

  image-20220126160647277

  导入chainmaker1的节点证书

  image-20220126160932504

  导入chainmaker1的用户证书

  image-20220126161139998

  后边相同的方法导入chainmaker2、chainmaker3、chainmaker4节点的证书

  导入完毕结果

  image-20220126162515885

  image-20220126162549043

  image-20220126162557716

  选择保存即可

  image-20220126162626792

  image-20220126162647686

  选择区块链管理-chain2-合约管理-部署合约

  image-20220126163210528

  image-20220126163245967

  需要去投票通过才能使用

  image-20220126163304870

  image-20220126163431897

  image-20220126163512991

  image-20220126163850947

  投票成功,也可以使用cmc部署合约(官网说明投票规则为Majority,大于50%投票就生效,就会通过,不需要全部参与投票)

  修改成共识节点后,可以看到节点信息,我猜测需要修改node_id为chainmaker.yml中 node.cert_file证书对应的nodeid为同步节点的nodeid,修改完全部对应的nodeid之后导入同步节点会正常出现同步节点,后边会实验。

  同步节点nodeid路径:certs/node/common1/common1.nodeid

  共识节点nodeid路径:certs/node/consensus1/consensus1.nodeid

  image-20220127090952567

  image-20220127091026829

  证书详解

  image-20220120175610311

  image-20220120175630337

  到管理后台查看合约

  image-20220120175704071

  添加方法,继续沿用上面单节点方法

  添加三个值

  方法:save

  key:file_hash,file_name,time

  image-20220120180148553

  file_hash:ab3456df5799b87c77e7f88

  file_name:chainmaker1

  time:6543234 时间戳

  image-20220120180208295

  官网文档

  环境依赖

  版本为或以上 版本为或以上

  下载地址:

  https://docs.docker.com/engine/install/https://docs.docker.com/compose/install/ 若已安装,请通过命令查看版本:

  前置环境

  浏览器部署需要依赖一个运行环境。具体的环境安装部署请参考对应的文档《快速入门》。

  下载地址: https://git.chainmaker.org.cn/chainmaker/chainmaker-explorer

  代码版本:v2.1.0

  浏览器配置文件:它的配置内容包括四部分,以下是详细说明:

  image-20220120113450043

  image-20220120180926539

  修改完文件后,启动容器,命令如下执行

  访问:http://192.168.88.135:8887

  image-20220120115047932

  填写信息上面的单节点的信息以及上传证书

  ca.crt admin1.sign.crt admin1.sign.key

  image-20220121092147125

  image-20220120115440684

  image-20220120115448311

  image-20220121092644046

  选择订阅

  填写完毕就行

  image-20220121092832895

  image-20220121092905967

本文由健清整理发布,转载请注明出自http://www.haijye.com/news/12645.shtml

上一篇:健清汽车质量如何 用过几年后 健清车主都这样说下一篇:1、单节点部署(Docker)

相关文章

图文资讯

机械五金行业新闻

友情链接: 健清 讯联 事龙 凡启 0 0 事龙 0 0 嘉欧 0 健清 0 0 0