CN113849191B - Intelligent contract deployment method, system, device and storage medium - Google Patents

Intelligent contract deployment method, system, device and storage medium Download PDF

Info

Publication number
CN113849191B
CN113849191B CN202111438048.7A CN202111438048A CN113849191B CN 113849191 B CN113849191 B CN 113849191B CN 202111438048 A CN202111438048 A CN 202111438048A CN 113849191 B CN113849191 B CN 113849191B
Authority
CN
China
Prior art keywords
transaction
contract
blockchain
intelligent contract
intelligent
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
CN202111438048.7A
Other languages
Chinese (zh)
Other versions
CN113849191A (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202111438048.7A priority Critical patent/CN113849191B/en
Publication of CN113849191A publication Critical patent/CN113849191A/en
Application granted granted Critical
Publication of CN113849191B publication Critical patent/CN113849191B/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/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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

Abstract

The disclosure relates to an intelligent contract deployment method, system, device and storage medium. The embodiment of the disclosure provides a method for cooperatively deploying intelligent contracts in a block chain. An entitlement management system contract is pre-deployed in a blockchain. A first transaction is received and executed by the blockchain network to create an authorization process for approving the smart contract, the first transaction including information regarding a first method in the invoking system contract for creating the authorization process and first parameter information for initializing the first method. A second transaction is received and executed by the blockchain network to generate an approval result for the smart contract, the second transaction including information regarding a second method in the invoking system contract for executing the authorization flow and second parameter information for initializing the second method. When the approval result of the intelligent contract is passed, a third transaction including information about creating the intelligent contract is received and executed by the blockchain network to deploy the intelligent contract in the blockchain.

Description

Intelligent contract deployment method, system, device and storage medium
Technical Field
The embodiment of the specification belongs to the technical field of block chains, and particularly relates to a method, a block chain node device, a system, a computing device and a storage medium for cooperatively deploying an intelligent contract in a block chain.
Background
The Blockchain (Blockchain) is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism, an encryption algorithm and the like. In the block chain system, data blocks are combined into a chain data structure in a sequential connection mode according to a time sequence, and a distributed account book which cannot be tampered and forged is guaranteed in a cryptographic mode. Because the blockchain has the characteristics of decentralization, information non-tampering, autonomy and the like, the blockchain is also paid more and more attention and is applied by people.
The intelligent Contract (Smart Contract) appeared in the 2.0 era of the block chain improves the application range of the block chain to a new height. Smart contracts are programs executed in a blockchain, computer protocols intended to propagate, verify, or execute contracts in an informational manner, allowing for trusted transactions without third parties. With intelligent contracts, what the blockchain can do is no longer just a single transfer transaction, but rather a piece of code can also be invoked, which can be customized by the user.
In a federation application scenario, collaboration among multiple collaboration participants may be achieved by deploying respective intelligent contracts in blockchains. However, in such a multi-party collaborative application scenario, before the actual deployment phase of the smart contract, each collaborative party is required to negotiate to determine the smart contract to be deployed.
Therefore, an efficient and reliable solution that allows multiple parties to negotiate deployment of intelligent contracts together is desired.
Disclosure of Invention
An object of the present disclosure is to provide a method, a block link point device, a system, a computing apparatus, and a storage medium for collaborative deployment of intelligent contracts in a block chain.
According to a first aspect of the present disclosure, there is provided a method for collaborative deployment of intelligent contracts in a blockchain in which system contracts for authorization management are pre-deployed, the method comprising: receiving and executing, by a blockchain network, a first transaction to create an authorization flow for approving a smart contract generated by a deployment initiator, the first transaction including information regarding invoking a first method in the system contract for creating the authorization flow and first parameter information for initializing the first method, the first parameter information including a first hash value of the smart contract and identity information of a collaboration participant; receiving and executing, by a blockchain network, a second transaction to generate an approval result for the intelligent contract, the second transaction including information on invoking a second method in the system contract for executing an authorization process and second parameter information for initializing the second method, the second parameter information including a second hash value of a copy of the intelligent contract obtained by a collaboration party from a deployment initiator and a modification of an approval state of the intelligent contract by the collaboration party; and when the approval result of the intelligent contract is passed, receiving and executing a third transaction comprising information about creating the intelligent contract by the blockchain network to deploy the intelligent contract in the blockchain.
According to a second aspect of the present disclosure, there is provided a method for collaboratively deploying a target intelligent contract in a blockchain in which a first intelligent contract for creating an authorization flow and a second intelligent contract for executing the authorization flow are previously deployed, the method comprising: receiving and executing, by a blockchain network, a first transaction to create an authorization flow for approving a target intelligent contract generated by a deployment initiator, the first transaction including information regarding invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information including a first hash value of the target intelligent contract and identity information of a collaboration participant; receiving and executing, by the blockchain network, a second transaction to generate an approval result for the target smart contract, the second transaction including information regarding invoking the second smart contract and second parameter information for initializing the second smart contract, the second parameter information including a second hash value of a copy of the target smart contract obtained by a collaborative participant from a deployment initiator and a modification of an approval status of the target smart contract by the collaborative participant; and when the approval result of the target intelligent contract is passed, receiving and executing a third transaction comprising information about creating the target intelligent contract by the blockchain network to deploy the target intelligent contract in the blockchain.
According to a third aspect of the present disclosure, there is provided a block-link point device for collaborative deployment of intelligent contracts in a block chain. Pre-deploying a system contract for authorization management in the blockchain. The block chain node device comprises a receiving module and an executing module. The receiving module is configured to: receiving a first transaction, wherein the first transaction comprises information about calling a first method used for creating an authorization flow in the system contract and first parameter information used for initializing the first method, and the first parameter information comprises a first hash value of an intelligent contract generated by a deployment initiator and identity information of a cooperative participant; receiving a second transaction, wherein the second transaction comprises information about invoking a second method used for executing the authorization process in the system contract and second parameter information used for initializing the second method, and the second parameter information comprises a second hash value of a copy of the intelligent contract obtained by a cooperative participant from a deployment initiator and a modification of the approval state of the intelligent contract by the cooperative participant; and receiving a third transaction, the third transaction including information regarding creation of the smart contract. The execution module is configured to: executing the first transaction to create an authorization flow for approving the smart contract; executing the second transaction to generate an approval result for the smart contract; and when the approval result of the intelligent contract is passed, executing the third transaction to deploy the intelligent contract in a blockchain.
According to a fourth aspect of the present disclosure, there is provided a block link point device for collaborative deployment of target intelligent contracts in a block chain. A first intelligent contract for creating an authorization flow and a second intelligent contract for executing the authorization flow are pre-deployed in the blockchain. The block chain node device comprises a receiving module and an executing module. The receiving module is configured to: receiving a first transaction, the first transaction comprising information about invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information comprising a first hash value of a target intelligent contract generated by a deployment initiator and identity information of a collaboration participant; receiving a second transaction, wherein the second transaction comprises information about invoking the second intelligent contract and second parameter information for initializing the second intelligent contract, and the second parameter information comprises a second hash value of a copy of the target intelligent contract obtained by the cooperative participant from the deployment initiator and a modification of the approval state of the target intelligent contract by the cooperative participant; and receiving a third transaction, the third transaction including information regarding creation of the target smart contract. The execution module is configured to: executing the first transaction to create an authorization flow for approving the target smart contract; executing the second transaction to generate an approval result for the target smart contract; and when the approval result of the target intelligent contract is passed, executing the third transaction to deploy the target intelligent contract in a blockchain.
According to a fifth aspect of the present disclosure, there is provided a computing apparatus for collaborative deployment of intelligent contracts in blockchains, comprising: one or more processors; and a memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform the method according to the first or second aspect of the disclosure.
According to a sixth aspect of the present disclosure, there is provided a non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform a method according to the first or second aspect of the present disclosure.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments described in the present disclosure, and it is obvious for a person skilled in the art to obtain other drawings based on these drawings without inventive labor.
FIG. 1 is a diagrammatic process of creating an intelligent contract in accordance with one or more embodiments of the present description;
FIG. 2 is a diagrammatic process of invoking an intelligent contract in accordance with one or more embodiments of the present description;
FIGS. 3 and 4 are flowcharts of a method for collaborative deployment of intelligent contracts in a blockchain in accordance with one or more embodiments of the present description;
5-7 are schematic diagrams of systems for collaborative deployment of intelligent contracts in blockchains according to one or more embodiments of the present description;
fig. 8 is a schematic block diagram of a block-link node apparatus for collaborative deployment of intelligent contracts in a block chain in accordance with one or more embodiments of the present description;
FIG. 9 is a schematic block diagram of a system for collaborative deployment of intelligent contracts in blockchains in accordance with one or more embodiments of the present description;
FIG. 10 is a schematic block diagram illustrating a computer system upon which one or more embodiments of the present specification may be implemented;
fig. 11 is a schematic block diagram of a computing device for collaborative deployment of intelligent contracts in blockchains in accordance with one or more embodiments of the present description.
Detailed Description
The embodiment of the specification provides a method for cooperatively deploying intelligent contracts in a block chain.
In order to make those skilled in the art better understand the technical solutions in the present specification, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only a part of the embodiments of the present specification, and not all of the embodiments. All other embodiments obtained by a person skilled in the art based on the embodiments in the present specification without any inventive step should fall within the scope of protection of the present specification.
Blockchains are generally divided into three types: public chain (Public Blockchain), Private chain (Private Blockchain) and alliance chain (Consortium Blockchain). Furthermore, there may be a combination of the above types, such as private chain + federation chain, federation chain + public chain, and so on. Among them, the most decentralized is the public chain. The public chain is represented by bitcoin and ether house, and participants (also called nodes in the block chain) joining the public chain can read data records on the chain, participate in transactions, compete for accounting rights of new blocks, and the like. Moreover, each node can freely join or leave the network and perform related operations. Private chains are the opposite, with the network's write rights controlled by an organization or organization and the data read rights specified by the organization. Briefly, a private chain may be a weakly centralized system with strict restrictions on nodes and a small number of nodes. This type of blockchain is more suitable for use within a particular establishment. A federation chain is a block chain between a public chain and a private chain, and "partial decentralization" can be achieved. Each node in a federation chain typically has a physical organization or organization corresponding to it; the nodes are authorized to join the network and form a benefit-related alliance, and block chain operation is maintained together.
Based on the basic characteristics of a blockchain, a blockchain is usually composed of several blocks. The time stamps corresponding to the creation time of the block are recorded in the blocks respectively, and all the blocks form a time-ordered data chain according to the time stamps recorded in the blocks strictly. The real data generated by the physical world can be constructed into a standard transaction (transaction) format supported by a block chain, then is issued to the block chain, the node equipment in the block chain performs consensus processing on the received transaction, and after the consensus is achieved, the node equipment serving as an accounting node in the block chain packs the transaction into a block and performs persistent evidence storage in the block chain.
In practical applications, whether public, private, or alliance, it is possible to provide the functionality of an intelligent contract. An intelligent contract on a blockchain is a contract on a blockchain that can be executed triggered by a transaction. An intelligent contract may be defined in the form of code. Taking an Etherhouse as an example, a user is supported to create and call some complex logic in the Etherhouse network. The ethernet workshop is used as a programmable block chain, and the core of the ethernet workshop is an ethernet workshop virtual machine (EVM), and each ethernet workshop node can run the EVM. The EVM is a well-behaved virtual machine through which various complex logic can be implemented. The user issuing and invoking smart contracts in the etherhouse is running on the EVM. In fact, EVM runs directly virtual machine code (virtual machine bytecode, hereinafter simply referred to as "bytecode"), so the intelligent contracts deployed on the blockchain may be bytecode.
As shown in FIG. 1, after Bob sends a transaction containing information to create a smart contract to the Ethernet shop network, each node may perform the transaction in the EVM. For example, the EVM of node 1 may execute the transaction and generate a corresponding contract instance. The From field of the transaction in fig. 1 is used To record the address of the account From which the intelligent contract was created, the contract code held in the field value of the Data field of the transaction may be bytecode, and the field value of the To field of the transaction is a null account. After the nodes reach the agreement through the consensus mechanism, the intelligent contract is successfully created, and the follow-up user can call the intelligent contract.
After the intelligent contract is established, a contract account corresponding to the intelligent contract appears on the blockchain, and the blockchain has a specific address; for example, "0 x68e12cf284 …" in each node in fig. 1 represents the address of the contract account created; the contract Code (Code) and account store (Storage) will be maintained in the account store for that contract account. The behavior of the intelligent contract is controlled by the contract code, while the account storage of the intelligent contract preserves the state of the contract. In other words, the intelligent contract causes a virtual account to be generated on the blockchain that contains the contract code and account storage.
As mentioned above, the Data field containing the transaction that created the intelligent contract may hold the byte code of the intelligent contract. A bytecode consists of a series of bytes, each of which can identify an operation. Based on the multiple considerations of development efficiency, readability and the like, a developer can select a high-level language to write intelligent contract codes instead of directly writing byte codes. For example, the high-level language may employ a language such as Solidity, Serpent, LLL, and the like. For intelligent contract code written in a high-level language, the intelligent contract code can be compiled by a compiler to generate byte codes which can be deployed on a blockchain. Taking the Solidity language as an example, the contract code written by it is very similar to a Class (Class) in the object-oriented programming language, and various members including state variables, functions, function modifiers, events, etc. can be declared in one contract. A state variable is a value permanently stored in an account Storage (Storage) field of an intelligent contract to save the state of the contract.
In addition, as shown in fig. 2, still taking the ethernet house as an example, after Bob sends a transaction containing information of invoking the intelligent contract to the ethernet house network, each node may perform the transaction in the EVM. In fig. 2, the From field of the transaction is used To record the address of the account initiating the intelligent contract invocation, the To field is used To record the address of the intelligent contract invocation, and the Data field of the transaction is used To record the method and parameters of the intelligent contract invocation. After invoking the smart contract, the account status of the contract account may change. Subsequently, a certain client can check the account status of the contract account through the accessed block chain node.
The intelligent contract can be independently executed at each node in the blockchain network in a specified mode, and all execution records and data are stored on the blockchain, so that after the transaction is executed, transaction certificates which cannot be tampered and lost are stored on the blockchain. To create an intelligent contract in an ethernet workshop, the intelligent contract needs to be compiled, compiled into byte codes, deployed to a block chain and the like. The intelligent contract is called in the Ethernet workshop, a transaction pointing to the intelligent contract address is initiated, the EVM of each node can respectively execute the transaction, and the intelligent contract code is distributively operated in the virtual machine of each node in the Ethernet workshop network.
The event mechanism of an intelligent contract is one way for the intelligent contract to interact with an out-of-chain entity. For intelligent contracts deployed on blockchains, direct interaction with out-of-chain entities is generally not possible; for example, after the intelligent contract is called, the calling result of the intelligent contract cannot be sent to the calling initiator of the intelligent contract in a point-to-point manner. The invocation results (including intermediate results and final invocation results) generated during the invocation of the intelligent contract are recorded into a Transaction log (Transaction Logs) of the Transaction invoking the intelligent contract, usually in the form of an Event (Event), and stored in a memory space of the node device. And the entity outside the chain which needs to interact with the intelligent contract can acquire the calling result of the intelligent contract by monitoring the transaction log stored in the storage space of the node equipment. For example, at EtherFang, the transaction log may ultimately be stored, for example, in the MPT Receipt tree as part of the Receipt (Recipt) for the transaction that invoked the smart contract. And the entity outside the chain interacting with the intelligent contract can monitor the transaction receipts stored in the storage space of the node device on the MPT receipt tree and acquire the events generated by the intelligent contract from the monitored transaction receipts.
In a federation application scenario, collaboration among multiple collaboration participants may be achieved by deploying respective intelligent contracts in blockchains. The intelligent contracts are written based on specific collaboration content. However, in such an application scenario where there are multiple collaboration participants, the collaboration participants are required to negotiate to determine the intelligent contract to be deployed prior to actual deployment of the intelligent contract. The actual deployment of the intelligent contract also requires that each collaboration participant register information required for collaboration to complete initialization of the contract to activate the contract. The conventional negotiation process typically occurs offline. After the intelligent contract is drawn up according to the collaboration content, the drawn-up intelligent contract needs to be submitted to the other collaboration participants for audit confirmation. After all the collaboration participants are confirmed, the deployment initiator can deploy the proposed confirmed intelligent contracts to the blockchain. To activate the contract, each collaboration participant also needs to provide the deployment initiator with the information (equivalent to the registration process) needed for collaboration to complete initialization of the contract. For example, company a generates a large amount of data during operation, but company a does not have enough computing resources, so company a seeks to cooperate with company B, and makes an agreement to provide data by company a, and provide computing resources by company B, so as to perform data computing cooperation. In the data computing collaboration, company B of the two collaboration participants of company A and company B can be used as a deployment initiator. And B, writing a corresponding intelligent contract code according to the cooperation content of the calculation data, then delivering the intelligent contract code to A for approval, and deploying the intelligent contract code to the block chain to realize cooperation with the A after the intelligent contract code is confirmed by the A. Thereafter, company a also needs to provide information needed for collaboration (e.g., identity information of company a, etc.) to company B to complete the initialization of the contract.
The present disclosure provides a method for collaborative deployment of intelligent contracts in a blockchain, which utilizes blockchain technology to realize on-chain negotiation and on-chain registration of multiple collaborative participants when jointly participating in blockchain intelligent contract deployment. A method for collaborative deployment of intelligent contracts in a blockchain in accordance with one or more embodiments of the present specification is described in detail below with reference to the accompanying drawings.
Fig. 3 illustrates a method 100 for collaborative deployment of intelligent contracts in a blockchain in accordance with one or more embodiments of the present description. A system contract for authorization management may be pre-deployed in the blockchain. The system contract may be a system-level intelligent contract deployed in a blockchain and may include multiple instances of an authorization management method. For example, the system contracts may be pre-deployed in a blockchain with reference to the process of creating intelligent contracts shown in fig. 1. The system contract may include a first method for creating an authorization flow and a second method for executing the authorization flow. For example, a corresponding authorization flow may be created by invoking a first method of a system contract and providing associated initialization parameters. After a process is initialized with initialization parameters, it may be defined by whom the process was initiated (typically the deployment initiator), what matters were approved, what contracts were involved, specific content of the collaboration, which collaboration participants approved, and so forth. The created authorization flow may be executed by invoking a second method of the system contract to produce an approval result.
As shown in fig. 3, a method 100 for collaborative deployment of intelligent contracts in blockchains includes: at S102, a first transaction is received and executed by the blockchain network to create an authorization flow for approving the smart contract generated by the deployment initiator. The first transaction may include information regarding invoking a first method in the system contract for creating an authorization flow and first parameter information for initializing the first method. The first parameter information may include a first hash value of the intelligent contract and identity information of a collaboration participant. The first hash value of the smart contract may be used to indicate what smart contract the created authorization flow involves approving, and may be used to verify consistency between the smart contract to be deployed and the smart contract to be approved. The identity information of the collaboration participants may be used to define which collaboration participants are involved in the approval process created.
In some embodiments, the first parameter information may further include one or more of: deploying identity information of an initiator; deploying collaboration content corresponding to the intelligent contract agreed between an initiator and collaboration participants; an approval role for each collaboration participant; approval of each collaboration participant. The identity information of the deployment initiator may be used to define who initiated the created authorization flow. The collaboration content may be used to define what collaboration the created authorization flow specifically relates to. The approval role and the approval content of each collaboration participant can be used for limiting the responsible person and the approval items of each approval link of the created authorization process. For example, when creating the authorization flow, some or all of the collaboration participants may be specifically defined to participate in the authorization flow by using the first parameter information, and the approval logic therebetween may also be specifically defined. For example, a is a deployment initiator, B, C, D is a collaboration participant, B, C, D may be required to pass approval to deploy a smart contract, at least one of B, C, D may be required to pass approval to deploy a smart contract, a specific approval order of B, C, D may be required (e.g., B can pass approval to be approved by C), and so on.
In some embodiments, the first parameter information may further include one or more of: the compiling result, the compiling result and the checking result of the intelligent contract. As previously described, the deployment initiator may write the intelligent contract code in a high-level language, and then may compile the intelligent contract code written in the high-level language by a compiler to generate bytecode that may be deployed onto the blockchain. Thus, the compilation result of the intelligent contract may be, for example, a high-level language form of the intelligent contract, and the compilation result of the intelligent contract may be, for example, a byte-code form of the intelligent contract. Additionally, for security, smart contracts may also be checked against security breaches. In some examples, at least one of the intelligent contract in the high-level language form and the intelligent contract in the bytecode form may be examined to generate an examination result of the intelligent contract. In some embodiments, only smart contracts that pass the inspection may be necessary for approval by other collaboration participants, since other collaboration participants typically do not permit the smart contract when they see a negative inspection result.
The first parameter information may provide initialization parameters for invoking a first method in a system contract for creating an authorization flow when the first transaction is executed. For example, a first method in a system contract for creating an authorization flow may be invoked with reference to the process of invoking an intelligent contract shown in FIG. 2. When the first transaction is sent to the blockchain network, any blockchain link point of the blockchain network can execute the first transaction to create an authorization flow for the intelligent contract, so that the creation results are synchronized at all blockchain link points.
The method 100 further comprises: at S104, a second transaction is received and executed by the blockchain network to generate an approval result for the smart contract. The second transaction may include information regarding invoking a second method in the system contract for performing an authorization procedure and second parameter information for initializing the second method. The second parameter information may include a second hash value of a copy of the smart contract obtained by the collaborative participant from the deployment initiator and a modification of an approval status of the smart contract by the collaborative participant. The collaboration participant may obtain a copy of the intelligent contract from the deployment initiator in an out-of-chain or in-chain manner. As a non-limiting example of an out-of-chain approach, the deployment initiator may send a copy of the intelligent contract it generated (which may be the intelligent contract writing result and/or the compilation result) to the collaboration participant via email or the like. As a non-limiting example of an in-chain approach, the deployment initiator may include a copy of the smart contract it generates (which may be the smart contract writing result and/or the compilation result) in a transaction (which may be the first transaction, for example) and upload to the blockchain so that the collaboration participant may obtain a copy of the smart contract from the blockchain. The second hash value may be used to indicate that the modification of the approval status of the intelligent contract by the collaborative participant is for a version of the intelligent contract that corresponds to the second hash value.
In some embodiments, the second method is configured to generate the approval result of the smart contract as a pass when the first hash value is the same as the second hash value and the collaborative participants modify the approval status of the smart contract to pass. The first hash value is the same as the second hash value, which means that the intelligent contract currently approved by the collaboration party is consistent with the intelligent contract planned to be deployed. In this way, the deployment initiator can be prevented from intentionally deceiving the collaboration participant to approve a fake intelligent contract, and also can be prevented from unintentionally and wrongly approving.
In some embodiments, the second parameter information may also include identity information of the collaboration participant. Each collaboration party may modify the approval status of the portion of the authorization flow for which it is responsible. The second parameter information may provide initialization parameters for invoking a second method in the system contract for approving the authorization procedure when the second transaction is executed. For example, the second method for approving the authorization flow in the system contract may be invoked with reference to the process of invoking the smart contract shown in FIG. 2. When the second transaction is sent to the blockchain network, any blockchain link point of the blockchain network can execute the second transaction to generate an approval result of the intelligent contract, so that the approval result is synchronized at all blockchain link points.
The method 100 further comprises: at S106, when the approval result of the intelligent contract is passed, a third transaction including information about creating the intelligent contract is received and executed by the blockchain network to deploy the intelligent contract in the blockchain. For example, intelligent contracts may be deployed in blockchains with reference to the process of creating intelligent contracts shown in FIG. 1.
In some embodiments, receiving and executing, by the blockchain network, a third transaction that includes information about creating the intelligent contract to deploy the intelligent contract in the blockchain comprises: calculating a third hash value of a smart contract included in the third transaction; deploying the smart contract when the third hash value is the same as the second hash value. In this way, each blockchain node may deploy the smart contract after determining that the smart contract to be deployed now is consistent with the smart contract approved previously based on the third hash value being the same as the second hash value.
In some embodiments, the method 100 may further include: at S108, after deploying the intelligent contracts in the blockchain, a fourth transaction including information about initializing the intelligent contracts is received and executed by the blockchain network to initialize the intelligent contracts. For example, the deployed smart contract may leave an interface for populating the initialization information, and the deployed smart contract may be invoked and provided with relevant parameter information to initialize the deployed smart contract by executing the fourth transaction.
FIG. 4 illustrates a method 200 for collaboratively deploying target intelligent contracts in a blockchain. Method 200 differs from method 100 in that, rather than a single system contract, a first intelligent contract for creating an authorization flow and a second intelligent contract for executing an authorization flow are pre-deployed in a blockchain. The intelligent contracts to be cooperatively deployed in the blockchain are referred to herein as target intelligent contracts merely to avoid confusion with the first intelligent contract and the second intelligent contract without any limitation. For example, the first and second intelligent contracts may be pre-deployed in a blockchain with reference to the process of creating intelligent contracts shown in fig. 1. Similarly, the method 200 may include: at S202, receiving and executing, by a blockchain network, a first transaction to create an authorization flow for approving a target intelligent contract generated by a deployment initiator, the first transaction including information about invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information including a first hash value of the target intelligent contract and identity information of a collaboration participant; at S204, receiving and executing a second transaction by the blockchain network to generate an approval result for the target intelligent contract, the second transaction including information about invoking the second intelligent contract and second parameter information for initializing the second intelligent contract, the second parameter information including a second hash value of a copy of the target intelligent contract obtained by a collaboration party from a deployment initiator and a modification of an approval state of the target intelligent contract by the collaboration party; at S206, when the approval result of the target intelligent contract is passed, a third transaction including information about creating the target intelligent contract is received and executed by the blockchain network to deploy the target intelligent contract in the blockchain. In some embodiments, the method 200 may further include: at S208, after the target intelligent contract is deployed in the blockchain, a fourth transaction including information about initializing the target intelligent contract is received and executed by the blockchain network to initialize the target intelligent contract. Other aspects of the method 200 may be the same or similar to the method 100, except for the differences described above, and are not described in further detail herein.
As previously described, when a transaction is sent to the blockchain network, each blockchain link point can perform the transaction in the EVM. Thus, the above method may be performed at any blockchain node of a blockchain network. In some embodiments, each of the first through fourth transactions may be received at the first blockchain node and then executed at the second blockchain node. The first and second blockchain nodes may be the same or different. In some embodiments, the first through fourth transactions may be received and/or executed at the same or different blockchain nodes from each other.
Referring to fig. 5, the blockchain network 20 includes a plurality of blockchain nodes, such as a first blockchain node 201, a second blockchain node 202, a third blockchain node 203, a fourth blockchain node 204, and the like. In some embodiments, the first transaction and the third transaction may be sent to the blockchain network 20 by the first client 211 of the deployment initiator, and the second transaction and the fourth transaction are sent to the blockchain network 20 by the second client 212 of the collaboration participant. In some examples, the first transaction and the third transaction may be sent by the first client 211 of the deployment initiator to the first blockchain node 201. The first and third transactions may then be synchronized to other blockchain nodes 202, 203, 204 via the blockchain network 20. In some examples, the second transaction and the fourth transaction are sent by the second client 212 of the collaborative participant to the second blockchain node 202. The second and fourth transactions may then be synchronized to other blockchain nodes 201, 203, 204 via the blockchain network 20.
A first client 211 of a deployment initiator may be communicatively coupled to the first blockchain node 201. In some embodiments, the first blockchain node 201, which is communicatively coupled to the first client 211 of the deployment initiator, listens or reviews the approval results of the smart contracts from the blockchain and pushes the approval results of the smart contracts to the first client 211 of the deployment initiator. Alternatively, the first client 211 of the deployment initiator may itself be coupled to the blockchain network 20 as the first blockchain node 201. In some embodiments, the first client 211 of the deployment initiator may listen or review the approval results of the smart contract from the blockchain as the first blockchain node 201. In some embodiments, after the collaboration participant completes the approval, the deployment initiator may also be notified in an out-of-chain manner that the approval result has been generated.
A second client 212 of the collaboration participant may be communicatively coupled to the second blockchain node 202. In some embodiments, the second blockchain node 202, which is communicatively coupled with the second client 212 of the collaborative participant, listens for the authorization procedure creation event from the blockchain and pushes the authorization procedure creation event to the second client 212 of the collaborative participant. Alternatively, the second client 212 of the cooperative participant may itself be coupled to the blockchain network 20 as the second blockchain node 202. In some embodiments, the second client 212 of the collaboration participant listens for authorization procedure creation events from the blockchain as the second blockchain node 202. In some embodiments, after the deployment initiator completes creation of the authorization flow, the collaboration participant may also be notified in an out-of-chain manner that the authorization flow has been created.
Additionally, in some embodiments, the first transaction and the third transaction may be sent by the first client 211 of the deployment initiator to, for example, a third blockchain node 203 that is different from the first blockchain node 201. The first blockchain node 201 may also receive and execute the first and third transactions as they are sent to the blockchain network 20 via the third blockchain node 203. The first client 211 of the deployment initiator may be communicatively coupled to the third blockchain node 203. Alternatively, the first client 211 of the deployment initiator may itself be coupled to the blockchain network 20 as the third blockchain node 203.
Additionally, in some embodiments, the second transaction and the fourth transaction may be sent by the second client 212 of the collaborative participant to, for example, a fourth blockchain node 204 that is different from the second blockchain node 202. The second blockchain node 202 may also receive and execute the second and fourth transactions as they are sent to the blockchain network 20 via the fourth blockchain node 204. A second client 212 of the collaboration participant may be communicatively coupled to the fourth blockchain node 204. Alternatively, the second client 212 of the cooperative participant may itself be coupled to the blockchain network 20 as the fourth blockchain node 204.
Referring to fig. 6, in some embodiments, the first and third transactions may be sent to the blockchain network 20 by a first hosting platform 221 communicatively coupled with a first client 211 of the deployment initiator, and the second and fourth transactions are sent to the blockchain network 20 by a second hosting platform 222 communicatively coupled with a second client 212 of the collaboration participant. In some examples, the first transaction and the third transaction may be sent to first blockchain node 201 by a first hosting platform 221 communicatively coupled with a first client 211 of the deployment initiator. The first and third transactions may then be synchronized to other blockchain nodes 202, 203, 204 via the blockchain network 20. In some examples, the second transaction and the fourth transaction are sent to the second blockchain node 202 by a second hosting platform 222 communicatively coupled with the second client 212 of the collaborative participant. The second and fourth transactions may then be synchronized to other blockchain nodes 201, 203, 204 via the blockchain network 20.
First hosting platform 221 may be communicatively coupled to first blockchain node 201. In some embodiments, first blockchain node 201 listens for or reviews approval results of the smart contracts from the blockchain and pushes the approval results of the smart contracts to first client 211 of the deployment initiator via first hosting platform 221 communicatively coupled with first client 211 of the deployment initiator. Alternatively, the first hosting platform 221 may itself be coupled to the blockchain network 20 as the first blockchain node 201. In some embodiments, a first hosting platform 221 communicatively coupled with the first client 211 of the deployment initiator listens for or reviews the approval results of the smart contracts from the blockchain as a first blockchain node 201 and pushes the approval results of the smart contracts to the first client 211 of the deployment initiator.
A second hosting platform 222 may be communicatively coupled to the second blockchain node 202. In some embodiments, the second blockchain node 202 listens for authorization procedure creation events from the blockchain and pushes the authorization procedure creation events to the second client 212 of the collaborative participant via a second hosting platform 222 communicatively coupled with the second client 212 of the collaborative participant. Alternatively, the second hosting platform 222 may itself be coupled to the blockchain network 20 as the second blockchain node 202. In some embodiments, a second hosting platform 222 communicatively coupled with the second client 212 of the collaboration participant listens for the authorization procedure creation event from the blockchain as the second blockchain node 202 and pushes the authorization procedure creation event to the second client 212 of the collaboration participant.
Additionally, in some embodiments, the first transaction and the third transaction may be sent by the first hosting platform 221 to, for example, a third blockchain node 203 that is different from the first blockchain node 201. The first blockchain node 201 may also receive and execute the first and third transactions as they are sent to the blockchain network 20 via the third blockchain node 203. The first hosting platform 221 may be communicatively coupled to the third blockchain node 203. Alternatively, the first hosting platform 221 may itself be coupled to the blockchain network 20 as a third blockchain node 203.
Additionally, in some embodiments, the second transaction and the fourth transaction may be sent by the second hosting platform 222 to, for example, a fourth blockchain node 204 that is different from the second blockchain node 202. The second blockchain node 202 may also receive and execute the second and fourth transactions as they are sent to the blockchain network 20 via the fourth blockchain node 204. The second hosting platform 222 may be communicatively coupled to the fourth blockchain node 204. Alternatively, the second hosting platform 222 may itself be coupled to the blockchain network 20 as the fourth blockchain node 204.
In some embodiments, the fourth transaction may be sent directly to blockchain network 20 by a hosting platform authorized by the collaboration participant without participation by the collaboration participant. That is, the actual deployment phase of the smart contract after approval has passed may not require interaction from the collaboration participant.
The first client 211 and the second client 212 may be any suitable computing device, such as, but not limited to, a desktop or laptop computer, a tablet computer, a smart phone, a personal digital assistant, and the like. First hosting platform 221 and second hosting platform 222 may be any suitable computing environment, such as, but not limited to, a server, a computing center, a cloud, and the like. In some embodiments, first hosting platform 221 and second hosting platform 222 are connected to each other to form a two-tier network. In some embodiments, first hosting platform 221 and second hosting platform 222 are the same cloud computing platform. In some embodiments, each of the authoring, compiling, and checking of the smart contract is implemented on the deployment initiator's first client 211 or a first hosting platform 221 communicatively coupled with the deployment initiator's first client 211, respectively. For example, the deployment initiator may write and compile a smart contract on first client 211 and then check the smart contract on first hosting platform 221. In some embodiments, a first client 211 of the deployment initiator may be communicatively coupled to blockchain network 20 via first blockchain node 201 or as first blockchain node 201, while a first hosting platform 221 communicatively coupled with first client 211 may not be communicatively coupled to blockchain network 20 and used to implement at least one of the authoring, compiling, and checking of the intelligent contract and return a corresponding result to first client 211, with the first transaction then still being sent by first client 211 to blockchain network 20.
The authorization management in the method 100 or 200 may also interface with existing approval processes of the collaboration participants, so as to implement an internal approval process of the collaboration participant mechanism. In some embodiments, the method 100 or 200 may further comprise: responding to the monitored authorization flow creation event, acquiring information about the created authorization flow and inputting the information into an internal approval flow of a cooperation participant; and after executing the internal approval process, sending a second transaction to the second blockchain node 202, wherein the approval status of the smart contract is modified based on the approval results of the internal approval process.
In some cases, collaboration may also involve more parties. The method for collaborative deployment of intelligent contracts in blockchains according to the present disclosure may be applicable to the case of two or more collaborative participants. In some embodiments, the two or more collaboration parties may include a deployment initiator, a first collaboration party, and a second collaboration party, whereby after S102, the method 100 may further alternatively include: receiving and executing, by a blockchain network, a first second transaction to generate a first approval result for the smart contract, the first second transaction including information regarding invoking a second method in the system contract for executing an authorization process and second parameter information for initiating the second method, the second parameter information in the first second transaction including a second hash value of a copy of the smart contract obtained by a first collaborative participant from a deployment initiator and a modification of an approval status of the smart contract by the first collaborative participant; receiving and executing, by the blockchain network, a second transaction to generate a second approval result for the smart contract, the second transaction including information regarding invoking a second method in the system contract for executing the authorization procedure and second parameter information for initiating the second method, the second parameter information in the second transaction including a second hash value of a copy of the smart contract obtained by a second collaborative party from a deployment initiator and a modification of an approval status of the smart contract by the second collaborative party; and receiving and executing, by the blockchain network, a third transaction including information about creating the intelligent contract to deploy the intelligent contract in a blockchain when both the first approval result and the second approval result of the intelligent contract pass. In this way, the first and second collaboration participants may each modify the approval status of their associated portion of the authorization flow based on the blockchain. In some embodiments, the method may further comprise: after the intelligent contract is deployed in the blockchain, a first fourth transaction including information about initializing intelligent contracts associated with a first collaborative party is received and executed by the blockchain network, and a second fourth transaction including information about initializing intelligent contracts associated with a second collaborative party is received and executed by the blockchain network to initialize the intelligent contract. In these cases, the method 200 may also be similarly modified and will not be described further herein.
As previously described, when a transaction is sent to the blockchain network, each blockchain link point can perform the transaction in the EVM. Thus, similar to the second transaction and the fourth transaction described above, after the second transaction and the second fourth transaction are sent to the blockchain network 20, any blockchain link point of the blockchain network 20 can execute the second transaction and the second fourth transaction.
In some embodiments, the second transaction and the second fourth transaction may be sent by the third client 213 of the second collaboration party to the third blockchain node 203. A third client 213 of the second collaboration participant may be communicatively coupled to the third blockchain node 203. In some embodiments, the third blockchain node 203, which is communicatively coupled with the third client 213 of the second collaborative participant, listens for the authorization procedure creation event from the blockchain and pushes the authorization procedure creation event to the third client 213 of the second collaborative participant. Alternatively, the third client 213 of the second cooperative participant may itself be coupled to the blockchain network 20 as the third blockchain node 203. In some embodiments, the third client 213 of the second collaboration participant listens for authorization procedure creation events from the blockchain as the third blockchain node 203.
Additionally, in some embodiments, the second transaction and the second fourth transaction may be sent by the third client 213 of the second collaboration party to, for example, a fourth blockchain node 204 that is different from the third blockchain node 203. The third blockchain node 203 may also receive and execute the second transaction and the second fourth transaction as the second transaction and the second fourth transaction are sent to the blockchain network 20 via the fourth blockchain node 204. A third client 213 of the second collaboration participant may be communicatively coupled to the fourth blockchain node 204. Alternatively, the third client 213 of the second cooperative participant may itself be coupled to the blockchain network 20 as the fourth blockchain node 204.
Additionally, referring to fig. 6, in some embodiments, the second transaction and the second fourth transaction may be sent to the third blockchain node 203 by a third hosting platform 223 communicatively coupled with a third client 213 of the second collaboration participant. The third hosting platform 223 may be communicatively coupled to the third blockchain node 203. In some embodiments, the third blockchain node 203 listens for authorization procedure creation events from the blockchain and pushes the authorization procedure creation events to the third client 213 of the second collaboration participant via a third hosting platform 223 communicatively coupled with the third client 213 of the second collaboration participant. Alternatively, the third hosting platform 223 itself may be coupled to the blockchain network 20 as a third blockchain node 203. In some embodiments, a third hosting platform 223 communicatively coupled with the third client 213 of the second collaboration participant listens for the authorization procedure creation event from the blockchain as the third blockchain node 203 and pushes the authorization procedure creation event to the third client 213 of the second collaboration participant. Additionally, in some embodiments, the second transaction and the second fourth transaction may be sent by the third hosting platform 223 to a different, e.g., fourth blockchain node 204 than the third blockchain node 203. The third blockchain node 203 may also receive and execute the second transaction and the second fourth transaction as the second transaction and the second fourth transaction are sent to the blockchain network 20 via the fourth blockchain node 204. The third hosting platform 223 may be communicatively coupled to the fourth blockchain node 204. Alternatively, the third hosting platform 223 itself may be coupled to the blockchain network 20 as the fourth blockchain node 204.
Additionally, referring to fig. 7, in some embodiments, the second client 212 of the first collaborative participant and the third client 213 of the second collaborative participant may each be communicatively coupled with a second hosting platform 222, and the first second transaction, the second transaction, the first fourth transaction, and the second fourth transaction may each be sent by the second hosting platform 222 to the blockchain network 20. In some embodiments, the first second transaction, the second transaction, the first fourth transaction, the second fourth transaction may be sent by the second hosting platform 222 to the second blockchain node 202. In some embodiments, the first second transaction, the second transaction, the first fourth transaction, the second fourth transaction may be sent by the second hosting platform 222 to, for example, a fourth blockchain node 204 that is different from the second blockchain node 202. The second blockchain node 202 may also receive and execute the first second transaction, the first fourth transaction, and the second fourth transaction as the first second transaction, the second transaction, the first fourth transaction, and the second fourth transaction are sent to the blockchain network 20 via the fourth blockchain node 204. The second hosting platform 222 may be communicatively coupled to the fourth blockchain node 204. Alternatively, the second hosting platform 222 may itself be coupled to the blockchain network 20 as the fourth blockchain node 204.
According to the method for cooperatively deploying the intelligent contract in the block chain, the intelligent contract deployment negotiation and consensus of each cooperative participant can be realized through the authorization process based on the block chain under the condition of multiple participants, the registration of information required by the participation of each participant and the cooperation can also be realized through the initialization of the contract, the efficiency of commonly deploying the intelligent contract by the multiple participants is improved, the information privacy of each participant is protected, and the authorization process can be traced and cannot be tampered.
A block link point device 300 for deploying intelligent contracts in a block chain according to one or more embodiments of the present description is described below in connection with fig. 8. The blockchain node apparatus 300 includes a receiving module 301 and an executing module 302. Blockchain node devices 300 may be deployed at any blockchain link point in the aforementioned blockchain network 20.
In some embodiments, system contracts for entitlement management are pre-deployed in a blockchain, whereby blockchain node device 300 may be configured to perform method 100. In particular, the receiving module 301 may be configured to: receiving a first transaction, wherein the first transaction comprises information about calling a first method used for creating an authorization flow in the system contract and first parameter information used for initializing the first method, and the first parameter information comprises a first hash value of an intelligent contract generated by a deployment initiator and identity information of a cooperative participant; receiving a second transaction, wherein the second transaction comprises information about invoking a second method used for executing the authorization process in the system contract and second parameter information used for initializing the second method, and the second parameter information comprises a second hash value of a copy of the intelligent contract obtained by a cooperative participant from a deployment initiator and a modification of the approval state of the intelligent contract by the cooperative participant; and receiving a third transaction, the third transaction including information regarding creation of the smart contract. The execution module 302 may be configured to: executing the first transaction to create an authorization flow for approving the smart contract; executing the second transaction to generate an approval result for the smart contract; and when the approval result of the intelligent contract is passed, executing the third transaction to deploy the intelligent contract in a blockchain.
In some embodiments, a first intelligent contract for creating an authorization procedure and a second intelligent contract for approving an authorization procedure are pre-deployed in a blockchain, whereby blockchain nexus appliance 300 may be configured to perform method 200. In particular, the receiving module 301 may be configured to: receiving a first transaction, the first transaction comprising information about invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information comprising a first hash value of a target intelligent contract generated by a deployment initiator and identity information of a collaboration participant; receiving a second transaction, wherein the second transaction comprises information about invoking the second intelligent contract and second parameter information for initializing the second intelligent contract, and the second parameter information comprises a second hash value of a copy of the target intelligent contract obtained by the cooperative participant from the deployment initiator and a modification of the approval state of the target intelligent contract by the cooperative participant; and receiving a third transaction, the third transaction including information regarding creation of the target smart contract. The execution module 302 may be configured to: executing the first transaction to create an authorization flow for approving the target smart contract; executing the second transaction to generate an approval result for the target smart contract; and when the approval result of the target intelligent contract is passed, executing the third transaction to deploy the target intelligent contract in a blockchain.
The embodiment of the blockchain node device 300 is basically similar to the foregoing method embodiments, and therefore, the description thereof is omitted here, and the related points can be referred to the description of the method embodiments.
A system 400 for deploying intelligent contracts in a blockchain in accordance with one or more embodiments of the present description is described below in conjunction with fig. 9. System 400 includes a first block link point device 410 and a second block link point device 420. First block link point device 410 includes a first receiving module 411 and a first executing module 412. Second block link point device 420 includes a second receiving module 421 and a second executing module 422. First and second block-link point devices 410 and 420 may be deployed at any of the aforementioned block-link points in block chain network 20.
In some embodiments, system contracts for authorization management are pre-deployed in a blockchain, whereby system 400 may be configured to perform method 100. In particular, the first receiving module 411 may be configured to: receiving a first transaction, wherein the first transaction comprises information about calling a first method used for creating an authorization flow in the system contract and first parameter information used for initializing the first method, and the first parameter information comprises a first hash value of an intelligent contract generated by a deployment initiator and identity information of a cooperative participant; and receiving a third transaction, the third transaction including information regarding creation of the smart contract. The first execution module 412 may be configured to: executing the first transaction to create an authorization flow for approving the smart contract; and when the approval result of the intelligent contract is passed, executing a third transaction to deploy the intelligent contract in the blockchain. The second receiving module 421 may be configured to receive a second transaction, where the second transaction includes information about invoking a second method in the system contract for executing the authorization flow and second parameter information for initializing the second method, and the second parameter information includes a second hash value of a copy of the intelligent contract obtained by the cooperative participant from the deployment initiator and a modification of the approval state of the intelligent contract by the cooperative participant. The second execution module 422 may be configured to execute the second transaction to generate an approval result for the smart contract.
In some embodiments, a first intelligent contract for creating an authorization procedure and a second intelligent contract for approving an authorization procedure are pre-deployed in a blockchain, whereby the system 400 may be configured to perform the method 200. In particular, the first receiving module 411 may be configured to: receiving a first transaction, the first transaction comprising information about invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information comprising a first hash value of a target intelligent contract generated by a deployment initiator and identity information of a collaboration participant; and receiving a third transaction, the third transaction including information regarding creation of the target smart contract. The first execution module 412 may be configured to: executing the first transaction to create an authorization flow for approving the target smart contract; and when the approval result of the target intelligent contract is passed, executing the third transaction to deploy the target intelligent contract in a blockchain. The second receiving module 421 may be configured to receive a second transaction including information about invoking the second intelligent contract and second parameter information for initializing the second intelligent contract, the second parameter information including a second hash value of a copy of the target intelligent contract obtained by the collaborative participants from the deployment initiator and a modification of the approval status of the target intelligent contract by the collaborative participants. The second execution module 422 may be configured to execute the second transaction to generate an approval result for the target smart contract.
The embodiment of the system 400 is substantially similar to the method embodiments described above, and therefore, the description thereof is omitted here, and reference may be made to the description of the method embodiments.
FIG. 10 is a block diagram that illustrates a computer system 500 upon which an embodiment of the specification may be implemented. Computer system 500 includes a bus 502 or other communication mechanism for communicating information, and a processor 504 coupled with bus 502 for processing information. Computer system 500 also includes a memory 506, which may be a Random Access Memory (RAM) or other dynamic storage device, coupled to bus 502 for storing instructions to be executed by processor 504. Memory 506 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 504. Computer system 500 further includes a Read Only Memory (ROM) 508 or other static storage device coupled to bus 502 for storing static information and instructions for processor 504. A storage device 510, such as a magnetic disk or optical disk, is provided and coupled to bus 502 for storing information and instructions. Computer system 500 may be coupled via bus 502 to an output device 512, such as, but not limited to, a display such as a Cathode Ray Tube (CRT) or Liquid Crystal Display (LCD), a speaker, etc., for providing output to a user. An input device 514, such as a keyboard, mouse, microphone, etc., is coupled to bus 502 for communicating information and command selections to processor 504. Computer system 500 may perform embodiments of the present description. Consistent with certain implementations of the present description, results are provided by computer system 500 in response to processor 504 executing one or more sequences of one or more instructions contained in memory 506. Such instructions may be read into memory 506 from another computer-readable medium, such as storage device 510. Execution of the sequences of instructions contained in memory 506 causes processor 504 to perform the methods described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement the teachings. Thus, implementations of this description are not limited to any specific combination of hardware circuitry and software. In various embodiments, computer system 500 may be connected across a network to one or more other computer systems, such as computer system 500, via network interface 516 to form a networked system. The network may comprise a private network or a public network such as the internet. In a networked system, one or more computer systems may store data and supply the data to other computer systems. The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 504 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 510. Volatile media includes dynamic memory, such as memory 506. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 502. Common forms of computer-readable media or computer program products include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, Digital Video Disk (DVD), blu-ray disk, any other optical medium, thumb drives, memory cards, a RAM, a PROM, and EPROM, a flash EPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read. Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 504 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 500 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infrared detector coupled to bus 502 can receive the data carried in the infrared signal and place the data on bus 502. The bus 502 carries the data to the memory 506, and the processor 504 retrieves instructions from the memory 506 and executes the instructions. Alternatively, the instructions received by memory 506 may be stored on storage device 510 either before or after execution by processor 504.
According to various embodiments, instructions configured to be executed by a processor to perform a method are stored on a computer-readable medium. The computer readable medium may be a device that stores digital information. For example, the computer readable medium includes a compact disk read only memory (CD-ROM) for storing software as is known in the art. The computer readable medium is accessed by a processor adapted to execute instructions configured to be executed.
For example, the present disclosure may also provide a computing device that may include one or more processors and a memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform a method according to any of the preceding embodiments of the present disclosure. As shown in fig. 11, the computing device 600 may include processor(s) 601 and memory 602 storing computer-executable instructions that, when executed by the processor(s) 601, cause the processor(s) 601 to perform a method according to any of the preceding embodiments of the present disclosure. The processor(s) 601 may be, for example, a Central Processing Unit (CPU) of the computing device 600. Processor(s) 601 may be any type of general-purpose processor, or may be a processor specifically designed for cooperative deployment of intelligent contracts in a blockchain, such as an application specific integrated circuit ("ASIC"). The memory 602 may include a variety of computer-readable media that are accessible by the processor(s) 601. In various embodiments, memory 602 described herein may include volatile and nonvolatile media, removable and non-removable media. For example, the memory 602 may include any combination of the following: random access memory ("RAM"), dynamic RAM ("DRAM"), static RAM ("SRAM"), read-only memory ("ROM"), flash memory, cache memory, and/or any other type of non-transitory computer-readable medium. The memory 602 may be stored such that when executed by the processor 601, causes the processor 601 to perform a method according to any of the preceding embodiments of the present disclosure.
Additionally, the present disclosure may also provide a non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform a method according to any of the preceding embodiments of the present disclosure.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a server system. Of course, this application does not exclude that with future developments in computer technology, the computer implementing the functionality of the above described embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device or a combination of any of these devices.
Although one or more embodiments of the present description provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive approaches. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. When an actual apparatus or end product executes, it may execute sequentially or in parallel (e.g., parallel processors or multi-threaded environments, or even distributed data processing environments) according to the method shown in the embodiment or the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, the presence of additional identical or equivalent elements in a process, method, article, or apparatus that comprises the recited elements is not excluded. For example, if the terms first, second, etc. are used to denote names, they do not denote any particular order.
For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, when implementing one or more of the present description, the functions of each module may be implemented in one or more software and/or hardware, or a module implementing the same function may be implemented by a combination of multiple sub-modules or sub-units, etc. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The present disclosure is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the disclosure. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
As will be appreciated by one skilled in the art, one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, one or more embodiments of the present description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
One or more embodiments of the present description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment. In the description of the specification, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the specification. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
The above description is merely exemplary of one or more embodiments of the present disclosure and is not intended to limit the scope of one or more embodiments of the present disclosure. Various modifications and alterations to one or more embodiments described herein will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement or the like made within the spirit and principle of the present specification should be included in the scope of the claims.

Claims (21)

1. A method for collaborative deployment of intelligent contracts in blockchains in which system contracts for entitlement management are pre-deployed, the method comprising:
receiving and executing, by a blockchain network, a first transaction to create an authorization flow for approving a smart contract generated by a deployment initiator, the first transaction including information regarding invoking a first method in the system contract for creating the authorization flow and first parameter information for initializing the first method, the first parameter information including a first hash value of the smart contract and identity information of a collaboration participant;
receiving and executing, by a blockchain network, a second transaction to generate an approval result for the intelligent contract, the second transaction including information on invoking a second method in the system contract for executing an authorization process and second parameter information for initializing the second method, the second parameter information including a second hash value of a copy of the intelligent contract obtained by a collaboration party from a deployment initiator and a modification of an approval state of the intelligent contract by the collaboration party; and
when the approval result of the intelligent contract is passed, a third transaction including information about creating the intelligent contract is received and executed by the blockchain network to deploy the intelligent contract in the blockchain.
2. The method of claim 1, wherein the second method is configured to generate the approval result of the smart contract as pass when the first hash value is the same as the second hash value and a collaborative participant modifies the approval status of the smart contract as pass.
3. The method of claim 1, wherein receiving and executing, by a blockchain network, a third transaction comprising information about creating the intelligent contract to deploy the intelligent contract in a blockchain comprises: calculating a third hash value of a smart contract included in the third transaction; deploying the smart contract when the third hash value is the same as the second hash value.
4. The method of claim 1, further comprising:
after deploying the intelligent contracts in a blockchain, a fourth transaction including information about initializing the intelligent contracts is received and executed by a blockchain network to initialize the intelligent contracts.
5. The method of claim 4, wherein the first transaction and the third transaction are sent to a blockchain network by a first client of a deployment initiator, and the second transaction and the fourth transaction are sent to a blockchain network by a second client of a collaboration participant.
6. The method of claim 4, wherein the first and third transactions are sent to a blockchain network by a first hosted platform communicatively coupled with a first client of a deployment initiator, and the second and fourth transactions are sent to a blockchain network by a second hosted platform communicatively coupled with a second client of a collaboration participant.
7. The method of claim 4, wherein the fourth transaction is sent directly to the blockchain network by a hosting platform authorized by the collaborative participant without participation by the collaborative participant.
8. The method of claim 1, wherein the first parameter information includes one or more of a composition result, a compilation result, and an inspection result of the intelligent contract.
9. The method of claim 8, wherein each of the authoring, compiling, and checking of the smart contract is implemented on the first client of the deployment initiator or a first hosting platform communicatively coupled with the first client of the deployment initiator, respectively.
10. The method of claim 1, wherein the first client of the deployment initiator listens for or reviews the approval results of the smart contract from the blockchain as a first blockchain node of the blockchain network.
11. The method of claim 1, wherein a first hosting platform communicatively coupled with a first client of a deployment initiator listens for or reviews approval results of the smart contracts from a blockchain as a first blockchain node of a blockchain network and pushes the approval results of the smart contracts to the first client of the deployment initiator.
12. The method of claim 1, wherein the second client of the collaboration participant listens for authorization procedure creation events from the blockchain as a second blockchain node of the blockchain network.
13. The method of claim 1, wherein a second hosting platform communicatively coupled with a second client of the collaborative participant listens for the authorization procedure creation event from the blockchain as a second blockchain node of the blockchain network and pushes the authorization procedure creation event to the second client of the collaborative participant.
14. The method of claim 12 or 13, further comprising:
responding to the monitored authorization flow creation event, acquiring information about the created authorization flow and inputting the information into an internal approval flow of a cooperation participant; and
after executing the internal approval process, sending the second transaction to the second block link point, wherein an approval status of the smart contract is modified based on approval results of the internal approval process.
15. The method of claim 1, wherein the second transaction is a first second transaction, the second parameter information in the first second transaction includes a second hash value of the copy of the smart contract obtained by the first collaborative participant from the deployment initiator and a modification of an approval status of the smart contract by the first collaborative participant, the approval result being a first approval result of the smart contract by the first collaborative participant, and the method further comprises:
receiving and executing, by the blockchain network, a second transaction to generate a second approval result for the smart contract, the second transaction including information regarding invoking a second method in the system contract for executing the authorization procedure and second parameter information for initiating the second method, the second parameter information in the second transaction including a second hash value of a copy of the smart contract obtained by a second collaborative party from a deployment initiator and a modification of an approval status of the smart contract by the second collaborative party; and
when both the first and second approval results of the smart contract pass, a third transaction including information about creating the smart contract is received and executed by the blockchain network to deploy the smart contract in the blockchain.
16. The method of claim 15, wherein the second client of the first collaboration party and the third client of the second collaboration party are each communicatively coupled with a second hosting platform, the first and second transactions each being sent by the second hosting platform to a blockchain network.
17. A method for collaboratively deploying target intelligent contracts in a blockchain in which a first intelligent contract for creating an authorization flow and a second intelligent contract for executing the authorization flow are pre-deployed, the method comprising:
receiving and executing, by a blockchain network, a first transaction to create an authorization flow for approving a target intelligent contract generated by a deployment initiator, the first transaction including information regarding invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information including a first hash value of the target intelligent contract and identity information of a collaboration participant;
receiving and executing, by the blockchain network, a second transaction to generate an approval result for the target smart contract, the second transaction including information regarding invoking the second smart contract and second parameter information for initializing the second smart contract, the second parameter information including a second hash value of a copy of the target smart contract obtained by a collaborative participant from a deployment initiator and a modification of an approval status of the target smart contract by the collaborative participant; and
when the approval result of the target intelligent contract is passed, receiving and executing a third transaction comprising information about creating the target intelligent contract by the blockchain network to deploy the target intelligent contract in the blockchain.
18. A blockchain link point apparatus for collaborative deployment of intelligent contracts in blockchains in which system contracts for entitlement management are pre-deployed, the blockchain node apparatus comprising:
a receiving module configured to:
receiving a first transaction comprising information about invoking a first method in the system contract for creating an authorization flow and first parameter information for initializing the first method, the first parameter information comprising a first hash value of a smart contract generated by a deployment initiator and identity information of a collaboration participant,
receiving a second transaction comprising information about invoking a second method in the system contract for performing the authorization process and second parameter information for initializing the second method, the second parameter information comprising a second hash value of a copy of the smart contract obtained by a collaborative participant from a deployment initiator and a modification of an approval status of the smart contract by the collaborative participant, and
receiving a third transaction, the third transaction including information regarding creation of the smart contract; and
an execution module configured to:
executing the first transaction to create an authorization flow for approving the smart contract,
executing the second transaction to generate an approval result for the smart contract, an
When the approval result of the intelligent contract is passed, executing the third transaction to deploy the intelligent contract in a block chain.
19. A block-linked-point apparatus for cooperatively deploying a target intelligent contract in a block chain in which a first intelligent contract for creating an authorization procedure and a second intelligent contract for executing the authorization procedure are pre-deployed, the block-linked-point apparatus comprising:
a receiving module configured to:
receiving a first transaction comprising information about invoking the first intelligent contract and first parameter information for initializing the first intelligent contract, the first parameter information comprising a first hash value of a target intelligent contract generated by a deployment initiator and identity information of a collaboration participant,
receiving a second transaction comprising information about invoking the second intelligent contract and second parameter information for initializing the second intelligent contract, the second parameter information comprising a second hash value of a copy of the target intelligent contract obtained by a collaborative participant from a deployment initiator and a modification of an approval status of the target intelligent contract by the collaborative participant, and
receiving a third transaction, the third transaction including information regarding creation of the target smart contract; and
an execution module configured to:
executing the first transaction to create an authorization flow for approving the target smart contract,
executing the second transaction to generate an approval result for the target smart contract, an
When the approval result of the target intelligent contract is passed, executing the third transaction to deploy the target intelligent contract in a blockchain.
20. A computing device for collaborative deployment of intelligent contracts in blockchains, comprising:
one or more processors; and
memory storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of any one of claims 1-17.
21. A non-transitory storage medium having stored thereon computer-executable instructions that, when executed by a computer, cause the computer to perform the method of any one of claims 1 to 17.
CN202111438048.7A 2021-11-30 2021-11-30 Intelligent contract deployment method, system, device and storage medium Active CN113849191B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111438048.7A CN113849191B (en) 2021-11-30 2021-11-30 Intelligent contract deployment method, system, device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111438048.7A CN113849191B (en) 2021-11-30 2021-11-30 Intelligent contract deployment method, system, device and storage medium

Publications (2)

Publication Number Publication Date
CN113849191A CN113849191A (en) 2021-12-28
CN113849191B true CN113849191B (en) 2022-02-22

Family

ID=78982282

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111438048.7A Active CN113849191B (en) 2021-11-30 2021-11-30 Intelligent contract deployment method, system, device and storage medium

Country Status (1)

Country Link
CN (1) CN113849191B (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388989A (en) * 2018-02-26 2018-08-10 深圳智乾区块链科技有限公司 Transaction methods, system and computer readable storage medium
KR102130062B1 (en) * 2018-09-18 2020-07-03 엔에이치엔 주식회사 A method for establishing agreement between nodes in a Blockchain network and a Blockchain system
CN110851877B (en) * 2019-11-19 2024-03-15 腾讯科技(深圳)有限公司 Data processing method and device, block chain node equipment and storage medium

Also Published As

Publication number Publication date
CN113849191A (en) 2021-12-28

Similar Documents

Publication Publication Date Title
JP7387781B2 (en) Systems and methods for implementing deterministic finite automata (DFA) via blockchain
Hasan et al. Decentralized cloud manufacturing-as-a-service (CMaaS) platform architecture with configurable digital assets
CN110471984B (en) Service processing method and device based on block chain and electronic equipment
CN110706114B (en) Block chain-based default asset processing method and device and electronic equipment
CN110163590B (en) Payment withholding method and device based on block chain, electronic equipment and storage medium
CN110458631B (en) Bill number distribution method and device based on block chain and electronic equipment
CN111026789B (en) Block chain-based electronic bill query method and device and electronic equipment
CN111159307B (en) Cross-link data subscription method and device
CN110147990B (en) Payment withholding subscription method and device based on block chain and electronic equipment
CN110765200B (en) Asset procurement method and device based on block chain and electronic equipment
CN111340631B (en) Asset transfer method, device, equipment and system
CN110162470B (en) Block chain testing method and device
CN111967849A (en) Task processing flow arrangement method and device and electronic equipment
US11615078B2 (en) Blockchain-based transaction methods
CN112101938B (en) Digital seal using method and device based on block chain and electronic equipment
KR102172514B1 (en) Managing method for test data based on blockchain node apparatus of blockchain
CN111899008B (en) Resource transfer method, device, equipment and system
CN112200569A (en) Block chain-based digital seal using method and device and electronic equipment
CN111047327A (en) Intelligent contract execution method, device and equipment
US20200286090A1 (en) Blockchain-based reimbursement splitting
CN116645061A (en) Customs clearance data processing method based on block chain system and consensus node
CN113849191B (en) Intelligent contract deployment method, system, device and storage medium
Mali et al. Food Supply Chain Management Using Hyperledger
CN113255008B (en) Method and system for outputting multimedia file
CN113469657A (en) Block chain-based physical seal using method and device and electronic equipment

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