一种Fabric智能合约更新通道配置的方法技术

技术编号:27360843 阅读:16 留言:0更新日期:2021-02-19 13:42
本发明专利技术公开了一种Fabric智能合约更新通道配置的方法,包括以下步骤:构建一个能与Peer节点的链码容器进行交互的Web App应用程序;通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置;更改区块链的区块的切割参数;调用链码,在通道中更新通道配置;调用链码,在通道上对配置更新进行签名背书;通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。该方法能改进Hyperledger Fabric区块链网络的使用效率,降低Fabric智能合约的使用难度,并且提升了Hyperledger Fabric区块链网络的可靠性。Fabric区块链网络的可靠性。Fabric区块链网络的可靠性。

【技术实现步骤摘要】
一种Fabric智能合约更新通道配置的方法


[0001]本专利技术涉及区块链
,具体涉及一种Fabric智能合约更新通道配置的方法。

技术介绍

[0002]在Hyperledger Fabric区块链网络中,所谓通道就是一个私有的区块链覆盖物,可实现数据隔离和机密性。每一个通道都有自己的分类帐,这个分类账在通道所拥有的所有组织的对等方之间共享,并且交易的双方必须通过通道进行身份验证才能与其进行交互。通道由配置块进行定义。
[0003]直到现在,Hyperledger官方推荐的更新通道配置的方法仍然是使用configtxlater和jq这样的命令行工具来完成。而使用configtxlater和jq命令行工具来更新通道的配置相当繁琐,且极易出错。目前业界也没有很好的办法来实现快速且简单的更新通道的配置的方法。

技术实现思路

[0004]为了解决上述技术问题,本专利技术提供了一种Fabric智能合约更新通道配置的方法,能改进Hyperledger Fabric区块链网络的使用效率,降低Fabric智能合约的使用难度,并且提升了Hyperledger Fabric区块链网络的可靠性。
[0005]为了达到上述技术效果,本专利技术提供了如下技术方案:
[0006]一种Fabric智能合约更新通道配置的方法,包括以下步骤:
[0007](1)构建一个能与Peer节点的链码容器进行交互的Web App应用程序;
[0008](2)通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置;
[0009](3)更改区块链的区块的切割参数;
[0010](4)调用链码,在通道中更新通道配置;
[0011](5)调用链码,在通道上对配置更新进行签名背书;
[0012](6)通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。
[0013]进一步的技术方案为,步骤(1)中所述Web App应用程序可以是Docker容器的部署和运行形式,也可以是操作系统守护进程的运行形式;所述Web App应用程序可以访问和调用Peer节点的链码程序。
[0014]进一步的技术方案为,步骤(1)中所述Web App应用程序选用Couchdb作为后端存储数据库,且需要与Peer节点的分类账Couchdb构建实时数据同步的通信方式,如果Peer节点的分类账存储方案选用了LevelDB,那么Web App应用程序还应包含从LevelDB数据到Couchdb数据的转换模块。
[0015]进一步的技术方案为,步骤(2)中所述Web App应用程序访问链码,检索分类账,获取到最新的通道配置块,获取到最新的通道配置块数据后,对此数据进行数据转换,也即默
认的Protobuf格式转换为JSON数据格式,转换后的JSON数据以已读的方式显示在Web App应用程序的用户界面上,以便用户能根据的需求修改配置,对任意配置项进行增删改操作。
[0016]进一步的技术方案为,步骤(3)中更改区块链的区块的切割参数包括:
[0017](1)absolute_max_bytes:区块应具有的最大大小,也即任意区块都不会大于absolute_max_bytes;
[0018](2)max_message_count:区块应具有的最大交易数,也即不会出现超过max_message_count个交易的区块;
[0019](3)preferred_max_bytes:区块的首选大小,也即如果在preferred_max_bytes下构造一个块,那么将会提前切割一个区块,并且大于该大小的交易将出现在另一个块中;
[0020](4)batch_timeout:在第一个交易到达之后,在切割一个区块之前等待其他交易的时间。
[0021]进一步的技术方案为,步骤(4)中会对步骤(2)中的JSON数据创建一个副本,然后将此JSON数据重新编码为Protobuf数据格式。
[0022]进一步的技术方案为,步骤(4)是通过Web App调用链码,利用Protobuf数据在通道上进行相应的更新,自动实现了必要的header头部添加信息的过程,以及信封消息包装的过程。
[0023]进一步的技术方案为,步骤(5)中调用链码是通过Web App调用链码。
[0024]与现有技术相比,本专利技术具有如下有益效果:本专利技术为企业用户在部署和运营Fabric智能合约网络时简化智能合约更新通道配置的过程,减少出错影响Fabric智能合约网络的稳定性,提升了区块链整体网络的可靠性。
附图说明
[0025]图1为Fabric智能合约更新通道配置的方法的整体结构示意图;
[0026]图2为Fabric智能合约更新通道配置的方法的流程示意图。
具体实施方式
[0027]下面结合附图对本专利技术作进一步的说明。本专利技术列举的实施例并不限制本公开,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本公开的保护范围内。
[0028]本专利技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本专利技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0029]如图1所示,是本专利实施例的一种Fabric智能合约更新通道配置的方法的整体结构示意图。其整体结构由Web应用和多个Peer节点构成的Fabric智能合约网络共同构成。
[0030]其中,Web应用连接到Fabric智能合约网络中的任意一个Peer节点。
[0031]如图2所示,是本专利实施例的一种Fabric智能合约更新通道配置的方法的流程示意图。
[0032]实施例1
[0033]一种Fabric智能合约更新通道配置的方法,其步骤包括:
[0034]步骤1,构建一个能与Peer节点的链码容器进行交互的Web App应用程序。
[0035]其中,Web App应用程序可以是Docker容器或其它容器的部署和运行形式,也可以是操作系统守护进程的运行形式。
[0036]其中,Web App应用程序可以访问和调用Peer节点的链码程序。
[0037]其中,Web App应用程序选用Couchdb作为后端存储数据库,且需要与Peer节点的分类账Couchdb构建实时数据同步的通信方式。如果Peer节点的分类账存储方案选用了LevelDB,那么Web App应用程序还应包含从LevelDB数据到Couchdb数据的转换模块。
[0038]步骤2,通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置。
[0039]其中,Web App应用程序访问链码,检索分类账,获取到最新本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Fabric智能合约更新通道配置的方法,其特征在于,包括以下步骤:(1)构建一个能与Peer节点的链码容器进行交互的Web App应用程序;(2)通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置;(3)更改区块链的区块的切割参数;(4)调用链码,在通道中更新通道配置;(5)调用链码,在通道上对配置更新进行签名背书;(6)通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。2.根据权利要求1所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(1)中所述Web App应用程序可以是Docker容器的部署和运行形式,也可以是操作系统守护进程的运行形式;所述Web App应用程序可以访问和调用Peer节点的链码程序。3.根据权利要求1所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(1)中所述Web App应用程序选用Couchdb作为后端存储数据库,且需要与Peer节点的分类账Couchdb构建实时数据同步的通信方式,如果Peer节点的分类账存储方案选用了LevelDB,那么Web App应用程序还应包含从LevelDB数据到Couchdb数据的转换模块。4.根据权利要求1所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(2)中所述Web App应用程序访问链码,检索分类账,获取到最新的通道配置块,获取到最新的通道配置块数据后,对此数据进行数据转换,将默认的Protobuf格式转换为JSON数据格式,转换后的JSON数据以已读...

【专利技术属性】
技术研发人员:李强王凤琴
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1