CN112367194A - 一种Fabric智能合约更新通道配置的方法 - Google Patents
一种Fabric智能合约更新通道配置的方法 Download PDFInfo
- Publication number
- CN112367194A CN112367194A CN202011165583.5A CN202011165583A CN112367194A CN 112367194 A CN112367194 A CN 112367194A CN 202011165583 A CN202011165583 A CN 202011165583A CN 112367194 A CN112367194 A CN 112367194A
- Authority
- CN
- China
- Prior art keywords
- block
- channel configuration
- web app
- updating
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种Fabric智能合约更新通道配置的方法,包括以下步骤:构建一个能与Peer节点的链码容器进行交互的Web App应用程序;通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置;更改区块链的区块的切割参数;调用链码,在通道中更新通道配置;调用链码,在通道上对配置更新进行签名背书;通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。该方法能改进Hyperledger Fabric区块链网络的使用效率,降低Fabric智能合约的使用难度,并且提升了Hyperledger Fabric区块链网络的可靠性。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种Fabric智能合约更新通道配置的方法。
背景技术
在Hyperledger Fabric区块链网络中,所谓通道就是一个私有的区块链覆盖物,可实现数据隔离和机密性。每一个通道都有自己的分类帐,这个分类账在通道所拥有的所有组织的对等方之间共享,并且交易的双方必须通过通道进行身份验证才能与其进行交互。通道由配置块进行定义。
直到现在,Hyperledger官方推荐的更新通道配置的方法仍然是使用configtxlater和jq这样的命令行工具来完成。而使用configtxlater和jq命令行工具来更新通道的配置相当繁琐,且极易出错。目前业界也没有很好的办法来实现快速且简单的更新通道的配置的方法。
发明内容
为了解决上述技术问题,本发明提供了一种Fabric智能合约更新通道配置的方法,能改进Hyperledger Fabric区块链网络的使用效率,降低Fabric智能合约的使用难度,并且提升了Hyperledger Fabric区块链网络的可靠性。
为了达到上述技术效果,本发明提供了如下技术方案:
一种Fabric智能合约更新通道配置的方法,包括以下步骤:
(1)构建一个能与Peer节点的链码容器进行交互的Web App应用程序;
(2)通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置;
(3)更改区块链的区块的切割参数;
(4)调用链码,在通道中更新通道配置;
(5)调用链码,在通道上对配置更新进行签名背书;
(6)通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。
进一步的技术方案为,步骤(1)中所述Web App应用程序可以是Docker容器的部署和运行形式,也可以是操作系统守护进程的运行形式;所述Web App应用程序可以访问和调用Peer节点的链码程序。
进一步的技术方案为,步骤(1)中所述Web App应用程序选用Couchdb作为后端存储数据库,且需要与Peer节点的分类账Couchdb构建实时数据同步的通信方式,如果Peer节点的分类账存储方案选用了LevelDB,那么Web App应用程序还应包含从LevelDB数据到Couchdb数据的转换模块。
进一步的技术方案为,步骤(2)中所述Web App应用程序访问链码,检索分类账,获取到最新的通道配置块,获取到最新的通道配置块数据后,对此数据进行数据转换,也即默认的Protobuf格式转换为JSON数据格式,转换后的JSON数据以已读的方式显示在Web App应用程序的用户界面上,以便用户能根据的需求修改配置,对任意配置项进行增删改操作。
进一步的技术方案为,步骤(3)中更改区块链的区块的切割参数包括:
(1)absolute_max_bytes:区块应具有的最大大小,也即任意区块都不会大于absolute_max_bytes;
(2)max_message_count:区块应具有的最大交易数,也即不会出现超过max_message_count个交易的区块;
(3)preferred_max_bytes:区块的首选大小,也即如果在preferred_max_bytes下构造一个块,那么将会提前切割一个区块,并且大于该大小的交易将出现在另一个块中;
(4)batch_timeout:在第一个交易到达之后,在切割一个区块之前等待其他交易的时间。
进一步的技术方案为,步骤(4)中会对步骤(2)中的JSON数据创建一个副本,然后将此JSON数据重新编码为Protobuf数据格式。
进一步的技术方案为,步骤(4)是通过Web App调用链码,利用Protobuf数据在通道上进行相应的更新,自动实现了必要的header头部添加信息的过程,以及信封消息包装的过程。
进一步的技术方案为,步骤(5)中调用链码是通过Web App调用链码。
与现有技术相比,本发明具有如下有益效果:本发明为企业用户在部署和运营Fabric智能合约网络时简化智能合约更新通道配置的过程,减少出错影响Fabric智能合约网络的稳定性,提升了区块链整体网络的可靠性。
附图说明
图1为Fabric智能合约更新通道配置的方法的整体结构示意图;
图2为Fabric智能合约更新通道配置的方法的流程示意图。
具体实施方式
下面结合附图对本发明作进一步的说明。本发明列举的实施例并不限制本公开,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本公开的保护范围内。
本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
如图1所示,是本专利实施例的一种Fabric智能合约更新通道配置的方法的整体结构示意图。其整体结构由Web应用和多个Peer节点构成的Fabric智能合约网络共同构成。
其中,Web应用连接到Fabric智能合约网络中的任意一个Peer节点。
如图2所示,是本专利实施例的一种Fabric智能合约更新通道配置的方法的流程示意图。
实施例1
一种Fabric智能合约更新通道配置的方法,其步骤包括:
步骤1,构建一个能与Peer节点的链码容器进行交互的Web App应用程序。
其中,Web App应用程序可以是Docker容器或其它容器的部署和运行形式,也可以是操作系统守护进程的运行形式。
其中,Web App应用程序可以访问和调用Peer节点的链码程序。
其中,Web App应用程序选用Couchdb作为后端存储数据库,且需要与Peer节点的分类账Couchdb构建实时数据同步的通信方式。如果Peer节点的分类账存储方案选用了LevelDB,那么Web App应用程序还应包含从LevelDB数据到Couchdb数据的转换模块。
步骤2,通过Web App应用程序操作获取最新的通道配置块,并根据自己的需求修改配置。
其中,Web App应用程序访问链码,检索分类账,获取到最新的通道配置块。
其中,获取到最新的通道配置块数据后,对此数据进行数据转换,也即默认的Protobuf格式转换为JSON数据格式。
其中,转换后的JSON数据以已读的方式显示在Web App应用程序的用户界面上,以便用户能根据的需求修改配置,对任意配置项进行增删改操作。
步骤3,更改区块链的区块的切割参数。
具体来说,更改区块链的区块的切割参数包括:
(1)absolute_max_bytes:区块应具有的最大大小(以字节为单位),也即任意区块看起来都不会大于absolute_max_bytes。
(2)max_message_count:区块应具有的最大交易数,也即不会出现超过max_message_count个交易的区块。
(3)preferred_max_bytes:区块的首选大小,也即如果可以在preferred_max_bytes下构造一个块,那么将会提前切割一个区块,并且大于该大小的交易将出现在另一个块中。
(4)batch_timeout:在第一个交易到达之后,在切割一个区块之前等待其他交易的时间。
步骤4,调用链码,在通道中更新通道配置。
其中,会先对上一步骤修改后的JSON配置块数据创建一个副本,然后将此JSON数据重新编码为Protobuf数据格式。
其中,是通过Web App调用链码,利用Protobuf数据在通道上进行相应的更新。
其中,自动实现了必要的header头部添加信息的过程,以及信封消息包装的过程。
步骤5,调用链码,在通道上对配置更新进行签名背书。
其中,通过Web App调用链码,在通道上对配置更新的交易进行签名背书。
步骤6,通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。
其中,通道中的各个Peer节点完成签名背书后,通过对等方peer将配置更新交易提交给排序服务节点,等待配置生效。排序服务将交易加入打包到新区块后,更新通道配置的工作就此完成。
综上所述,为本发明提供的一种Fabric智能合约更新通道配置的方法的实施例,与现有技术相比,本发明的有益效果是,本发明的实施例能够为企业用户在部署和运营Fabric智能合约网络时简化智能合约更新通道配置的过程,减少出错影响Fabric智能合约网络的稳定性,提升了区块链整体网络的可靠性。
尽管这里参照本发明的解释性实施例对本发明进行了描述,上述实施例仅为本发明较佳的实施方式,本发明的实施方式并不受上述实施例的限制,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。
Claims (8)
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数据以已读的方式显示在Web App应用程序的用户界面上,以便用户能根据的需求修改配置,对任意配置项进行增删改操作。
5.根据权利要求1所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(3)中更改区块链的区块的切割参数包括:
(1)absolute_max_bytes:区块应具有的最大大小,也即任意区块都不会大于absolute_max_bytes;
(2)max_message_count:区块应具有的最大交易数,也即不会出现超过max_message_count个交易的区块;
(3)preferred_max_bytes:区块的首选大小,也即如果在preferred_max_bytes下构造一个块,那么将会提前切割一个区块,并且大于该大小的交易将出现在另一个块中;
(4)batch_timeout:在第一个交易到达之后,在切割一个区块之前等待其他交易的时间。
6.根据权利要求1所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(4)中会对步骤(2)中的JSON数据创建一个副本,然后将此JSON数据重新编码为Protobuf数据格式。
7.根据权利要求6所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(4)是通过Web App调用链码,利用Protobuf数据在通道上进行相应的更新,自动实现了必要的header头部添加信息的过程,以及信封消息包装的过程。
8.根据权利要求1所述的Fabric智能合约更新通道配置的方法,其特征在于,步骤(5)中调用链码是通过Web App调用链码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011165583.5A CN112367194B (zh) | 2020-10-27 | 2020-10-27 | 一种Fabric智能合约更新通道配置的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011165583.5A CN112367194B (zh) | 2020-10-27 | 2020-10-27 | 一种Fabric智能合约更新通道配置的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367194A true CN112367194A (zh) | 2021-02-12 |
CN112367194B CN112367194B (zh) | 2022-03-25 |
Family
ID=74510798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011165583.5A Active CN112367194B (zh) | 2020-10-27 | 2020-10-27 | 一种Fabric智能合约更新通道配置的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367194B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220701A (zh) * | 2021-05-25 | 2021-08-06 | 成都佰纳瑞信息技术有限公司 | 基于区块链的数据结构自适应变动升级方法、装置、设备和产品 |
WO2023273994A1 (zh) * | 2021-07-01 | 2023-01-05 | 支付宝(杭州)信息技术有限公司 | 智能合约执行的方法、系统、装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416577A (zh) * | 2018-03-02 | 2018-08-17 | 上海汉得信息技术股份有限公司 | 一种区块链服务系统 |
CN110008263A (zh) * | 2019-02-20 | 2019-07-12 | 顺丰科技有限公司 | Hyperledger fabric集群模式下的动态组织扩展方法和系统 |
CN110058878A (zh) * | 2019-04-04 | 2019-07-26 | 交通银行股份有限公司 | 基于智能合约的Fabric区块链配置方法及系统 |
CN110288307A (zh) * | 2019-05-13 | 2019-09-27 | 西安电子科技大学 | 基于Fabric区块链的智能合约协同开发系统及数据处理方法 |
US20200177373A1 (en) * | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
US20200193429A1 (en) * | 2018-12-14 | 2020-06-18 | American Express Travel Related Services Company, Inc. | Transaction account data maintenance using blockchain |
CN111339550A (zh) * | 2020-02-01 | 2020-06-26 | 成都理工大学 | 一种基于区块链技术的评论信息可信化方法 |
-
2020
- 2020-10-27 CN CN202011165583.5A patent/CN112367194B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108416577A (zh) * | 2018-03-02 | 2018-08-17 | 上海汉得信息技术股份有限公司 | 一种区块链服务系统 |
US20200177373A1 (en) * | 2018-11-14 | 2020-06-04 | Royal Bank Of Canada | System and method for storing contract data structures on permissioned distributed ledgers |
US20200193429A1 (en) * | 2018-12-14 | 2020-06-18 | American Express Travel Related Services Company, Inc. | Transaction account data maintenance using blockchain |
CN110008263A (zh) * | 2019-02-20 | 2019-07-12 | 顺丰科技有限公司 | Hyperledger fabric集群模式下的动态组织扩展方法和系统 |
CN110058878A (zh) * | 2019-04-04 | 2019-07-26 | 交通银行股份有限公司 | 基于智能合约的Fabric区块链配置方法及系统 |
CN110288307A (zh) * | 2019-05-13 | 2019-09-27 | 西安电子科技大学 | 基于Fabric区块链的智能合约协同开发系统及数据处理方法 |
CN111339550A (zh) * | 2020-02-01 | 2020-06-26 | 成都理工大学 | 一种基于区块链技术的评论信息可信化方法 |
Non-Patent Citations (2)
Title |
---|
CSDN用户: "Hyperledger Fabric更新通道配置", 《URL:HTTPS://BLOG.CSDN.NET/IVYIBIN890/ARTICLE/DETAILS/106261358》 * |
陈志凌: "基于区块链的分布式存储系统的设计与实现", 《中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220701A (zh) * | 2021-05-25 | 2021-08-06 | 成都佰纳瑞信息技术有限公司 | 基于区块链的数据结构自适应变动升级方法、装置、设备和产品 |
CN113220701B (zh) * | 2021-05-25 | 2023-05-02 | 成都佰纳瑞信息技术有限公司 | 基于区块链的数据结构自适应变动升级方法、装置、设备和产品 |
WO2023273994A1 (zh) * | 2021-07-01 | 2023-01-05 | 支付宝(杭州)信息技术有限公司 | 智能合约执行的方法、系统、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112367194B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112367194B (zh) | 一种Fabric智能合约更新通道配置的方法 | |
CN101447884B (zh) | 一种网元之间协作实现软件升级的方法、设备及系统 | |
CN106850788B (zh) | 面向多源异构地理信息资源的集成框架及集成方法 | |
CN101227379B (zh) | 一种实现数据同步的系统和方法 | |
CN102209047B (zh) | 一种信息共享的即时通讯系统及方法 | |
CN101388997B (zh) | 一种建立视频会议的方法和系统 | |
EP2081336A1 (en) | Business message transmission method, system and apparatus | |
CN105530353A (zh) | 一种独立于手机之外的手机联系人智能管理方法及系统 | |
CN102904820A (zh) | 一种带流量控制的可扩展的数据交互方法和系统 | |
CN107888551A (zh) | 一种远程服务调用方法、装置和系统 | |
CN109327381A (zh) | 快速将人员加入群组与新建群组的方法及装置 | |
CN104216970B (zh) | 一种协同数据交换方法 | |
CN100544285C (zh) | 一种差异数据处理系统和方法 | |
CN109639715B (zh) | 避免双花攻击的方法、装置、设备及计算机可读存储介质 | |
CN106789978A (zh) | 一种数据汇聚系统和方法 | |
CN102209051B (zh) | 一种实现用户信息共享的即时通讯系统及方法 | |
CN102209050B (zh) | 一种用户信息共享的即时通讯系统及方法 | |
CN100407623C (zh) | 一种通信系统中用户数据更新的方法及系统 | |
CN110889765B (zh) | 交易信息报送方法及装置 | |
CN102209048B (zh) | 一种用于实现用户信息共享的即时通讯系统及方法 | |
CN100525208C (zh) | 一种数据同步方法 | |
CN104574188A (zh) | 一种交易服务系统及交易处理方法 | |
CN103546513B (zh) | 一种客户端页面间通信的方法及装置 | |
CN101370229B (zh) | 一种gsm直放站频点自动修正的方法 | |
CN101883419A (zh) | 客户端信息的同步方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |