CN109146679B - 基于区块链的智能合约调用方法及装置、电子设备 - Google Patents

基于区块链的智能合约调用方法及装置、电子设备 Download PDF

Info

Publication number
CN109146679B
CN109146679B CN201810713426.XA CN201810713426A CN109146679B CN 109146679 B CN109146679 B CN 109146679B CN 201810713426 A CN201810713426 A CN 201810713426A CN 109146679 B CN109146679 B CN 109146679B
Authority
CN
China
Prior art keywords
call
rule
target
intelligent contract
calling
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
CN201810713426.XA
Other languages
English (en)
Other versions
CN109146679A (zh
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201810713426.XA priority Critical patent/CN109146679B/zh
Priority to TW107142220A priority patent/TWI709058B/zh
Publication of CN109146679A publication Critical patent/CN109146679A/zh
Priority to PCT/US2019/039491 priority patent/WO2020006222A1/en
Priority to SG11202004842PA priority patent/SG11202004842PA/en
Priority to EP19740459.3A priority patent/EP3701674A1/en
Priority to US16/456,227 priority patent/US11005844B2/en
Priority to US17/315,033 priority patent/US11588653B2/en
Application granted granted Critical
Publication of CN109146679B publication Critical patent/CN109146679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Marketing (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是一示例性实施例提供的一种基于区块链的智能合约调用装置的框图。
具体实施方式
在区块链技术领域,通常可以通过在区块链上部署智能合约,并在智能合约中声明与一些业务逻辑相关的执行程序,来将一些传统的业务与区块链进行结合;
例如,一种典型的业务场景中,可以通过在区块链上部署用于在线转账的智能合约,将传统的在线转账业务与区块链技术进行结合,使得用户可以通过客户端发起对该智能合约进行调用,来完成用户之间的在线转账。
在相关技术中,用户在发起对部署在区块链上的智能合约的调用处理过程,通常会呈现一种异步处理的特性。
其中,异步处理是与同步处理相对应的概念。所谓同步处理,是指发起一次调用后,需要等待本次调用执行完毕,并且被调用方将调用结果返回给调用发起方后,发起方才能够继续发起下一次调用。
所谓异步处理,是指发起一次调用后,被调用方可以在本次调用尚未执行时,就可以立即向调用发起方返回一个调用提示(比如调用受理的提示),使得调用发起方可以继续发起下一次调用而不需要等待。
例如,在实际应用中,用户可以通过客户端向部署在区块链上的智能合约提交一笔交易,发起对该智能合约的调用。而智能合约在接收到该笔交易后,在智能合约的调用处理过程尚未执行时,就可以立即向客户端返回一个调用受理的提示。此时对于客户端来说,仅得到了智能合约的一个调用反馈,而并没有同步的获得智能合约的调用结果。
然而,在实际应用中,当用户通过客户端发起对智能合约的调用后,通常具有同步的得到智能合约的调用结果的需求,因此在智能合约的调用本身是一个异步处理过程的前提下,如何在发起针对智能合约的调用后,能够同步且及时的得到智能合约的调用结果,是区块链技术领域中一个亟待解决的技术问题。
请参见图1,图1为本说明书示出的一种智能合约调用模式的示意图。
在本说明书示出的一种实施方式中,为了确保用户能够同步的得到智能合约的调用结果,客户端可以采用基于长连接进行同步等待的模式,来发起对智能合约的调用。
如图1所示,在这种模式下,用户客户端在调用区块链上部署的智能合约时,可以与区块链系统建立一个长连接,并通过该长连接将用于发起智能合约调用的交易,提交至智能合约。其中,在智能合约的调用过程中,该长连接需要始终保持。客户端可以通过保持该长连接,来等待区块链系统返回调用结果。而区块链系统在基于该笔交易完成对智能合约的调用后,可以通过该长连接将智能合约的调用结果返回给用户客户端。当用户客户端收到调用结果后,再关闭该长连接。
在以上技术方案中,虽然通过建立长连接的模式,使得用户在通过客户端发起对部署在区块链上的智能合约的调用后,能够同步的得到调用结果;然而,在该模式下,由于客户端发起的每笔交易,都需要保持长连接,并等待区块链系统返回调用结果,客户端实际上是对交易进行串行的处理,会严重占用客户端的计算资源,导致业务吞吐量低下;因此,这种模式无法应用在一些高并发的业务场景中。
请参见图2,图2为本说明书示出的另一种智能合约调用模式的示意图。
在本说明书示出的一种实施方式中,为了确保用户能够同步的得到智能合约的调用结果,客户端可以基于异步轮询调用结果的模式,来发起对智能合约的调用。
如图2所示,在这种模式下,客户端与区块链系统之间不再需要保持长连接,客户端在调用区块链上部署的智能合约时,可以与区块链系统建立一个临时连接,并通过临时连接将用于发起智能合约调用的交易,提交至智能合约,而智能合约在收到该交易后,可以对该交易进行编号,并立即将该交易的编号作为调用反馈返回给客户端。后续,客户端可以基于返回的交易编号,异步的向区块链系统发起轮询,来主动查询调用结果。
在以上技术方案中,虽然客户端与区块链系统之间不再需要保持长连接,不会导致如图1所示的模式下产生的交易串行处理的问题,然而客户端采用异步轮训,对业务客户端的性能消耗很严重;而且,轮询的次数难以控制,会对客户端的业务处理逻辑带来很大的不确定性。
有鉴于此,本说明书还提出一种通过为交易配置调用规则,通过执行调用规则的异步调用模式。
在实现时,可以为客户端发起的交易预配置用于发起智能合约调用的调用规则;
例如,在一种实施方式中,在上述调用规则中,可以声明交易可以调用的智能合约的ID、可以调用的该智能合约中的智能合约方法、以及在调用该智能合约方法时需要传递的调用参数,等等。
进一步的,当区块链中的节点设备在收到客户端发起的交易后,可以获取为该交易配置的调用规则,然后执行获取到的调用规则发起对目标智能合约的调用。
例如,在一种实施方式中,在上述调用规则中,可以声明交易可以调用的智能合约的ID、可以调用的该智能合约中的智能合约方法、以及在调用该智能合约方法时需要传递的调用参数,等等;区块链中的节点设备可以执行上述调用规则,将所述调用规则中声明的调用参数,传递至该调用规则中声明的目标智能合约中的目标智能合约方法,以发起对该目标智能合约方法的调用。
后续,当上述目标智能合约调用完成,上述节点设备可以将调用结果返回给上述客户端;例如,调用客户端的回调接口,将调用结果作为调用参数回传给至客户端。
在以上技术方案中,由于针对智能合约的调用,是通过执行为客户端发起的目标交易预配置的调用规则来完成的,因此在实际应用中,可以基于业务场景的业务逻辑复杂度,来灵活的配置调用规则,从而在将一些传统的业务与区块链进行结合的业务场景中,可以实现业务逻辑的可配置,能够更好的支撑复杂的业务场景。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图3,图3是本说明书一实施例提供的一种基于区块链的智能合约调用方法,应用于区块链中的节点设备,执行以下步骤:
步骤302,接收客户端发起的目标交易;其中,所述目标交易被预配置了用于发起智能合约调用的调用规则;
步骤304,获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用;
步骤306,响应于所述目标智能合约调用完成,将调用结果返回至所述客户端,
在本说明书描述的区块链,具体可以包括任意类型的区块链网络;例如,在实际应用中,可以采用共有链、私有链、或者联盟链中的任意一种。
在本说明书中所描述的交易,是指用户通过区块链的客户端创建,并需要最终发布至区块链的分布式数据库中的一笔数据。
其中,区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些与价值转移无关的其它类型的在线业务(比如,租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,交易可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求。
而上述目标交易,则是指由用户通过客户端创建的,用于发起对区块链上部署的智能合约进行调用的调用消息或者调用请求。
请参见图4,图4为本说明书示出的另一种智能合约调用模式的示意图。
在初始状态下,区块链的运营方在将一些传统的业务,与区块链进行结合时:
一方面,可以在区块链上部署智能合约,并在智能合约中声明与实际的业务逻辑相关的执行程序;例如,在智能合约中声明若干可供调用执行的智能合约方法,组成方法集合。
其中,在区块链上部署智能合约的具体实施过程,在本说明书中不再进行详述;
例如,在实际应用中,区块链的运营方可以将完成的智能合约代码,通过客户端接入区块链上的任一节点设备,在区块链中进行发布,由区块链中的节点设备进行共识处理;当共识通过后,开发完成的智能合约代码将会被收录存储至区块链的分布式数据库(即分布式账本),供其它用户进行调用。
另一方面,可以为客户端发起的交易预配置用于发起智能合约调用的调用规则。
在示出的一种实施方式中,在上述调用规则中,可以声明交易可以调用的智能合约的ID、可以调用的该智能合约中的智能合约方法、以及在调用该智能合约方法时需要传递的调用参数,等等。
通过这种方式,可以通过为客户端配置调用规则,来灵活的为客户端发起的交易,指定需要调用的智能合约以及相关的智能合约方法,从而可以提升业务的灵活性。
例如,在传统的智能合约调用中,用户通过客户端发起对智能合约的调用时,通常需要在发起的交易中指定智能合约的访问地址;也即,在传统的智能合约调用中,用户通过客户端只能够对特定的智能合约发起调用。而在本说明书中,由于交易需要调用的智能合约,完全由为交易配置的调用规则来声明,在交易中可以不再携带需要调用的智能合约的访问地址;因而,对于区块链的运营方来说,可以通过更新为交易配置的调用规则,来灵活的调整交易能够调用的智能合约,进而可以灵活的调整交易所能够触发的业务执行逻辑。
当然,在上述调用规则中,除了以上描述的可以声明交易可以调用的智能合约的ID、可以调用的该智能合约中的智能合约方法、以及在调用该智能合约方法时需要传递的调用参数等,在实际应用中,还可以基于实际的业务需求,在上述调用规则中引入其它形式的信息。
在示出的一种实施方式中,在为客户端发起的交易配置调用规则时,具体可以按照交易类型上的差异,为不同类型的交易分别配置调用规则;
例如,可以为不同类型的交易,配置不同的调用规则,使得不同类型的交易可以调用不同的智能合约,或者调用同一智能合约中声明的不同的智能合约方法,从而可以确保不同类型的交易,能够调用触发不同的业务执行逻辑。或者,也可以同一类型的交易,配置不同的调用规则,使得该类型的交易,可以调用不同的智能合约,或者调用同一智能合约中声明的不同的智能合约方法,来调用触发不同的业务执行逻辑。
在这种情况下,在上述调用规则中还可以包括调用规则所支持的交易类型。
在示出的另一种实施方式中,为了避免一些不具有智能合约调用权限的客户端,发起对已经部署的智能合约的调用,可以为调用规则增加权限管理手段,在调用规则中携带授权公钥,从而可以确保只有持有与上述授权公钥对应的私钥的客户端,才能发起对智能合约的调用。
请参见图5,图5为本说明书示出的一种调用规则的结构图。
在示出的一种实施方式中,上述调用规则具体可以包括以下字段:
消息类型字段(messageType),用于记录调用规则支持的消息类型。
授权公钥字段(pubKey),用于记录调用规则支持的授权公钥。
智能合约ID字段(contractID),用于记录调用规则声明的交易可以调用的智能合约ID。其中,上述智能合约ID字段中可以记录一个智能合约ID,也可以记录多个智能合约ID。
智能合约方法字段(methodName),用于记录调用规则声明的可以调用的智能合约方法。其中,该字段的智能合约方法,具体为上述智能合约ID字段声明的智能合约ID所指示的智能合约中的一种或者多种智能合约方法。
调用参数字段(parameters),用于记录在调用上述智能合约方法字段声明的智能合约方法时,需要向该智能合约方法传递的调用参数。
扩展字段(extendInfo),用于记录需要在调用规则中声明的业务扩展信息。其中,上述扩展字段中记录的扩展信息的具体类型,在本说明书中不进行特别限定,本领域技术人员可以基于实际的业务需求,来自定义设置;例如,在一种情形下,上述扩展字段中记录的扩展信息,具体可以是客户端发起交易的时刻对应的请求时间戳。
以下以上述调用规则为图5示出的结构为例对本说明书的技术方案进行说明。
在本说明书中,用户可以通过在客户端上,执行特定的调用操作,来发起对部署在区块链的智能合约的调用;其中,用户在客户端上执行的调用操作的具体类型,在本说明书中不进行特别限定;
例如,以用户通过调用区块链上部署的智能合约完成跨境转账的场景为例,在上述客户端的用户界面中,可以面向用户提供一个用于触发跨境转账的“转账按钮”。在这种情况下,上述特定的调用操作,具体可以是针对上述“转账按钮”的触发操作(比如点击操作)。
而客户端在检测到用户执行的上述调用操作后,可以创建一笔用于发起智能合约调用的目标交易,然后将该目标交易提交至接入的节点设备。
其中,在示出的一种实施方式中,客户端创建的上述目标交易中,具体可以携带用于确定该目标交易预配置的调用规则的描述信息。
而节点设备在收到该目标交易后,一方面,可以立即响应上述目标交易,向上述客户端返回一个调用提示;其中,需要强调的是,节点设备向上述客户端返回的调用提示,是异步处理机制中,被调用方向调用方返回的一个调用反馈,并不是最终的调用结果;例如,在实际应用中,上述调用提示,具体可以是一个调用被受理的提示;比如,在一个例子中,上述调用提示,具体可以是一条“您已成功发起XX合约,请等待合约返回结果”的文本提示。
另一方面,节点设备可以从该目标交易中获取上述描述信息,并基于获取到的描述信息,来确定为该目标交易配置的调用规则,然后从本地配置的调用规则集合中获取为该目标交易配置的调用规则。
请继续参见图5,以按照交易类型上的差异,为不同类型的交易分别配置调用规则为例,在这种场景下,上述描述信息具体可以是交易中的交易类型字段所记录的交易类型信息。
在这种情况下,节点设备可以从上述目标交易中读取交易类型信息,然后在上述调用规则集合中查找支持的交易类型与上述目标交易的交易类型匹配的调用规则。当在上述调用规则集合中查找到了支持的交易类型与上述目标交易的交易类型匹配的调用规则后,此时查找到的调用规则,则为区块链的运营方为该目标交易预配置的调用规则,该节点设备可以从上述调用规则集合中获取查找到的调用规则。
在本说明书中,用户通过客户端发起的目标交易,通常会基于客户端持有的私钥进行签名。而上述节点设备在收到上述目标交易后,除了可以基于与上述客户端持有的私钥对应的公钥对该目标交易的签名进行认证,完成对该交易发起方的身份认证过程以外,在从本地配置的调用规则集合中获取到为该目标交易配置的调用规则之后,还可以基于该调用规则的授权公钥字段中记录的授权公钥,对该目标交易的签名进行认证.
如果基于上述授权公钥对该目标交易的签名认证通过,表明该客户端为具有智能合约调用权限的合法客户端,此时节点设备可以进一步执行从上述调用规则集合中获取到的调用规则。
反之,如果基于上述授权公钥对该目标交易的签名认证失败,表明该客户端不具有智能合约调用权限,在这种情况下,节点设备可以不再执行从上述调用规则集合中获取到的调用规则,并将该客户端发起的目标交易丢弃。
通过这种方式,不仅可以有效的过滤掉一些不具有智能合约调用权限的客户端发起的无效交易,而且可以提升智能合约的调用安全等级,拒绝一些不具有调用权限的非法客户端的非法调用。
在示出的一种实施方式中,节点设备在执行为目标交易预配置的调用规则,发起对智能合约的调用时:
首先,可以读取上述调用规则的智能合约ID字段、智能合约方法字段、以及调用参数字段中记录的信息.
其次,上述节点设备可以进一步确认上述智能合约ID字段记录的智能合约ID所指示的目标智能合约,并在该智能合约中查找到上述智能合约方法字段中记录的目标智能合约方法.
最后,上述节点设备可以将上述调用参数字段中记录的调用参数,传递至查找到的上述目标智能合约方法中,发起对该目标智能合约方法的调用。
例如,在示出的一个例子中,以通过目标交易调用智能合约完成一笔转账为例,在这种场景下,为上述目标交易配置的调用规则可以用如下的字符串编码来表示:
sys.0xb288a.0xd7fd0.remit.A_B_USD_10.1522157079
其中,以上示出的调用规则,在结构上与图5示出的调用规则结合相对应的。“.”表示字段之间的分隔符;sys标识该条调用规则支持的交易类型为系统交易;0xb288a为该条调用规则支持的授权公钥;0xd7fd0为上述调用规则声明的交易需要执行的智能合约ID;remit为上述调用规则声明的需要调用执行的智能合约方法;(A_B_USD_10)为需要传递的调用参数,表示A向B转账10美元;1522157079表示发起上述目标交易的时刻对应的请求时间戳。
以上示出的调用规则的完整语义是,以上调用规则对公钥为0xb288a的客户端发起的系统交易生效;执行该调用规则,可以将调用参数 (A,B,USD,10)传递给智能合约0xd7fd0中的remit方法,完成一笔在线转账。)。
其中,需要说明的是,在实际应用中,上述调用规则采用的字符串编码方式,除了可以利用准确的字符串来表示以外,也可以支持利用通配符来进行表示。
又如,在示出的另一个例子中,仍以通过目标交易调用智能合约完成一笔转账为例,在这种场景下,为上述目标交易配置的调用规则还可以用如下的字符串编码来表示:
sys.0xb288a.0xd7fd0.*.A_B_USD_10.1522157079
以上示出的调用规则的完整语义是,以上调用规则对公钥为0xb288a的客户端发起的所有系统交易都生效。执行该调用规则,可以将调用参数 (A,B,USD,10)传递给智能合约中声明的全部执行方法(即利用通配符来指代智能合约0xd7fd0中声明的全部执行方法),来完成一笔在线转账。
可见,通过引入通配符,可以将上述调用规则灵活的映射成为不同的业务处理逻辑,为上层业务提供友好的支持。
例如,在实际应用中,通过引入通配符,可以将同一条调用规则,同时配置给多种不同的类型的交易,将多种不同类型的交易,映射成为相同的业务处理逻辑。比如,通过为不同类型的交易,配置相同的调用规则,来确保多种不同类型的交易,能够调用同一智能合约中声明的同一执行方法,来触发相应的业务处理逻辑。
请继续参见图4,在本说明书中,对于上述客户端而言,还可以面向区块链中的节点设备提供一个回调(callback)接口;例如,可以在上述客户端上开发一个面向区块链进行暴露的SPI接口。
当上述节点设备完成以上示出的智能合约调用过程,上述节点设备可以立即响应该智能合约调用完成的事件,调用上述回调接口,将上述目标智能合约的调用结果作为调用参数回传给上述客户端。
通过这种方式,由于客户端与区块链系统之间并不需要保持长连接,因此不会存在交易串行处理的问题;而且,由于本说明书中示出的智能合约的调用过程,仍然是一种异步处理过程,即节点设备在收到客户端提交的交易后,先返回调用提示,再通过调用客户端的回调接口将调用结果主动返回;因此,使得本说明书的技术方案,适合在一些高并发的业务场景中进行实施。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的智能合约调用装置的实施例。本说明书的基于区块链的智能合约调用装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书的基于区块链的智能合约调用装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图7是本说明书一示例性实施例示出的一种基于区块链的智能合约调用装置的框图。
请参考图7,所述基于区块链的智能合约调用装置70可以应用在前述图6所示的电子设备中,包括有:接收模块701、执行模块702和返回模块703。
接收模块701,接收客户端发起的目标交易;其中,所述目标交易被预配置了用于发起智能合约调用的调用规则;
执行模块702,获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用;
返回模块703,响应于所述目标智能合约调用完成,将调用结果返回至所述客户端。
在本实施例中,所述目标交易携带描述信息;所述描述信息用于确定为所述目标交易预配置的调用规则;
所述执行模块702:
基于所述描述信息确定为所述目标交易配置的调用规则,并从调用规则集合中获取确定出的调用规则。
在本实施例中,所述描述信息为所述目标交易的交易类型;所述调用规则中包括支持的交易类型;
所述执行模块702进一步:
查找支持的交易类型与所述目标交易的交易类型匹配的调用规则;
将查找到的所述调用规则确定为,为所述目标交易配置的调用规则。
在本实施例中,所述调用规则中声明了需要调用的目标智能合约、目标智能合约方法、以及调用参数;
所述执行模块702:
执行获取到的调用规则,将所述调用规则中声明的所述调用参数,传递至所述调用规则中声明的所述目标智能合约中的所述目标智能合约方法,以发起对所述目标智能合约方法的调用。
在本实施例中,所述调用规则中还包括授权公钥;所述目标交易还包括基于所述客户端持有的私钥提交的签名;
所述执行模块702进一步:
在执行获取到的所述调用规则发起对目标智能合约的调用之前, 基于所述调用规则中的授权公钥,对所述目标交易的签名进行认证;如果所述目标交易的签名认证通过,执行获取到的调用规则发起对目标智能合约的调用。
在本实施例中,所述返回模块703:
调用所述客户端的回调接口,将所述调用结果作为调用参数回传给至所述客户端。
在本实施例中,所述执行模块702进一步:
获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用之前,响应于接收到的所述目标交易,向所述客户端返回调用提示。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收客户端发起的目标交易;其中,所述目标交易被预配置了用于发起智能合约调用的调用规则;
获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用;
响应于所述目标智能合约调用完成,将调用结果返回至所述客户端。
在本实施例中,所述目标交易携带描述信息;所述描述信息用于确定为所述目标交易预配置的调用规则;
通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于所述描述信息确定为所述目标交易配置的调用规则,并从调用规则集合中获取确定出的调用规则。
在本实施例中,所述描述信息为所述目标交易的交易类型;所述调用规则中包括支持的交易类型
通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
查找支持的交易类型与所述目标交易的交易类型匹配的调用规则;
将查找到的所述调用规则确定为,为所述目标交易配置的调用规则。
在本实施例中,所述调用规则中声明了需要调用的目标智能合约、目标智能合约方法、以及调用参数;
通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
执行获取到的调用规则,将所述调用规则中声明的所述调用参数,传递至所述调用规则中声明的所述目标智能合约中的所述目标智能合约方法,以发起对所述目标智能合约方法的调用。
在本实施例中,所述调用规则中还包括授权公钥;所述目标交易还包括基于所述客户端持有的私钥提交的签名;
通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
执行获取到的所述调用规则发起对目标智能合约的调用之前,基于所述调用规则中的授权公钥,对所述目标交易的签名进行认证;如果所述目标交易的签名认证通过,执行获取到的调用规则发起对目标智能合约的调用。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
调用所述客户端的回调接口,将所述调用结果作为调用参数回传给至所述客户端。
在本实施例中,通过读取并执行所述存储器存储的与基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用之前,响应于接收到的所述目标交易,向所述客户端返回调用提示。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (11)

1.一种基于区块链的智能合约调用方法,所述方法包括:
接收客户端发起的、携带有描述信息的目标交易;其中,所述描述信息用于确定为所述目标交易预配置的调用规则,所述目标交易被预配置了用于发起智能合约调用的调用规则,所述调用规则中声明了需要调用的目标智能合约、目标智能合约方法、以及调用参数;
响应于所述目标交易,向所述客户端返回与所述目标交易对应的所述目标智能合约的调用反馈,并基于所述描述信息确定为所述目标交易配置的调用规则,从调用规则集合中获取确定出的调用规则,并执行获取到的调用规则,将所述调用规则中声明的所述调用参数,传递至所述调用规则中声明的所述目标智能合约中的所述目标智能合约方法,以异步发起对所述目标智能合约方法的调用;
响应于所述目标智能合约调用完成,将调用结果返回至所述客户端。
2.根据权利要求1所述的方法,所述描述信息为所述目标交易的交易类型;所述调用规则中包括支持的交易类型;
所述基于所述描述信息确定为所述目标交易配置的调用规则,包括:
查找支持的交易类型与所述目标交易的交易类型匹配的调用规则;
将查找到的所述调用规则确定为,为所述目标交易配置的调用规则。
3.根据权利要求1所述的方法,所述调用规则中还包括授权公钥;所述目标交易还包括基于所述客户端持有的私钥提交的签名;
所述执行获取到的所述调用规则发起对目标智能合约的调用之前,还包括:
基于所述调用规则中的授权公钥,对所述目标交易的签名进行认证;如果所述目标交易的签名认证通过,执行获取到的调用规则发起对目标智能合约的调用。
4.根据权利要求1所述的方法,所述将调用结果返回至所述客户端,包括:调用所述客户端的回调接口,将所述调用结果作为调用参数回传给至所述客户端。
5.根据权利要求1所述的方法,所述获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用之前,还包括:
响应于接收到的所述目标交易,向所述客户端返回调用提示。
6.一种基于区块链的智能合约调用装置,所述装置包括:
接收模块,接收客户端发起的、携带有描述信息的目标交易;其中,所述描述信息用于确定为所述目标交易预配置的调用规则,所述目标交易被预配置了用于发起智能合约调用的调用规则,所述调用规则中声明了需要调用的目标智能合约、目标智能合约方法、以及调用参数;
返回模块,响应于所述目标交易,向所述客户端返回与所述目标交易对应的所述目标智能合约的调用反馈;
执行模块,基于所述描述信息确定为所述目标交易配置的调用规则,从调用规则集合中获取确定出的调用规则,并执行获取到的调用规则,将所述调用规则中声明的所述调用参数,传递至所述调用规则中声明的所述目标智能合约中的所述目标智能合约方法,以异步发起对所述目标智能合约方法的调用;
所述返回模块进一步,响应于所述目标智能合约调用完成,将调用结果返回至所述客户端。
7.根据权利要求6所述的装置,所述描述信息为所述目标交易的交易类型;所述调用规则中包括支持的交易类型;
所述执行模块进一步:
查找支持的交易类型与所述目标交易的交易类型匹配的调用规则;
将查找到的所述调用规则确定为,为所述目标交易配置的调用规则。
8.根据权利要求6所述的装置,所述调用规则中还包括授权公钥;所述目标交易还包括基于所述客户端持有的私钥提交的签名;
所述执行模块进一步:
在执行获取到的所述调用规则发起对目标智能合约的调用之前, 基于所述调用规则中的授权公钥,对所述目标交易的签名进行认证;如果所述目标交易的签名认证通过,执行获取到的调用规则发起对目标智能合约的调用。
9.根据权利要求6所述的装置,所述返回模块:
调用所述客户端的回调接口,将所述调用结果作为调用参数回传给至所述客户端。
10.根据权利要求6所述的装置,所述执行模块进一步:
获取为所述目标交易配置的调用规则,并执行获取到的所述调用规则发起对目标智能合约的调用之前,响应于接收到的所述目标交易,向所述客户端返回调用提示。
11.一种电子设备,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与基于区块链的基于区块链的智能合约调用的控制逻辑对应的机器可执行指令,所述处理器被促使:
接收客户端发起的、携带有描述信息的目标交易;其中,所述描述信息用于确定为所述目标交易预配置的调用规则,所述目标交易被预配置了用于发起智能合约调用的调用规则,所述调用规则中声明了需要调用的目标智能合约、目标智能合约方法、以及调用参数;
响应于所述目标交易,向所述客户端返回与所述目标交易对应的所述目标智能合约的调用反馈,并基于所述描述信息确定为所述目标交易配置的调用规则,从调用规则集合中获取确定出的调用规则,并执行获取到的调用规则,将所述调用规则中声明的所述调用参数,传递至所述调用规则中声明的所述目标智能合约中的所述目标智能合约方法,以异步发起对所述目标智能合约方法的调用;
响应于所述目标智能合约调用完成,将调用结果返回至所述客户端。
CN201810713426.XA 2018-06-29 2018-06-29 基于区块链的智能合约调用方法及装置、电子设备 Active CN109146679B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201810713426.XA CN109146679B (zh) 2018-06-29 2018-06-29 基于区块链的智能合约调用方法及装置、电子设备
TW107142220A TWI709058B (zh) 2018-06-29 2018-11-27 基於區塊鏈的智能合約調用方法及裝置、電子設備
PCT/US2019/039491 WO2020006222A1 (en) 2018-06-29 2019-06-27 Blockchain-based smart contract call methods and apparatus, and electronic device
SG11202004842PA SG11202004842PA (en) 2018-06-29 2019-06-27 Blockchain-based smart contract call methods and apparatus, and electronic device
EP19740459.3A EP3701674A1 (en) 2018-06-29 2019-06-27 Blockchain-based smart contract call methods and apparatus, and electronic device
US16/456,227 US11005844B2 (en) 2018-06-29 2019-06-28 Blockchain-based smart contract call methods and apparatus, and electronic device
US17/315,033 US11588653B2 (en) 2018-06-29 2021-05-07 Blockchain-based smart contract call methods and apparatus, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810713426.XA CN109146679B (zh) 2018-06-29 2018-06-29 基于区块链的智能合约调用方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN109146679A CN109146679A (zh) 2019-01-04
CN109146679B true CN109146679B (zh) 2023-11-10

Family

ID=64799638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810713426.XA Active CN109146679B (zh) 2018-06-29 2018-06-29 基于区块链的智能合约调用方法及装置、电子设备

Country Status (6)

Country Link
US (2) US11005844B2 (zh)
EP (1) EP3701674A1 (zh)
CN (1) CN109146679B (zh)
SG (1) SG11202004842PA (zh)
TW (1) TWI709058B (zh)
WO (1) WO2020006222A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109146679B (zh) 2018-06-29 2023-11-10 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
EP3815294B1 (en) * 2018-06-30 2023-06-07 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for implementing a distributed blockchain transaction processing element in a datacenter
US10628450B1 (en) * 2018-09-30 2020-04-21 Innoplexus Ag System and method for blockchain-based secure data processing
US10698798B2 (en) * 2018-11-28 2020-06-30 Sap Se Asynchronous consumer-driven contract testing in micro service architecture
CN110060155B (zh) 2019-01-31 2021-03-23 创新先进技术有限公司 区块链的智能合约执行方法及装置和电子设备
CN110177079B (zh) * 2019-04-17 2021-10-15 北京百度网讯科技有限公司 智能合约的调用系统及调用方法
CN110163721B (zh) * 2019-04-18 2022-06-03 创新先进技术有限公司 一种调整分成比例的方法、装置及计算机设备
CN110163634B (zh) * 2019-04-29 2023-10-10 创新先进技术有限公司 基于区块链的退款方法和装置、电子设备
CN110417905B (zh) * 2019-08-02 2022-06-07 深圳市迅雷网络技术有限公司 一种合约发布方法、装置、设备和联盟链系统
US11645398B2 (en) * 2019-08-02 2023-05-09 EMC IP Holding Company LLC System and method for data registration and access
US11797564B2 (en) 2019-08-02 2023-10-24 EMC IP Holding Company LLC System and method for data registration
CN110659907B (zh) * 2019-09-24 2021-11-12 北京海益同展信息科技有限公司 用于执行智能合约的方法和装置
CN111309931A (zh) * 2020-05-09 2020-06-19 支付宝(杭州)信息技术有限公司 基于区块链的交易方法、装置、电子设备及存储介质
EP3923173A1 (en) * 2020-06-10 2021-12-15 Christian Hieronimi Methods and devices for storing information in a distributed ledger database
CN111667371B (zh) * 2020-06-30 2021-08-06 腾讯科技(深圳)有限公司 基于区块链的资源聚合方法、系统、设备及存储介质
CN111767097B (zh) * 2020-08-31 2020-12-11 支付宝(杭州)信息技术有限公司 调用智能合约的方法及装置、电子设备、存储介质
CN112613877B (zh) * 2020-12-17 2021-12-07 腾讯科技(深圳)有限公司 应用于区块链网络的智能合约触发方法、装置及相关设备
CN113592646A (zh) * 2021-07-02 2021-11-02 中国人民银行数字货币研究所 智能合约的执行方法、装置和系统
CN113643157A (zh) * 2021-07-05 2021-11-12 中国人民银行数字货币研究所 智能合约的执行方法和装置
CN113469748A (zh) * 2021-07-12 2021-10-01 支付宝(杭州)信息技术有限公司 一种基于区块链的信息投放收益的确定方法和装置
CN114285632B (zh) * 2021-12-23 2023-07-28 成都质数斯达克科技有限公司 一种区块链数据传输方法、装置和设备及可读存储介质
TWI801092B (zh) * 2022-01-12 2023-05-01 動力安全資訊股份有限公司 用於資訊設備的設定變更方法
CN115344647A (zh) * 2022-10-20 2022-11-15 中国信息通信研究院 区块链数据的处理方法、装置、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106537344A (zh) * 2016-03-30 2017-03-22 北京小米移动软件有限公司 一种应用程序调用管理的方法和装置
CN107193672A (zh) * 2017-05-31 2017-09-22 无锡井通网络科技有限公司 一种跨区块异步调用合约系统
CN107392619A (zh) * 2017-07-31 2017-11-24 众安信息技术服务有限公司 智能合约处理方法及装置
CN107688927A (zh) * 2017-09-19 2018-02-13 中国银行股份有限公司 一种调用区块链上的智能合约的方法及系统
CN107820690A (zh) * 2017-08-21 2018-03-20 达闼科技成都有限公司 信息选取方法、装置、电子设备及计算机可读存储介质
US20180097779A1 (en) * 2016-09-30 2018-04-05 Nec Europe Ltd. Method and system for providing a transaction forwarding service in blockchain implementations

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW487851B (en) * 2000-08-08 2002-05-21 Chieh Chen Method and system for unloyal credit system actively presenting desired prizes by donee in internet with encryption assistance
US9954686B2 (en) * 2001-01-18 2018-04-24 Virnetx, Inc. Systems and methods for certifying devices to communicate securely
WO2007064880A2 (en) * 2005-12-01 2007-06-07 Firestar Software, Inc. System and method for exchanging information among exchange applications
CN101404104A (zh) * 2008-11-03 2009-04-08 田小平 一种电子发票和税务征管系统和方法
CN101751643A (zh) * 2008-12-04 2010-06-23 清华大学 保护基于电子合同进行电子商务交易安全的系统及方法
US10872077B2 (en) * 2013-09-23 2020-12-22 David D. Wright, SR. Management of entitlements using blockchain
US9824408B2 (en) * 2014-03-31 2017-11-21 Monticello Enterprises LLC Browser payment request API
US10368360B1 (en) * 2016-03-08 2019-07-30 Quantenna Communications, Inc. Network event based security and home automation
US11526938B2 (en) * 2016-03-31 2022-12-13 Refinitiv Us Organization Llc Systems and methods for providing financial data to financial instruments in a distributed ledger system
EP3465418B1 (en) * 2016-06-06 2023-03-08 Financial & Risk Organisation Limited Systems and methods for providing identity scores
KR102639537B1 (ko) * 2016-10-28 2024-02-23 엔체인 홀딩스 리미티드 블록체인을 통한 결정론적 유한 오토마타(DFAs) 구현을 위한 시스템 및 방법
JP6931999B2 (ja) * 2017-02-06 2021-09-08 株式会社日立製作所 信用度管理システムおよび信用度管理方法
EP3559882A1 (en) * 2017-03-22 2019-10-30 NEC Laboratories Europe GmbH Method for operating a blockchain
US10146792B1 (en) * 2017-05-31 2018-12-04 Symbiont.Io, Inc. Systems and methods for implementing a programming model for smart contracts within a decentralized computer network
CN107395674A (zh) * 2017-06-14 2017-11-24 广东网金控股股份有限公司 一种应用系统访问异构区块链平台的方法及装置
CN107507005B (zh) * 2017-08-01 2020-09-11 众安信息技术服务有限公司 一种基于联盟链的链外数据访问方法和系统
GB2569278A (en) * 2017-10-23 2019-06-19 Cygnetise Ltd Methods and apparatus for verifying a user transaction
EP3718069B1 (en) * 2017-11-30 2024-04-17 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
US20190188063A1 (en) * 2017-12-18 2019-06-20 Sap Se Mapping computer programs to network protocol methods
US10701054B2 (en) * 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
US10693662B2 (en) * 2018-02-22 2020-06-23 Idlogiq Inc. Methods for secure serialization of supply chain product units
US10606669B2 (en) * 2018-06-08 2020-03-31 Optum, Inc. Domain and event type-specific consensus process for a distributed ledger
US11223626B2 (en) * 2018-06-28 2022-01-11 Elasticsearch B.V. Service-to-service role mapping systems and methods
CN109146679B (zh) 2018-06-29 2023-11-10 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106537344A (zh) * 2016-03-30 2017-03-22 北京小米移动软件有限公司 一种应用程序调用管理的方法和装置
US20180097779A1 (en) * 2016-09-30 2018-04-05 Nec Europe Ltd. Method and system for providing a transaction forwarding service in blockchain implementations
CN107193672A (zh) * 2017-05-31 2017-09-22 无锡井通网络科技有限公司 一种跨区块异步调用合约系统
CN107392619A (zh) * 2017-07-31 2017-11-24 众安信息技术服务有限公司 智能合约处理方法及装置
CN107820690A (zh) * 2017-08-21 2018-03-20 达闼科技成都有限公司 信息选取方法、装置、电子设备及计算机可读存储介质
CN107688927A (zh) * 2017-09-19 2018-02-13 中国银行股份有限公司 一种调用区块链上的智能合约的方法及系统

Also Published As

Publication number Publication date
TW202001656A (zh) 2020-01-01
US11005844B2 (en) 2021-05-11
CN109146679A (zh) 2019-01-04
TWI709058B (zh) 2020-11-01
EP3701674A1 (en) 2020-09-02
US20200007544A1 (en) 2020-01-02
SG11202004842PA (en) 2020-06-29
US20210266322A1 (en) 2021-08-26
WO2020006222A1 (en) 2020-01-02
US11588653B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
CN109146679B (zh) 基于区块链的智能合约调用方法及装置、电子设备
AU2019221570B2 (en) Asset management method and apparatus, and electronic device
AU2019222729B2 (en) Asset management method and apparatus, and electronic device
CN111782275B (zh) 基于区块链的交易处理方法及装置、电子设备
AU2019222743B2 (en) Asset management method and apparatus, and electronic device
CN109598504B (zh) 基于区块链的交易处理方法及装置、电子设备
CN109584063B (zh) 基于区块链的交易处理方法及装置、电子设备
CN110084604B (zh) 基于区块链的交易处理方法及装置、电子设备
CN110046900B (zh) 基于区块链的发票作废方法和装置、电子设备
CN111709860A (zh) 遗嘱处理方法、装置、设备及存储介质
CN113472781B (zh) 一种服务获取方法、服务器及计算机可读存储介质
KR102510353B1 (ko) 블록체인 기반 골프 서비스 제공 방법 및 시스템

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40002380

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant