CN111221568B - Fabric chain code life cycle management system based on physical machine deployment - Google Patents

Fabric chain code life cycle management system based on physical machine deployment Download PDF

Info

Publication number
CN111221568B
CN111221568B CN202010026645.8A CN202010026645A CN111221568B CN 111221568 B CN111221568 B CN 111221568B CN 202010026645 A CN202010026645 A CN 202010026645A CN 111221568 B CN111221568 B CN 111221568B
Authority
CN
China
Prior art keywords
chain code
chain
project
sdk
user
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.)
Active
Application number
CN202010026645.8A
Other languages
Chinese (zh)
Other versions
CN111221568A (en
Inventor
邱炜伟
李伟
匡立中
尹可挺
戴唯威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202010026645.8A priority Critical patent/CN111221568B/en
Publication of CN111221568A publication Critical patent/CN111221568A/en
Application granted granted Critical
Publication of CN111221568B publication Critical patent/CN111221568B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

The invention discloses a Fabric chain code life cycle management system based on physical machine deployment, which manages Fabric chain codes based on project dimensions, and the system communicates between BaaS and SDK through unique identifiers of projects and contracts to realize life cycle management of BaaS platforms and SDK on Fabric chain codes. The invention greatly shortens the full life cycle of the Fabric chain code from installation to calling, and realizes the efficient management of the Fabric chain code through the functions of a project warehouse, a history version record and the like.

Description

Fabric chain code life cycle management system based on physical machine deployment
Technical Field
The invention relates to the field of bottom layer service of block chains, in particular to a Fabric chain code life cycle management system based on physical machine deployment.
Background
The block chain technology is the bottom technology of digital currency such as bitcoin, ethernet, and the like, is a decentralized distributed account book technology, can safely store data, and has the advantages of non-falsification, disclosure and transparency. The transaction confirmation of the block chain is completed by the consensus of all nodes on the block, and the block is packed and written after the consensus is successful. All transactions on the blockchain storage blockchain network are carried out by any node, so that the information is guaranteed to be untampered, the information sharing is realized, and the information circulation efficiency is improved.
Intelligent contracts, intelligent contracts on a blockchain, refer to a string of binary code written and compiled from languages such as solubility, GO, etc., and run on the blockchain. Data storage, reading and writing, and some logic operations on the blockchain can be implemented through smart contracts, and most blockchain applications are currently run based on smart contracts.
Fabric is the dominant blockchain underlying technology, and the blockchain based on Fabric on the market, namely a service platform, is not a few, and Fabric chain code management is one of functional modules. Through research and development, the management of the Fabric chain codes is not really satisfied with the good management of the life cycle of the Fabric chain codes, and the phenomena of long deployment flow, complex operation and the like still exist. Meanwhile, most platforms are not fully substituted into the view angle of a developer to design functions, only the management of the chain codes by the BaaS platform is supported, and the functions are not synchronized to the SDK.
Disclosure of Invention
Aiming at the problems existing in the prior art, the invention provides a Fabric chain code life cycle management system based on physical machine deployment, which accelerates the life cycle management of Fabric chain codes and simultaneously supports the operation of SDK on Fabric chain codes.
The specific technical scheme is as follows:
a Fabric chain code life cycle management system based on physical machine deployment, wherein the Fabric chain code is managed based on project dimension, the system communicates between BaaS and SDK through unique identification of project and contract, and the life cycle management of BaaS platform and SDK to Fabric chain code is realized, the management system comprises the following modules:
(1) The project management module supports the creation, editing and deletion of projects;
and (3) newly constructing a project: the function completes the creation of the project according to project basic information filled by a user, including project names, chains and project types, and generates a project unique identifier App Key & App Secret for ensuring the safety and privacy of SDK and Fabric block chain interaction;
editing the project: the function supports editing of project names and project descriptions;
item deletion: this function supports deletion of items, which cannot be deleted if the item has deployed chain code.
(2) The chain code installation module supports a user to install a chain code through the BaaS platform and the SDK;
for BaaS platform: the chain code installation module supports a user to fill in a chain code name, upload a chain code file taking go as a suffix and select a channel, and can generate a unique identifier UUID of the chain code and automatically install the chain code on all peer nodes of the channel;
for SDK: the chain code installation module supports a user to download the SDK, configure the SDK, initialize the SDK, call a chain code deployment method, and the SDK uniquely identifies a designated item installed by the chain code through an App Key & App Secret and a UUID, and installs the chain code to the chain through the binding relationship of the item and the chain;
(3) The chain code deployment module supports a user to deploy a channel from a chain code to a Fabric block chain network;
for BaaS platform: the chain code deployment module supports a user to fill in initialization parameters, takes organization as dimension, visually sets transaction endorsement strategies, and can automatically deploy the chain codes to channels and deploy the transaction endorsement strategies to appointed endorsement nodes.
For SDK: the chain code deployment module supports a user to set initialization parameters, set transaction endorsement policies and execute deployment commands, and the SDK instantiates the chain codes in the channels;
(4) The chain code updating module can realize the installation and the deployment of the chain codes at the same time, and the specific implementation mode is the same as that of the chain code installation module and the chain code deployment module, so that a user is supported to update a channel from the chain codes to the Fabric block chain network through the BaaS platform or the SDK;
(5) The chain code calling module supports a user to call the deployed chain code through the BaaS platform or the SDK;
for BaaS platform: the chain code calling module supports a user to fill in a calling method and calling parameters, automatically calls a chain code and generates a transaction record, wherein the transaction record comprises a called method name, parameters, a calling result and a transaction hash, and the record is the same as the transaction record in a historical version contract;
for SDK: the chain code calling module executes a calling method, the SDK automatically calls the chain code, and records the transaction record of the blockchain through the BaaS platform;
(6) And the historical version record is used for recording all historical versions of the chain codes and comprises basic information of each version and transaction records corresponding to each version.
Further, in the history version record module, the basic information of each version includes a chain code number, a UUID, an update time, a chain code description, a channel, an endorsement node organization, and a chain code, and the transaction record includes a transaction hash, a block height, and a transaction completion time.
Further, the project management module supports the project basic information filled by the user to further comprise project description.
Further, the chain code installation module also supports the user to fill in the chain code description.
The beneficial effects of the invention are as follows:
(1) The contract is installed in the channel dimension, the transaction endorsement strategy is visually set in the organization dimension, and the life management period of the Fabric chain code is greatly accelerated on the basis of conforming to the actual transaction flow;
(2) Supporting the synchronous management of the Fabric chain codes by the BaaS platform and the SDK, and uniquely identifying the appointed BaaS items associated with the chain codes through the App Key & App Secret and the UUID;
(3) And recording the basic information of the current and all historical Fabric chain codes and transaction records, wherein the transaction records are differentiated according to the version of the chain codes.
Drawings
FIG. 1 is a basic architecture diagram of Fabric chain code lifecycle management;
FIG. 2 is a flowchart of operations of a Fabric chain code from uploading to calling.
Detailed Description
The invention will be described in further detail below with reference to the drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
1-2, the Fabric chain code life cycle management system based on physical machine deployment of the invention, wherein the Fabric chain code is managed based on project dimension, the system communicates between BaaS and SDK through unique identification of project and contract, and realizes life cycle management of BaaS platform and SDK to Fabric chain code, the management system comprises the following modules:
(1) The project management module supports the creation, editing and deletion of projects;
and (3) newly constructing a project: the functional premise is that a Fabric network is created by a user, and the functional premise is that the creation of the project is completed according to project basic information filled by the user, including project names, chains and project types, and an unique project identifier App Key & App Secret is generated and corresponds to the Fabric block chain network one by one, so that the safety and privacy of SDK and Fabric block chain interaction are ensured; one item can only bind one Fabric blockchain network, and one Fabric blockchain network can be bound by a plurality of items.
Editing the project: the function supports editing of project names and project descriptions, and the project names, the affiliated chains and the project types cannot be changed after the project creation is completed;
item deletion: this function supports deletion of items. If the item has no contract or the contract is undeployed, the item may be deleted; if the item has a deployed chain code, the item cannot be deleted.
(2) The chain code installation module supports a user to install a chain code through the BaaS platform and the SDK;
for BaaS platform: the chain code installation module supports a user to fill in a chain code name, upload a chain code file taking go as a suffix and select a channel (the channel ensures the privacy of synchronous consensus data among nodes in Fabric, and the data of different channels are mutually independent and cannot be shared), and the chain code installation module can generate a unique identifier UUID of the chain code and automatically install the chain code on a peer node of the channel; one item supports creation of multiple chain codes, and the item detail page presents all the created chain codes in a time reverse order.
For SDK: the chain code installation module supports a user to download an SDK, installs an SDK jar package to a maven local warehouse, initializes an SDKClient object, constructs the SDK, initializes the SDK, creates a transaction initiation account address, uses an SDK compiling contract to call a chain code installation method, and the SDK uniquely identifies a designated item of chain code installation through an App Key & App Secret and a UUID, and installs the chain code to a peer node through a one-to-one binding relationship of the item and the chain;
(3) The chain code deployment module supports a user to deploy a channel from a chain code to a Fabric block chain network;
for BaaS platform: the chain code deployment module supports users to fill in initialization parameters, takes organization as dimension, visually sets transaction endorsement policies (in Fabric, transactions can take effect only through endorsement verification of endorsement nodes, and the setting of the transaction endorsement policies is to specify the organization and the endorsement nodes under the organization), and can automatically deploy the chain codes to channels and deploy the transaction endorsement policies to the specified endorsement nodes.
For SDK: the chain code deployment module supports a user to set initialization parameters, set transaction endorsement policies and execute deployment commands, and the SDK instantiates the chain codes in the channels;
(4) The chain code updating module can realize the installation and the deployment of the chain codes at the same time, and the specific implementation mode is the same as that of the chain code installation module and the chain code deployment module, so that a user is supported to update a channel from the chain codes to the Fabric block chain network through the BaaS platform or the SDK;
(5) The chain code calling module supports a user to call the deployed chain code through the BaaS platform or the SDK;
for BaaS platform: the chain code calling module supports a user to fill in a calling method and calling parameters, automatically calls a chain code and generates a transaction record, wherein the transaction record comprises a called method name, parameters, a calling result and a transaction hash, and the record is the same as the transaction record in a historical version contract;
for SDK: the chain code calling module supports a user to execute an invoke calling method, the SDK automatically calls a chain code, and records transaction records of a blockchain through the BaaS platform;
(6) History version record: it is used to record all historical versions of the chain code, including the basic information of each version and the transaction record corresponding to each version.
The basic information of each version of the chain code comprises a chain code number, a UUID, an update time, a chain code description, a channel, an endorsement node organization and a chain code, and the transaction record corresponding to each version comprises transaction hash, block height, transaction completion time and the like.
In order to ensure the integrity of the project information and the chain code information, a user can know the creation background and the application scene of the project and the chain code conveniently, the project management module supports the project basic information filled by the user to further comprise project description, and the chain code installation module also supports the user to fill the chain code description.
It will be appreciated by persons skilled in the art that the foregoing description is a preferred embodiment of the invention, and is not intended to limit the invention, but rather to limit the invention to the specific embodiments described, and that modifications may be made to the technical solutions described in the foregoing embodiments, or equivalents may be substituted for elements thereof, for the purposes of those skilled in the art. Modifications, equivalents, and alternatives falling within the spirit and principles of the invention are intended to be included within the scope of the invention.

Claims (4)

1. A Fabric chain code life cycle management system based on physical machine deployment, wherein the Fabric chain code is managed based on project dimension, the system communicates between BaaS and SDK through unique identification of project and contract, and the life cycle management of BaaS platform and SDK to Fabric chain code is realized, the management system comprises the following modules:
(1) The project management module supports the creation, editing and deletion of projects;
and (3) newly constructing a project: the project creation function completes the creation of a project according to project basic information filled by a user, including project names, chains and project types, and generates a project unique identifier App Key & App Secret for ensuring the interaction safety and privacy of SDK and Fabric block chains;
editing the project: the project editing function supports editing of project names and project descriptions;
item deletion: the project deleting function supports the deletion of projects, and if the projects have deployed chain codes, the projects cannot be deleted;
(2) The chain code installation module supports a user to install a chain code through the BaaS platform and the SDK;
for BaaS platform: the chain code installation module supports a user to fill in a chain code name, upload a chain code file taking go as a suffix and select a channel, and can generate a unique identifier UUID of the chain code and automatically install the chain code on all peer nodes of the channel;
for SDK: the chain code installation module supports a user to download the SDK, configure the SDK, initialize the SDK, call a chain code deployment method, and the SDK uniquely identifies a designated item installed by the chain code through an App Key & App Secret and a UUID, and installs the chain code to the chain through the binding relationship of the item and the chain;
(3) The chain code deployment module supports a user to deploy a channel from a chain code to a Fabric block chain network;
for BaaS platform: the chain code deployment module supports a user to fill in initialization parameters, takes organization as dimension, visually sets transaction endorsement strategies, and can automatically deploy the chain codes to channels and the transaction endorsement strategies to appointed endorsement nodes;
for SDK: the chain code deployment module supports a user to set initialization parameters, set transaction endorsement policies and execute deployment commands, and the SDK instantiates the chain codes in the channels;
(4) The chain code updating module can realize the installation and the deployment of the chain codes at the same time, and the specific implementation mode is the same as the chain code installation module and the chain code deployment module, so that a user is supported to update the channel from the chain codes to the Fabric block chain network through the BaaS platform or the SDK;
(5) The chain code calling module supports a user to call deployed chain codes through the BaaS platform or the SDK;
for BaaS platform: the chain code calling module supports a user to fill in a calling method and calling parameters, automatically calls a chain code and generates a transaction record, wherein the transaction record comprises a called method name, parameters, a calling result and a transaction hash, and the record is the same as the transaction record in a historical version contract;
for SDK: the chain code calling module executes a calling method, the SDK automatically calls the chain code, and records the transaction record of the blockchain through the BaaS platform;
(6) And the historical version record is used for recording all historical versions of the chain codes and comprises basic information of each version and transaction records corresponding to each version.
2. The physical machine deployment-based Fabric chain code lifecycle management system of claim 1, wherein the basic information of each version in the history version record module comprises a chain code number, a UUID, an update time, a chain code description, a channel, an endorsement node organization, and a chain code, and the transaction record comprises a transaction hash, a block height, and a transaction completion time.
3. The physical machine deployment-based Fabric link code lifecycle management system of claim 1, wherein the project management module supports user-filled project base information further comprising a project description.
4. The physical machine deployment-based Fabric chain code lifecycle management system of claim 1, wherein the chain code installation module further supports user filling in of a chain code description.
CN202010026645.8A 2020-01-10 2020-01-10 Fabric chain code life cycle management system based on physical machine deployment Active CN111221568B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010026645.8A CN111221568B (en) 2020-01-10 2020-01-10 Fabric chain code life cycle management system based on physical machine deployment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010026645.8A CN111221568B (en) 2020-01-10 2020-01-10 Fabric chain code life cycle management system based on physical machine deployment

Publications (2)

Publication Number Publication Date
CN111221568A CN111221568A (en) 2020-06-02
CN111221568B true CN111221568B (en) 2023-05-26

Family

ID=70832440

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010026645.8A Active CN111221568B (en) 2020-01-10 2020-01-10 Fabric chain code life cycle management system based on physical machine deployment

Country Status (1)

Country Link
CN (1) CN111221568B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111797160B (en) * 2020-06-16 2023-05-02 苏宁金融科技(南京)有限公司 Method, system and electronic device for sharing intelligent contract
US20220147503A1 (en) * 2020-08-11 2022-05-12 Massachusetts Mutual Life Insurance Company Systems and methods to generate a database structure with a low-latency key architecture
CN112418890A (en) * 2020-11-27 2021-02-26 链亦科技(上海)有限公司 Block chain-based medicine anti-counterfeiting traceability system and method
CN115022347B (en) * 2022-05-30 2023-11-17 长春大学 Fire control monitoring data storage system based on Fabric and IPFS

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562513A (en) * 2017-07-18 2018-01-09 杭州趣链科技有限公司 A kind of management method of the intelligent contract life cycle based on JAVA
CN108965468A (en) * 2018-08-16 2018-12-07 北京京东尚科信息技术有限公司 Block chain network service platform and its chain code installation method, storage medium
CN109727032A (en) * 2018-12-29 2019-05-07 杭州趣链科技有限公司 A kind of alliance's block chain access control method of identity-based id password
CN109801043A (en) * 2019-02-01 2019-05-24 苏州链读文化传媒有限公司 Life cycle learning records authentication device and authentication method based on block chain
CN110192380A (en) * 2017-09-29 2019-08-30 甲骨文国际公司 System and method for managing block chain cloud service
CN110580624A (en) * 2018-06-07 2019-12-17 华为技术有限公司 Chain code upgrading method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190108482A1 (en) * 2017-10-06 2019-04-11 Sap Se Enablement of procurement processes with asset traceability using blockchain technology

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562513A (en) * 2017-07-18 2018-01-09 杭州趣链科技有限公司 A kind of management method of the intelligent contract life cycle based on JAVA
CN110192380A (en) * 2017-09-29 2019-08-30 甲骨文国际公司 System and method for managing block chain cloud service
CN110580624A (en) * 2018-06-07 2019-12-17 华为技术有限公司 Chain code upgrading method and device
CN108965468A (en) * 2018-08-16 2018-12-07 北京京东尚科信息技术有限公司 Block chain network service platform and its chain code installation method, storage medium
CN109727032A (en) * 2018-12-29 2019-05-07 杭州趣链科技有限公司 A kind of alliance's block chain access control method of identity-based id password
CN109801043A (en) * 2019-02-01 2019-05-24 苏州链读文化传媒有限公司 Life cycle learning records authentication device and authentication method based on block chain

Also Published As

Publication number Publication date
CN111221568A (en) 2020-06-02

Similar Documents

Publication Publication Date Title
CN111221568B (en) Fabric chain code life cycle management system based on physical machine deployment
CN107147704B (en) block chain-oriented universal service middleware system
CN107145521B (en) A kind of data migration method towards block chain multistage intelligent contract
CN101464805B (en) Plug-in management method and system thereof
CN102612831B (en) For the method and system of the user content in synchronous social networks
CN109491674A (en) A kind of method and system of the automatic deployment service in Kubernetes cluster
CN112015517B (en) Block chain node dynamic migration method and system based on k8s cluster
CN110995473B (en) Service node control method and related equipment
CN106227605A (en) The dynamic micro services expansion method of a kind of multilingual cloud compiling and device
CN102520972A (en) Video game development system and method thereof
CN102571905A (en) Managing networks and machines for an online service
CN106293704A (en) Dynamic micro services edit methods, device and the server of multilingual cloud compiling
CN112527781B (en) Intelligent contract data migration method and system
CN105389186A (en) Hot deployment method and system for Java application
CN102314358A (en) Method for deploying conventional applications on cloud platform in SOA (service oriented architecture) way
CN101702158A (en) Index file creation synchronized method and search system
CN103942281A (en) Method and device for operating object persistently stored
CN102646056A (en) Function expansion method and device for grid GIS (geographic information system) platform based applications
CN104067258A (en) Platform runtime abstraction
CN102375734A (en) Application product development system, method and device and operation system, method and device
CN111857801B (en) Construction method of mobile application
CN110515625A (en) Task construction method, device, equipment and computer readable storage medium
CN102053855B (en) Software generation system and method
CN103207866A (en) File storing method and system based on partitioning strategies
CN102929951A (en) Mass data storage method and device with data binding

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