CN112837155B - 区块链中智能合约的注册、执行方法和装置 - Google Patents
区块链中智能合约的注册、执行方法和装置 Download PDFInfo
- Publication number
- CN112837155B CN112837155B CN202110185551.XA CN202110185551A CN112837155B CN 112837155 B CN112837155 B CN 112837155B CN 202110185551 A CN202110185551 A CN 202110185551A CN 112837155 B CN112837155 B CN 112837155B
- Authority
- CN
- China
- Prior art keywords
- event
- contract
- intelligent contract
- built
- block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012544 monitoring process Methods 0.000 claims abstract description 50
- 230000001960 triggered effect Effects 0.000 claims abstract description 15
- 230000006870 function Effects 0.000 claims description 199
- 238000012545 processing Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了区块链中智能合约的注册、执行方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:确定区块链上部署的第一智能合约,其中,第一智能合约包括事件触发函数;通过预设的底层接口,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层;为事件生成对应的监听接口,并通过监听接口获取与事件相关的事件信息,以根据与事件相关的事件信息,执行第一智能合约。该实施方式能够通过注册对智能合约包括的事件触发函数对应的事件进行监控,实现了通过特定事件触发智能合约执行。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种区块链中智能合约的注册、执行方法和装置。
背景技术
区块链可以认为是去中心化、可信的分布式账本。由于区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构,以及在区块链中分布式存储和分布式记录数据,使得区块链具有不可篡改性。因此,将智能合约以数字化方式写入区块链,并通过执行区块链中的智能合约来完成对应交易,已越来越受到各机构的青睐。
目前,存在于区块链中的智能合约一般需要外部交易才能触发执行。对于一些需要特定事件来触发完成的交易如定时交易(实现金融机构之间固定时间对账的智能合约)、根据产生的业务记录执行交易(某一条业务记录出现时,执行对应的智能合约)等,仍是现有的智能合约管理和执行方式亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种区块链中智能合约的注册、执行方法和装置,能够通过注册对智能合约包括的事件触发函数对应的事件进行监控,以根据监控的结果(即与事件相关的事件信息),执行第一智能合约,即实现了通过特定事件触发智能合约执行。
为实现上述目的,根据本发明实施例的一个方面,提供了一种区块链中智能合约的注册方法,包括:
确定区块链上部署的第一智能合约,其中,所述第一智能合约包括事件触发函数;
通过预设的底层接口,将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层;
为所述事件生成对应的监听接口,并通过所述监听接口获取与所述事件相关的事件信息,以根据与所述事件相关的事件信息,执行所述第一智能合约。
可选地,
所述第一智能合约进一步包括合约信息表,所述合约信息表整理有所述智能合约的标识信息以及所述事件触发函数对应的事件;
将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层之前,进一步包括:
通过所述底层接口,获取所述合约信息表中的所述第一智能合约的标识信息以及所述事件触发函数对应的事件。
可选地,上述区块链中智能合约的注册方法,进一步包括:维护有事件触发函数类型与事件之间的对应关系;
将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层之前,进一步包括:
通过所述底层接口,从所述第一智能合约中获取所述第一智能合约的标识信息和所述事件触发函数;
根据所述对应关系,确定所述事件触发函数对应的事件。
可选地,上述区块链中智能合约的注册方法,进一步包括:为第二智能合约生成对应的交易块,并将所述第二智能合约对应的交易记录在所述交易块内,其中,所述第二智能合约为不具有事件触发函数的智能合约,以使所述第二智能合约基于所述交易块执行;
为所述第一智能合约生成对应的内置块或者位于所述交易块中的内置区域,为所述内置块或者位于所述内置区域配置对应的可消耗资源量,并将所述第一智能合约对应的交易记录在所述内置块或者所述内置区域内,以使所述第一智能合约基于所述内置块或者位于所述交易块中的内置区域执行。
可选地,将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层的步骤,包括:
当所述第一智能合约包括有至少两个事件触发函数,且每一个所述事件触发函数对应于所述第一智能合约中的一个处理逻辑,
通过预设的底层接口,将所述第一智能合约的标识信息、至少两个所述事件触发函数所对应的事件以及所述事件对应的处理逻辑的标识信息注册到所述区块链的底层。
可选地,上述区块链中智能合约的注册方法,进一步包括:
监控所述第一智能合约的更新情况;
当所述更新情况指示更新所述事件触发函数时,更新所述事件触发函数所对应的事件。
可选地,所述事件,包括:时间触发事件、块高触发事件以及业务记录触发事件中的任意一种或多种。
第二方面,本发明实施例提供一种区块链中智能合约的执行方法,包括:
针对包括有事件触发函数的第一智能合约,执行:
通过监听接口获取与所述事件触发函数对应的事件相关的事件信息;
当所述事件信息满足所述事件触发函数时,执行所述第一智能合约。
可选地,上述区块链中智能合约的执行方法,进一步包括:
针对不具有事件触发函数的第二智能合约设置有交易块,其中,所述交易块内记录所述第二智能合约对应的交易;
当接收到所述第二智能合约的执行触发时,执行所述第二智能合约对应的交易块。
可选地,上述区块链中智能合约的执行方法,进一步包括:针对所述第一智能合约设置有内置块或位于所述交易块中的内置区域,并且所述内置块或所述内置区域配置有对应的可消耗资源量,其中,所述内置块或所述内置区域记录有所述第一智能合约的交易;
执行所述第一智能合约的步骤,包括:
当接收到所述第一智能合约的执行触发时,判断当前所需的资源量是否不大于所述内置块或所述内置区域对应的可消耗资源量,如果是,则执行所述第一智能合约对应的所述内置块或所述内置区域,否则,禁止执行。
可选地,执行所述第一智能合约的步骤,包括:
当所述第一智能合约包括有至少两个事件触发函数,且每一个所述事件触发函数对应于所述第一智能合约中的一个处理逻辑,
根据所述事件信息,执行所述事件触发函数对应的处理逻辑。
第三方面,本发明实施例提供一种区块链中智能合约的注册装置,其特征在于,包括:确定单元、注册单元以及第一监控单元,其中,
所述确定单元,用于确定区块链上部署的第一智能合约,其中,所述第一智能合约包括事件触发函数;
所述注册单元,用于通过预设的底层接口,将所述确定单元确定出的所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层;
所述第一监控单元,用于为所述事件生成对应的监听接口,并通过所述监听接口获取与所述事件相关的事件信息,以根据与所述事件相关的事件信息,执行所述第一智能合约。
第四方面,本发明实施例提供一种区块链中智能合约的执行装置,其特征在于,第二监控单元以及执行单元,其中,
所述第二监控单元,用于针对包括有事件触发函数的第一智能合约,执行:通过监听接口获取与所述事件触发函数对应的事件相关的事件信息;
所述执行单元,用于当所述事件信息满足所述事件触发函数时,执行所述第一智能合约。
上述发明中的一个实施例具有如下优点或有益效果:因为通过预设的底层接口,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层,并为该事件生成对应的监听接口,即通过将智能合约注册到区块链底层,能够通过注册对智能合约包括的事件触发函数对应的事件进行监控,以根据监控的结果(即与事件相关的事件信息),执行第一智能合约,实现通过特定事件触发智能合约执行。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明一实施例的区块链中智能合约的注册方法的主要流程的示意图;
图2是根据本发明另一实施例的区块链中智能合约的注册方法的主要流程的示意图;
图3是根据本发明一实施例的区块链中智能合约的执行方法的主要流程的示意图;
图4是根据本发明又一实施例的区块链中智能合约的执行方法的主要流程的示意图;
图5是根据本发明另一实施例的区块链中智能合约的执行方法的主要流程的示意图;
图6是根据本发明实施例的区块链中智能合约的注册装置的主要单元的示意图;
图7是根据本发明实施例的区块链中智能合约的执行装置的主要单元的示意图;
图8是本发明实施例可以应用于其中的示例性***架构图;
图9是适于用来实现本发明实施例的服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
智能合约是一套以编程语言定义的承诺或义务,合约参与方可以在上面执行这些承诺或义务的协议,该协议是由具有逻辑先后顺序的执行逻辑构成。
图1是根据本发明实施例的一种区块链中智能合约的注册方法,如图1所示,该区块链中智能合约的注册方法可包括如下步骤:
S101:确定区块链上部署的第一智能合约,其中,第一智能合约包括事件触发函数;
S102:通过预设的底层接口,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层;
S103:为事件生成对应的监听接口,并通过监听接口获取与事件相关的事件信息,以根据与事件相关的事件信息,执行第一智能合约。
其中,事件触发函数是一种判断函数或条件函数,通过将事件信息包括的事件特征(比如,某一业务执行完成标识、区块链的块高、区块链的块高增加量、当前时间等)输入到事件触发函数中,以判断该事件特征是否满足事件触发函数,如果满足,则触发事件触发函数对应的智能合约或者事件触发函数对应的智能合约中的逻辑执行。
其中,事件触发函数所对应的事件可以为预先定义的、与事件触发函数相匹配的、能够指示监听接口获取事件触发函数可识别的信息的事件。可通过为事件设置对应的事件标识或事件特征信息,以识别不同事件,并针对不同事件,获取事件相关的事件信息。比如,对于定时触发函数来说,其对应的事件为时间触发事件的事件标识,比如,定时触发智能合约执行的事件(该时间触发事件对应的事件信息,可以为***的时间,也可以为根据块高统计出的时间);对于块高触发函数来说,其对应的事件为块高触发事件(该块高触发事件对应的事件信息,可为区块链的当前块高,也可以为区块链的块高增加量);对于业务记录触发函数来说,其对应的事件为业务记录触发事件(该特定业务执行完成触发事件对应的事件信息,可为该特定业务执行完成的特征标识)。
其中,底层接口是将智能合约的标识信息和事件触发函数对应的事件注册到区块链底层的通道,上述底层接口可通过设置接口信息规范等,比如,只允许智能合约的标识信息和事件触发函数对应的事件,不允许通过该底层接口读取信息等。以保证区块链的安全性。
图1所示的实施例中,因为通过预设的底层接口,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层,并为该事件生成对应的监听接口,即通过将智能合约注册到区块链底层,能够对智能合约包括的事件触发函数对应的事件进行监控,以根据监控的结果(即与事件相关的事件信息),执行第一智能合约,即实现了通过特定事件触发智能合约执行。
第一智能合约的执行需要得到链底层的原生支持(即:将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层,为事件生成对应的监听接口),其更依托整条链的信任基础。基于此,本发明实施例提供的方案中,区块链优选为联盟链。
在本发明实施例中,上述事件可包括:时间触发事件、块高触发事件以及业务记录触发事件中的任意一种或多种。实现了获取单个事件相关的信息或组合事件相关的信息,从而满足具有不同事件触发函数的智能合约的需求,比如,金融机构间的对账业务对应的智能合约、能够使更多的智能合约上链,以加强对更多的智能合约的安全管理。
在本发明实施例中,上述第一智能合约的标识信息和第一智能合约包括的事件触发函数对应的事件可具有两种来源以及获取方式:
第一智能合约的标识信息和事件的第一种来源以及获取方式:
第一智能合约进一步包括合约信息表,合约信息表整理有智能合约的标识信息以及事件触发函数对应的事件;相应地,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层之前可进一步包括:通过底层接口,获取合约信息表中的第一智能合约的标识信息以及事件触发函数对应的事件。通过上述过程,可根据智能合约提供的信息完成注册,保证注册信息的准确性。
该合约信息表的结构可如表1和表2所示。其中,表1示出了一个智能合约对应一个事件触发函数的情况,表2示出了一个智能合约中的多个逻辑分别具有对应的事件触发函数的情况。
表1
智能合约的标识信息 | 事件触发函数对应的事件 |
A | 事件1 |
表2
第一智能合约的标识信息和事件的第二种来源以及获取方式:
区块链中智能合约的注册方法可进一步包括:维护有事件触发函数与事件之间的对应关系;相应地,在将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层之前可进一步包括:通过底层接口,从第一智能合约中获取第一智能合约的标识信息和事件触发函数;根据对应关系,确定事件触发函数对应的事件。
该事件触发函数与事件之间的对应关系可如下表3所示。
表3
事件触发函数类型 | 事件 | 事件特征标识 |
类型1 | 时间触发事件 | SJ |
类型2 | 块高触发事件 | KG |
类型3 | 业务记录触发事件 | JL |
其中,事件触发函数类型主要是根据事件触发函数的结构、自变量等来确定出的。比如,对于自变量为时间的事件触发函数,其属于类型1,对于自变量为块高、块高增长量等与块高相关的信息的事件触发函数,其属于类型2,对于自变量为业务特征标识等与业务记录相关信息的事件触发函数,其属于类型3。
在对一个第一智能合约进行注册过程中,确定第一智能合约具有的事件触发函数的类型,通过查询表2,根据第一智能合约具有的事件触发函数的类型,为该事件触发函数匹配对应的事件,以将该事件和第一智能合约的标识信息对应注册到区块链的底层。
通过上述第一智能合约的标识信息和事件的第二种来源以及获取方式,实现了统一维护事件触发函数类型、事件以及事件特征标识,而无须智能合约的签约方对智能合约具有的事件触发函数对应的事件进行维护,保证整个区块链上注册的事件的规范和统一。
上述两种第一智能合约的标识信息和事件的来源以及获取方式的存在,使注册过程具有一定的灵活性和选择性,以满足不同的用户需求,更好地为用户服务,提高用户体验。
在本发明实施例中,为了实现对具有事件触发函数的智能合约以及不具有事件触发函数的智能合约的差异化管理。如图2所示,区块链中智能合约的注册方法,可进一步包括如下步骤:
S201:为第二智能合约生成对应的交易块,并将第二智能合约对应的交易记录在交易块内,其中,第二智能合约为不具有事件触发函数的智能合约,以使第二智能合约基于交易块执行;
S202:为第一智能合约生成对应的内置块或者位于交易块中的内置区域,为内置块或者内置区域配置对应的可消耗资源量,并将第一智能合约对应的交易记录在内置块或者内置区域内,以使第一智能合约基于内置块或者位于交易块中的内置区域执行。
可以理解地,在为第一智能合约生成内置块时,上述步骤S201和步骤S202之间没有严格的先后顺序。在为第一智能合约生成位于交易块中的内置区域时,需先存在至少一个交易块。
通过上述为内置块或者内置区域配置对应的可消耗资源量,这样在资源量低于该可消耗资源量,就会强制停止第一智能合约执行,避免了比如无限循环导致的停机问题。
另外,还可为第一智能合约生成对应的交易块,并在该交易块划分出内置区域,为该内置区域配置对应的可消耗资源量,该第一智能合约对应的交易块用于记录第一智能合约的交易记录,在执行第一智能合约之前,可先判断当前资源量是否不小于该内置区域对应的可消耗资源量,如果是,则执行第一智能合约,并将第一智能合约的交易记录在内置区域之外的交易块内,实现了将交易记录的记录区域与内置区域分开,方便对交易记录的管理。
在本发明实施例中,区块链中智能合约的注册方法可进一步包括:监控第一智能合约的更新情况;当更新情况指示更新事件触发函数时,更新事件触发函数所对应的事件。通过上述过程实现了对事件触发函数所对应的事件的更新,以保证智能合约执行的准确性。
在本发明实施例中,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层的步骤可包括:当第一智能合约包括有至少两个事件触发函数,且每一个事件触发函数对应于第一智能合约中的一个处理逻辑,通过预设的底层接口,将第一智能合约的标识信息、至少两个事件触发函数所对应的事件以及事件对应的处理逻辑的标识信息注册到区块链的底层。比如,第一智能合约包括的处理逻辑1对应事件触发函数1、处理逻辑2对应事件触发函数2、处理逻辑3对应事件触发函数3、处理逻辑4对应事件触发函数4、处理逻辑5对应事件触发函数5等,其中,事件触发函数1和事件触发函数2对应的事件1、事件触发函数3和事件触发函数4对应的事件2、事件触发函数5对应的事件3;处理逻辑1至处理逻辑5对应的特征标识分别为A1、A2、A3、A4以及A5,则注册结果可如表3所示。
表3
图3为本发明实施例提供一种区块链中智能合约的执行方法。如图3所示,该区块链中智能合约的执行方法可包括如下步骤:
针对包括有事件触发函数的第一智能合约,执行:
S301:通过监听接口获取与事件触发函数对应的事件相关的事件信息;
S302:当事件信息满足事件触发函数时,执行第一智能合约。
其中,针对业务记录触发函数来说,其对应的事件信息包括有已经执行完成的业务标识,相应地,事件信息满足业务记录触发函数是指,已经执行完成的业务标识与业务记录触发函数包括的业务标识相匹配或者已经执行完成的业务标识属于业务记录触发函数包括的业务标识中的一个。
针对时间触发函数来说,其对应的事件信息包括获取到的当前时间,相应地,事件信息满足时间触发函数是指,将当前时间添加到时间触发函数后,能够满足时间触发函数对应的条件限定,比如,时间触发函数为:0.9h≤Tn-Tn-1≤1.15h,其中,Tn表征当前时间,Tn-1表征第一智能合约上一次执行的执行时间;0.9h表征0.9小时,1h表征1小时,大于等于0.9h且小于等于1.15h为时间触发函数对应的条件限定;假设第一智能合约上一次执行的执行时间为2020.5.20/10:00,当前时间为2020.5.20/10:30,则当前时间不满足时间触发函数0.9h≤Tn-Tn-1≤1.15h;假设第一智能合约上一次执行的执行时间为2020.5.20/10:00,当前时间为2020.5.20/11:00,则当前时间满足时间触发函数0.9h≤Tn-Tn-1≤1.15h。其中,当前时间还可通过记录的块高乘以每一个块高生成的平均时间间隔得到。
针对块高触发函数来说,其对应的事件信息包括获取到的当前块高或者块高增长量,相应地,事件信息满足块高触发函数是指,将当前块高或者块高增长量添加到块高触发函数后,能够满足时间触发函数对应的条件限定,比如,块高触发函数为:100≤Gn-Gn-1≤200,其中,Gn表征当前时间,Gn-1表征第一智能合约上一次执行的执行时间,100表征块高100,200表征块高200,大于等于100且小于等于200为块高触发函数对应的条件限定;假设第一智能合约上一次执行的执行块高为1000,当前块高为1050,则当前时间不满足块高触发函数100≤Gn-Gn-1≤200;假设第一智能合约上一次执行的执行块高为1000,当前块高为1150,则当前时间满足块高触发函数100≤Gn-Gn-1≤200。
上述实施例,通过监听接口获取与事件触发函数对应的事件相关的事件信息,并通过判断事件信息是否满足事件触发函数,以判断是否执行具有该事件触发函数的第一智能合约,实现了在区块链内部通过事件信息和事件触发函数结合触发第一智能合约,能够有效地保证区块链中具有事件触发函数的第一智能合约能够根据事件相关的事件信息执行。
由于第一智能合约的执行需要得到链底层的原生支持(即:将所述第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层,为事件生成对应的监听接口),其更依托整条链的信任基础。基于此,本发明实施例提供的方案中,区块链优选为联盟链。
在本发明实施例中,如图4所示,区块链中智能合约的执行方法,可进一步包括如下步骤:
S401:针对不具有事件触发函数的第二智能合约设置有交易块,其中,交易块内记录第二智能合约对应的交易;
S402:当接收到第二智能合约的执行触发时,执行第二智能合约对应的交易块。
在本发明实施例中,如图5所示,区块链中智能合约的执行方法,可进一步包括如下步骤:
S501:针对第一智能合约设置有内置块或位于交易块中的内置区域,并且内置块或内置区域配置有对应的可消耗资源量,其中,内置块或内置区域记录有第一智能合约的交易;
S502:当接收到第一智能合约的执行触发时,判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行步骤S503;否则,执行步骤S504;
S503:执行第一智能合约对应的内置块或内置区域,并结束当前流程;
S504:禁止执行。
其中,可消耗资源量是指执行第一智能合约的签约方当前可提供的资源量。
当前所需的资源量是指执行第一智能合约,第一智能合约的签约方所需要的支付的资源量。
比如,当前智能合约为不具有事件触发函数的智能合约(通过区块链之外的外部触发执行的智能合约),则根据图4给出的实施例执行该当前智能合约。当前智能合约为具有事件触发函数的智能合约(通过区块链内部事件对应的事件信息触发执行的智能合约),则根据图5给出的实施例执行该当前智能合约。
通过上述图4和图5的实施例,实现了差异化执行不具有事件触发函数的智能合约和具有事件触发函数的智能合约。通过上述图5的实施例执行具有事件触发函数的智能合约,通过上述为内置块或者内置区域配置对应的可消耗资源量,这样在资源量低于该可消耗资源量,就会强制停止该具有事件触发函数的智能合约执行,避免了比如无限循环导致的停机问题。
在本发明实施例中,执行第一智能合约的步骤可包括:当第一智能合约包括有至少两个事件触发函数,且每一个事件触发函数对应于第一智能合约中的一个处理逻辑,根据事件信息,执行事件触发函数对应的处理逻辑。比如,事件信息a满足第一智能合约中的处理逻辑1对应的事件触发函数1,则执行该第一智能合约中的处理逻辑1;事件信息b满足第一智能合约中的处理逻辑3对应的事件触发函数3,则执行该第一智能合约中的处理逻辑3等。通过上述过程实现了分段执行智能合约中的逻辑,以满足智能合约更复杂、更多样的需求。
值得说明的是,上述各个实施例中,事件为时间触发事件,相应地,事件信息包括当前时间;事件为块高触发事件,相应地,事件信息包括区块链的块高;事件为业务记录触发事件,相应地,事件信息包括业务记录或者业务记录中的业务标识等。
如图6所示,本发明实施例提供一种区块链中智能合约的注册装置600,该区块链中智能合约的注册装置600可包括:确定单元601、注册单元602以及第一监控单元603,其中,
确定单元601,用于确定区块链上部署的第一智能合约,其中,第一智能合约包括事件触发函数;
注册单元602,用于通过预设的底层接口,将确定单元601确定出的第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层;
第一监控单元603,用于为事件生成对应的监听接口,并通过监听接口获取与事件相关的事件信息,以根据与事件相关的事件信息,执行第一智能合约。
在本发明实施例中,第一智能合约进一步包括合约信息表,合约信息表整理有智能合约的标识信息以及事件触发函数对应的事件;
注册单元602,进一步用于通过底层接口,获取合约信息表中的第一智能合约的标识信息以及事件触发函数对应的事件。
在本发明实施例中,注册单元602,进一步用于维护有事件触发函数类型与事件之间的对应关系;通过底层接口,从第一智能合约中获取第一智能合约的标识信息和事件触发函数;根据对应关系,确定事件触发函数对应的事件。
在本发明实施例中,注册单元602,进一步用于为第二智能合约生成对应的交易块,并将第二智能合约对应的交易记录在交易块内,其中,第二智能合约为不具有事件触发函数的智能合约,以使第二智能合约基于交易块执行;为第一智能合约生成对应的内置块或者位于交易块中的内置区域,为内置块或者位于内置区域配置对应的可消耗资源量,并将第一智能合约对应的交易记录在内置块或者内置区域内,以使第一智能合约基于内置块或者位于交易块中的内置区域执行。
在本发明实施例中,注册单元602,进一步用于当第一智能合约包括有至少两个事件触发函数,且每一个事件触发函数对应于第一智能合约中的一个处理逻辑,通过预设的底层接口,将第一智能合约的标识信息、至少两个事件触发函数所对应的事件以及事件对应的处理逻辑的标识信息注册到区块链的底层。
在本发明实施例中,第一监控单元603,进一步用于监控第一智能合约的更新情况;当更新情况指示更新事件触发函数时,更新事件触发函数所对应的事件。
如图7所示,本发明实施例提供一种区块链中智能合约的执行装置700,该区块链中智能合约的执行装置700可包括:第二监控单元701以及执行单元702,其中,
第二监控单元701,用于针对包括有事件触发函数的第一智能合约,执行:通过监听接口获取与所述事件触发函数对应的事件相关的事件信息;
执行单元702,用于当事件信息满足事件触发函数时,执行第一智能合约。
在本发明实施例中,执行单元702,进一步用于针对不具有事件触发函数的第二智能合约设置有交易块,其中,交易块内记录第二智能合约对应的交易;当接收到第二智能合约的执行触发时,执行第二智能合约对应的交易块。
在本发明实施例中,执行单元702,进一步用于针对第一智能合约设置有内置块或位于交易块中的内置区域,并且内置块或内置区域配置有对应的可消耗资源量,其中,内置块或内置区域记录有第一智能合约的交易;当接收到第一智能合约的执行触发时,判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行第一智能合约对应的内置块或内置区域,否则,禁止执行。
在本发明实施例中,执行单元702,进一步用于当第一智能合约包括有至少两个事件触发函数,且每一个事件触发函数对应于第一智能合约中的一个处理逻辑,根据事件信息,执行事件触发函数对应的处理逻辑。
图8示出了可以应用本发明实施例的区块链中智能合约的注册方法或区块链中智能合约的注册装置或区块链中智能合约的执行方法或区块链中智能合约的执行装置的示例性***架构800。
如图8所示,***架构800可以包括区块链网络801和区块链网络801的外接设备802,其中,区块链网络801是指用于进行节点与节点之间数据共享的网络,区块链网络801中可以包括多个节点8011。每个节点8011在进行正常工作可以接收到外接设备802的输入信息或其他节点广播的信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。为了保证区块链网络801内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。外接设备802可包括:终端设备8021、8022、8023,数据库8024、业务服务器8025和预言机8026。外接设备802可以接入区块链网络801,并可以与区块链网络801中的节点8011进行通信。
用户可以使用终端设备8021、8022、8023,数据库8024、业务服务器8025和预言机8026与区块链网络801交互,以接收或发送消息等。
终端设备8021、8022、8023可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
区块链网络801中的节点8011可以是提供各种服务的服务器,例如对用户利用终端设备8021、8022、8023提交的交易数据提供支持的管理服务器,又比如,对业务服务器8025或数据库8024提交的对账数据提供支持的后台管理服务器,又比如,对预言机8026提交的业务数据或对账数据或当前时间提供支持的管理服务器(仅为示例)。区块链网络801中的节点8011可以为接收到的业务数据或对账数据等调用对应的智能合约,以根据智能合约,对业务数据或对账数据进行分析等处理。
需要说明的是,本发明实施例所提供的区块链中智能合约的注册方法或区块链中智能合约的执行方法一般由区块链网络801中的节点8011执行,相应地,区块链中智能合约的注册装置或区块链中智能合约的执行装置一般设置于区块链网络801中的节点8011中。
应该理解,图8中的区块链网络中的节点、终端设备、数据库、业务服务器以及预言机的数目仅仅是示意性的。根据实现需要,可以具有任意数目的区块链网络中的节点、终端设备、数据库、业务服务器以及预言机。
下面参考图9,其示出了适于用来实现本发明实施例的区块链网络中的节点的计算机***900的结构示意图。图9示出的区块链网络中的节点仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机***900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有***900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括确定单元、注册单元以及第一监控单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,确定单元还可以被描述为“确定区块链上部署的第一智能合约的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:确定区块链上部署的第一智能合约,其中,第一智能合约包括事件触发函数;通过预设的底层接口,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层;为事件生成对应的监听接口,并通过监听接口获取与事件相关的事件信息,以根据与事件相关的事件信息,执行第一智能合约。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:针对包括有事件触发函数的第一智能合约,执行:通过监听接口获取与事件触发函数对应的事件相关的事件信息;当事件信息满足所述事件触发函数时,执行第一智能合约。
根据本发明实施例的技术方案,因为通过预设的底层接口,将第一智能合约的标识信息和事件触发函数所对应的事件注册到区块链的底层,并为该事件生成对应的监听接口,即通过将智能合约注册到区块链底层,能够通过注册对智能合约包括的事件触发函数对应的事件进行监控,以根据监控的结果(即与事件相关的事件信息),执行第一智能合约,实现通过特定事件触发智能合约执行。
根据本发明实施例的技术方案,通过监听接口获取与事件触发函数对应的事件相关的事件信息,并通过判断事件信息是否满足事件触发函数,以判断是否执行具有该事件触发函数的第一智能合约,实现了在区块链内部通过事件信息和事件触发函数结合触发第一智能合约,能够有效地保证区块链中具有事件触发函数的第一智能合约能够根据事件相关的事件信息执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种区块链中智能合约的注册方法,其特征在于,包括:
确定区块链上部署的第一智能合约,其中,所述第一智能合约包括事件触发函数;
通过预设的底层接口,将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层;
为所述事件生成对应的监听接口,并通过所述监听接口获取与所述事件相关的事件信息,以根据与所述事件相关的事件信息,执行所述第一智能合约;
所述区块链中智能合约的注册方法进一步包括:为所述第一智能合约生成对应的内置块或者位于第二智能合约对应的交易块中的内置区域,为所述内置块或者所述内置区域配置对应的可消耗资源量,并将所述第一智能合约对应的交易记录在所述内置块或者所述内置区域内,其中,所述第二智能合约为不具有事件触发函数的智能合约;
其中,使所述第一智能合约基于所述内置块或者位于所述交易块中的内置区域执行,包括:当接收到所述第一智能合约的执行触发时,判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行所述第一智能合约。
2.根据权利要求1所述的区块链中智能合约的注册方法,其特征在于,
所述第一智能合约进一步包括合约信息表,所述合约信息表整理有所述智能合约的标识信息以及所述事件触发函数对应的事件;
将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层之前,进一步包括:
通过所述底层接口,获取所述合约信息表中的所述第一智能合约的标识信息以及所述事件触发函数对应的事件。
3.根据权利要求1所述的区块链中智能合约的注册方法,其特征在于,
进一步包括:维护有事件触发函数类型与事件之间的对应关系;
将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层之前,进一步包括:
通过所述底层接口,从所述第一智能合约中获取所述第一智能合约的标识信息和所述事件触发函数;
根据所述对应关系,确定所述事件触发函数对应的事件。
4.根据权利要求1所述的区块链中智能合约的注册方法,其特征在于,进一步包括:
为第二智能合约生成对应的交易块,并将所述第二智能合约对应的交易记录在所述交易块内,以使所述第二智能合约基于所述交易块执行。
5.根据权利要求1所述的区块链中智能合约的注册方法,其特征在于,将所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层的步骤,包括:
当所述第一智能合约包括有至少两个事件触发函数,且每一个所述事件触发函数对应于所述第一智能合约中的一个处理逻辑,
通过预设的底层接口,将所述第一智能合约的标识信息、至少两个所述事件触发函数所对应的事件以及所述事件对应的处理逻辑的标识信息注册到所述区块链的底层。
6.根据权利要求1所述的区块链中智能合约的注册方法,其特征在于,进一步包括:
监控所述第一智能合约的更新情况;
当所述更新情况指示更新所述事件触发函数时,更新所述事件触发函数所对应的事件。
7.根据权利要求1至6任一所述的区块链中智能合约的注册方法,其特征在于,所述事件,包括:
时间触发事件、块高触发事件以及业务记录触发事件中的任意一种或多种。
8.一种区块链中智能合约的执行方法,其特征在于,包括:
针对包括有事件触发函数的第一智能合约,执行:
通过监听接口获取与所述事件触发函数对应的事件相关的事件信息;
当所述事件信息满足所述事件触发函数时,执行所述第一智能合约;
进一步包括:针对所述第一智能合约设置有内置块或位于第二智能合约对应的交易块中的内置区域,并且所述内置块或所述内置区域配置有对应的可消耗资源量,其中,所述内置块或所述内置区域记录有所述第一智能合约的交易;所述第二智能合约为不具有事件触发函数的智能合约;
执行所述第一智能合约的步骤,包括:
当接收到所述第一智能合约的执行触发时,判断当前所需的资源量是否不大于所述内置块或所述内置区域对应的可消耗资源量,如果是,则执行所述第一智能合约对应的所述内置块或所述内置区域,否则,禁止执行。
9.根据权利要求8所述的区块链中智能合约的执行方法,其特征在于,进一步包括:
针对不具有事件触发函数的第二智能合约设置有交易块,其中,所述交易块内记录所述第二智能合约对应的交易;
当接收到所述第二智能合约的执行触发时,执行所述第二智能合约对应的交易块。
10.根据权利要求8所述的区块链中智能合约的执行方法,其特征在于,执行所述第一智能合约的步骤,包括:
当所述第一智能合约包括有至少两个事件触发函数,且每一个所述事件触发函数对应于所述第一智能合约中的一个处理逻辑,
根据所述事件信息,执行所述事件触发函数对应的处理逻辑。
11.一种区块链中智能合约的注册装置,其特征在于,包括:确定单元、注册单元以及第一监控单元,其中,
所述确定单元,用于确定区块链上部署的第一智能合约,其中,所述第一智能合约包括事件触发函数;
所述注册单元,用于通过预设的底层接口,将所述确定单元确定出的所述第一智能合约的标识信息和所述事件触发函数所对应的事件注册到所述区块链的底层;
所述第一监控单元,用于为所述事件生成对应的监听接口,并通过所述监听接口获取与所述事件相关的事件信息,以根据与所述事件相关的事件信息,执行所述第一智能合约;
所述注册单元,进一步用于为所述第一智能合约生成对应的内置块或者位于第二智能合约对应的交易块中的内置区域,为所述内置块或者所述内置区域配置对应的可消耗资源量,并将所述第一智能合约对应的交易记录在所述内置块或者所述内置区域内,其中,所述第二智能合约为不具有事件触发函数的智能合约;
其中,使所述第一智能合约基于所述内置块或者位于所述交易块中的内置区域执行,包括:当接收到所述第一智能合约的执行触发时,判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行所述第一智能合约。
12.一种区块链中智能合约的执行装置,其特征在于,包括第二监控单元以及执行单元,其中,
所述第二监控单元,用于针对包括有事件触发函数的第一智能合约,执行:通过监听接口获取与所述事件触发函数对应的事件相关的事件信息;
所述执行单元,用于当所述事件信息满足所述事件触发函数时,执行所述第一智能合约;
所述执行单元,进一步用于针对所述第一智能合约设置有内置块或位于第二智能合约对应的交易块中的内置区域,并且所述内置块或所述内置区域配置有对应的可消耗资源量,其中,所述内置块或所述内置区域记录有所述第一智能合约的交易,所述第二智能合约为不具有事件触发函数的智能合约;当接收到所述第一智能合约的执行触发时,判断当前所需的资源量是否不大于所述内置块或所述内置区域对应的可消耗资源量,如果是,则执行所述第一智能合约对应的所述内置块或所述内置区域,否则,禁止执行。
13.一种区块链中智能合约的注册电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-10中任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185551.XA CN112837155B (zh) | 2021-02-10 | 2021-02-10 | 区块链中智能合约的注册、执行方法和装置 |
EP22752347.9A EP4293600A1 (en) | 2021-02-10 | 2022-02-10 | Registration and execution methods and apparatuses for a smart contract in a blockchain |
US18/276,872 US20240121120A1 (en) | 2021-02-10 | 2022-02-10 | Methods and Apparatuses for Registering and Executing Smart Contract in Blockchain |
PCT/CN2022/075942 WO2022171187A1 (zh) | 2021-02-10 | 2022-02-10 | 区块链中智能合约的注册、执行方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185551.XA CN112837155B (zh) | 2021-02-10 | 2021-02-10 | 区块链中智能合约的注册、执行方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112837155A CN112837155A (zh) | 2021-05-25 |
CN112837155B true CN112837155B (zh) | 2024-05-31 |
Family
ID=75933640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110185551.XA Active CN112837155B (zh) | 2021-02-10 | 2021-02-10 | 区块链中智能合约的注册、执行方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240121120A1 (zh) |
EP (1) | EP4293600A1 (zh) |
CN (1) | CN112837155B (zh) |
WO (1) | WO2022171187A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112837155B (zh) * | 2021-02-10 | 2024-05-31 | 中国人民银行数字货币研究所 | 区块链中智能合约的注册、执行方法和装置 |
CN116071065A (zh) * | 2021-10-29 | 2023-05-05 | 中国人民银行数字货币研究所 | 一种基于智能合约进行物联网支付的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073513A (zh) * | 2017-04-21 | 2018-05-25 | 富士通株式会社 | 对基于区块链的智能合约进行测试的装置和方法 |
CN109670950A (zh) * | 2018-10-29 | 2019-04-23 | 平安科技(深圳)有限公司 | 基于区块链的交易监听方法、装置、设备和存储介质 |
CN110264190A (zh) * | 2019-05-07 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 智能合约的触发方法、装置、设备及存储介质 |
CN111857892A (zh) * | 2020-09-22 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 通过区块链进行业务处理的方法及装置 |
WO2020233622A1 (zh) * | 2019-05-20 | 2020-11-26 | 创新先进技术有限公司 | 结合代码标注与多类型维度的收据存储方法和节点 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108510251A (zh) * | 2018-03-30 | 2018-09-07 | 上海分赋信息科技有限公司 | 基于外部数据构建多种触发机制以执行区块链网络中智能合约的方法及*** |
EP3594867A1 (en) * | 2018-07-09 | 2020-01-15 | ABB Schweiz AG | Smart service contracts for asset health services |
CN112837155B (zh) * | 2021-02-10 | 2024-05-31 | 中国人民银行数字货币研究所 | 区块链中智能合约的注册、执行方法和装置 |
-
2021
- 2021-02-10 CN CN202110185551.XA patent/CN112837155B/zh active Active
-
2022
- 2022-02-10 US US18/276,872 patent/US20240121120A1/en active Pending
- 2022-02-10 WO PCT/CN2022/075942 patent/WO2022171187A1/zh active Application Filing
- 2022-02-10 EP EP22752347.9A patent/EP4293600A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073513A (zh) * | 2017-04-21 | 2018-05-25 | 富士通株式会社 | 对基于区块链的智能合约进行测试的装置和方法 |
CN109670950A (zh) * | 2018-10-29 | 2019-04-23 | 平安科技(深圳)有限公司 | 基于区块链的交易监听方法、装置、设备和存储介质 |
CN110264190A (zh) * | 2019-05-07 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 智能合约的触发方法、装置、设备及存储介质 |
WO2020233622A1 (zh) * | 2019-05-20 | 2020-11-26 | 创新先进技术有限公司 | 结合代码标注与多类型维度的收据存储方法和节点 |
CN111857892A (zh) * | 2020-09-22 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 通过区块链进行业务处理的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240121120A1 (en) | 2024-04-11 |
CN112837155A (zh) | 2021-05-25 |
WO2022171187A1 (zh) | 2022-08-18 |
EP4293600A1 (en) | 2023-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710236B (zh) | 基于共享服务的业务开发和实现方法、装置、平台及介质 | |
CN109844727B (zh) | 用于管理应用程序配置和相关联凭证的技术 | |
CN112860451A (zh) | 一种基于SaaS的多租户数据处理方法和装置 | |
CN112837155B (zh) | 区块链中智能合约的注册、执行方法和装置 | |
US20240121121A1 (en) | Registration and Execution Methods, Apparatuses and System of Timed Smart Contract in Blockchain | |
CN111127181B (zh) | 一种凭证记账方法和装置 | |
CN112837154B (zh) | 区块链中定时智能合约的注册、执行方法和装置 | |
CN112053105B (zh) | 划分服务区域的方法和装置 | |
WO2021115197A1 (zh) | 用于生成设备标识的方法、电子设备和计算机可读介质 | |
US20120005051A1 (en) | Semi-Automated Customer Model-Based Service Deployment Into Data Centers | |
CN111694670B (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
CN113010238A (zh) | 一种微应用调用接口的权限确定方法、装置和*** | |
CN113778565A (zh) | 一种接口数据处理方法和装置 | |
US11379561B2 (en) | License usage management | |
US20210256600A1 (en) | Connector leasing for long-running software operations | |
CN112380411B (zh) | 敏感词处理方法、装置、电子设备、***及存储介质 | |
CN112685075A (zh) | 灰度发布方法、装置、电子设备和计算机可读介质 | |
CN112463616A (zh) | 一种面向Kubernetes容器平台的混沌测试方法和装置 | |
US20180302348A1 (en) | System And Method For Parsing A Natural Language Communication From A User And Automatically Generating A Response | |
CN111179097B (zh) | 保单批改的方法、装置、电子设备和存储介质 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN116319322B (zh) | 电力设备节点通信连接方法、装置、设备和计算机介质 | |
CN114546475A (zh) | 一种服务***管理的方法及装置 | |
CN113064662A (zh) | 一种加载应用模块的方法、客户端和服务端 | |
CN116862326A (zh) | 一种物流账单处理方法、装置和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |