TW202001656A - 基於區塊鏈的智能合約調用方法及裝置、電子設備 - Google Patents
基於區塊鏈的智能合約調用方法及裝置、電子設備 Download PDFInfo
- Publication number
- TW202001656A TW202001656A TW107142220A TW107142220A TW202001656A TW 202001656 A TW202001656 A TW 202001656A TW 107142220 A TW107142220 A TW 107142220A TW 107142220 A TW107142220 A TW 107142220A TW 202001656 A TW202001656 A TW 202001656A
- Authority
- TW
- Taiwan
- Prior art keywords
- call
- smart contract
- calling
- target
- transaction
- Prior art date
Links
Images
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
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/405—Establishing or using transaction specific rules
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- 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/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- 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/32—Cryptographic 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/3247—Cryptographic 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
-
- 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/32—Cryptographic 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/3297—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & 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,圖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進一步:
獲取為所述目標交易配置的調用規則,並執行獲取到的所述調用規則發起對目標智能合約的調用之前,反應於接收到的所述目標交易,向所述客戶端回傳調用提示。
上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是實體上分開的,作為模組顯示的部件可以是或者也可以不是實體模組,即可以位於一個地方,或者也可以分佈到多個網路模組上。可以根據實際的需要選擇其中的部分或者全部模組來實現本說明書方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
上述實施例闡明的系統、裝置、模組或模組,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機,計算機的具體形式可以是個人計算機、膝上型計算機、蜂巢式電話、相機電話、智能電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任意幾種設備的組合。
與上述方法實施例相對應,本說明書還提供了一種電子設備的實施例。該電子設備包括:處理器以及用於儲存機器可執行指令的儲存器;其中,處理器和儲存器通常通過內部匯流排相互連接。在其他可能的實現方式中,所述設備還可能包括外部介面,以能夠與其他設備或者部件進行通信。
在本實施例中,通過讀取並執行所述儲存器儲存的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
接收客戶端發起的目標交易;其中,所述目標交易被預配置了用於發起智能合約調用的調用規則;
獲取為所述目標交易配置的調用規則,並執行獲取到的所述調用規則發起對目標智能合約的調用;
反應於所述目標智能合約調用完成,將調用結果回傳至所述客戶端。
在本實施例中,所述目標交易攜帶描述資訊;所述描述資訊用於確定為所述目標交易預配置的調用規則;
通過讀取並執行所述存儲器存儲的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
基於所述描述資訊確定為所述目標交易配置的調用規則,並從調用規則集合中獲取確定出的調用規則。
在本實施例中,所述描述資訊為所述目標交易的交易類型;所述調用規則中包括支持的交易類型;
通過讀取並執行所述存儲器存儲的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
查找支持的交易類型與所述目標交易的交易類型匹配的調用規則;
將查找到的所述調用規則確定為,為所述目標交易配置的調用規則。
在本實施例中,所述調用規則中聲明了需要調用的目標智能合約、目標智能合約方法、以及調用參數;
通過讀取並執行所述存儲器存儲的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
執行獲取到的調用規則,將所述調用規則中聲明的所述調用參數,傳遞至所述調用規則中聲明的所述目標智能合約中的所述目標智能合約方法,以發起對所述目標智能合約方法的調用。
在本實施例中,所述調用規則中還包括授權公鑰;所述目標交易還包括基於所述客戶端持有的私鑰提交的簽名;
通過讀取並執行所述存儲器存儲的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
執行獲取到的所述調用規則發起對目標智能合約的調用之前,基於所述調用規則中的授權公鑰,對所述目標交易的簽名進行認證;如果所述目標交易的簽名認證通過,執行獲取到的調用規則發起對目標智能合約的調用。
在本實施例中,通過讀取並執行所述存儲器存儲的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
調用所述客戶端的回調介面,將所述調用結果作為調用參數回傳給至所述客戶端。
在本實施例中,通過讀取並執行所述存儲器存儲的與基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,所述處理器被促使:
獲取為所述目標交易配置的調用規則,並執行獲取到的所述調用規則發起對目標智能合約的調用之前,反應於接收到的所述目標交易,向所述客戶端回傳調用提示。
本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本說明書的其它實施方案。本說明書旨在涵蓋本說明書的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本說明書的一般性原理並包括本說明書未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本說明書的真正範圍和精神由下面的申請專利範圍指出。
應當理解的是,本說明書並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本說明書的範圍僅由所附的申請專利範圍來限制。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本說明書,凡在本說明書的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本說明書保護的範圍之內。
70‧‧‧基於區塊鏈的智能合約調用裝置
701‧‧‧第一獲取模組
702‧‧‧確定模組
703‧‧‧第二獲取模組
704‧‧‧驗證模組
圖1是一示例性實施例提供的一種智能合約調用模式的示意圖;
圖2是一示例性實施例提供的另一種智能合約調用模式的示意圖;
圖3是一示例性實施例提供的一種基於區塊鏈的智能合約調用方法的流程圖;
圖4是一示例性實施例提供的另一種智能合約調用模式的示意圖;
圖5是一示例性實施例提供的一種調用規則的結構圖;
圖6是一示例性實施例提供的一種電子設備的結構示意圖;
圖7是一示例性實施例提供的一種基於區塊鏈的智能合約調用裝置的框圖。
Claims (15)
- 一種基於區塊鏈的智能合約調用方法,所述方法包括: 接收客戶端發起的目標交易;其中,該目標交易被預配置了用於發起智能合約調用的調用規則; 獲取為該目標交易配置的調用規則,並執行獲取到的該調用規則發起對目標智能合約的調用; 反應於該目標智能合約調用完成,將調用結果回傳至該客戶端。
- 根據申請專利範圍第1項所述的方法,該目標交易攜帶描述資訊;該描述資訊用於確定為該目標交易預配置的調用規則; 所述獲取為該目標交易配置的調用規則,包括: 基於該描述資訊確定為該目標交易配置的調用規則,並從調用規則集合中獲取確定出的調用規則。
- 根據申請專利範圍第2項所述的方法,所述描述資訊為該目標交易的交易類型;該調用規則中包括支持的交易類型; 所述基於該描述資訊確定為該目標交易配置的調用規則,包括: 查找支持的交易類型與該目標交易的交易類型匹配的調用規則; 將查找到的該調用規則確定為,為該目標交易配置的調用規則。
- 根據申請專利範圍第1項所述的方法,該調用規則中聲明了需要調用的目標智能合約、目標智能合約方法、以及調用參數; 該執行獲取到的調用規則發起對目標智能合約的調用,包括: 執行獲取到的調用規則,將該調用規則中聲明的該調用參數,傳遞至該調用規則中聲明的該目標智能合約中的該目標智能合約方法,以發起對該目標智能合約方法的調用。
- 根據申請專利範圍第4項所述的方法,該調用規則中還包括授權公鑰;該目標交易還包括基於該客戶端持有的私鑰提交的簽名; 所述執行獲取到的該調用規則發起對目標智能合約的調用之前,還包括: 基於該調用規則中的授權公鑰,對該目標交易的簽名進行認證;如果該目標交易的簽名認證通過,執行獲取到的調用規則發起對目標智能合約的調用。
- 根據申請專利範圍第1項所述的方法,所述將調用結果回傳至該客戶端,包括:調用該客戶端的回調介面,將該調用結果作為調用參數回傳給至該客戶端。
- 根據申請專利範圍第1項所述的方法,所述獲取為該目標交易配置的調用規則,並執行獲取到的該調用規則發起對目標智能合約的調用之前,還包括: 反應於接收到的該目標交易,向該客戶端回傳調用提示。
- 一種基於區塊鏈的智能合約調用方法,所述方法包括: 接收模組,接收客戶端發起的目標交易;其中,該目標交易被預配置了用於發起智能合約調用的調用規則; 執行模組,獲取為該目標交易配置的調用規則,並執行獲取到的該調用規則發起對目標智能合約的調用; 回傳模組,反應於該目標智能合約調用完成,將調用結果回傳至該客戶端。
- 根據申請專利範圍第8項所述的裝置,該目標交易攜帶描述資訊;該描述資訊用於確定為該目標交易預配置的調用規則; 該執行模組: 基於該描述資訊確定為該目標交易配置的調用規則,並從調用規則集合中獲取確定出的調用規則。
- 根據申請專利範圍第9項所述的裝置,該描述資訊為該目標交易的交易類型;該調用規則中包括支持的交易類型; 該執行模組進一步: 查找支持的交易類型與該目標交易的交易類型匹配的調用規則; 將查找到的該調用規則確定為,為該目標交易配置的調用規則。
- 根據申請專利範圍第8項所述的裝置,該調用規則中聲明了需要調用的目標智能合約、目標智能合約方法、以及調用參數; 該執行模組: 執行獲取到的調用規則,將該調用規則中聲明的該調用參數,傳遞至該調用規則中聲明的該目標智能合約中的該目標智能合約方法,以發起對該目標智能合約方法的調用。
- 根據申請專利範圍第11項所述的裝置,該調用規則中還包括授權公鑰;該目標交易還包括基於該客戶端持有的私鑰提交的簽名; 該執行模組進一步: 在執行獲取到的該調用規則發起對目標智能合約的調用之前,基於該調用規則中的授權公鑰,對該目標交易的簽名進行認證;如果該目標交易的簽名認證通過,執行獲取到的調用規則發起對目標智能合約的調用。
- 根據申請專利範圍第8項所述的裝置,該回傳模組: 調用該客戶端的回調介面,將該調用結果作為調用參數回傳給至該客戶端。
- 根據申請專利範圍第8項所述的裝置,該執行模組進一步: 獲取為該目標交易配置的調用規則,並執行獲取到的該調用規則發起對目標智能合約的調用之前,反應於接收到的該目標交易,向該客戶端回傳調用提示。
- 一種電子設備,包括: 處理器; 用於儲存機器可執行指令的儲存器; 其中,通過讀取並執行該儲存器儲存的與基於區塊鏈的基於區塊鏈的智能合約調用的控制邏輯對應的機器可執行指令,該處理器被促使: 接收客戶端發起的目標交易;其中,該目標交易被預配置了用於發起智能合約調用的調用規則; 獲取為該目標交易配置的調用規則,並執行獲取到的該調用規則發起對目標智能合約的調用; 反應於該目標智能合約調用完成,將調用結果回傳至該客戶端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810713426.X | 2018-06-29 | ||
CN201810713426.XA CN109146679B (zh) | 2018-06-29 | 2018-06-29 | 基于区块链的智能合约调用方法及装置、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202001656A true TW202001656A (zh) | 2020-01-01 |
TWI709058B TWI709058B (zh) | 2020-11-01 |
Family
ID=64799638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107142220A TWI709058B (zh) | 2018-06-29 | 2018-11-27 | 基於區塊鏈的智能合約調用方法及裝置、電子設備 |
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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667371A (zh) * | 2020-06-30 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 基于区块链的资源聚合方法、系统、设备及存储介质 |
TWI801092B (zh) * | 2022-01-12 | 2023-05-01 | 動力安全資訊股份有限公司 | 用於資訊設備的設定變更方法 |
Families Citing this family (24)
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 | 北京百度网讯科技有限公司 | 智能合约的调用系统及调用方法 |
CN115082161A (zh) * | 2019-04-18 | 2022-09-20 | 创新先进技术有限公司 | 一种调整作品版权收益的分成比例的方法 |
CN110163634B (zh) * | 2019-04-29 | 2023-10-10 | 创新先进技术有限公司 | 基于区块链的退款方法和装置、电子设备 |
EP3770779A1 (en) | 2019-07-24 | 2021-01-27 | Christian Hieronimi | Computer-implemented methods for handling requests by using a distributed ledger database |
US11645398B2 (en) * | 2019-08-02 | 2023-05-09 | EMC IP Holding Company LLC | System and method for data registration and access |
CN110417905B (zh) * | 2019-08-02 | 2022-06-07 | 深圳市迅雷网络技术有限公司 | 一种合约发布方法、装置、设备和联盟链系统 |
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 | 北京海益同展信息科技有限公司 | 用于执行智能合约的方法和装置 |
CN110908786A (zh) * | 2019-11-19 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种智能合约调用方法、装置及介质 |
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 |
CN111767097B (zh) * | 2020-08-31 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 调用智能合约的方法及装置、电子设备、存储介质 |
CN112487092B (zh) * | 2020-12-03 | 2024-06-18 | 深圳前海微众银行股份有限公司 | 一种基于区块链的智能合约调用方法及装置 |
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 | 成都质数斯达克科技有限公司 | 一种区块链数据传输方法、装置和设备及可读存储介质 |
CN115344647A (zh) * | 2022-10-20 | 2022-11-15 | 中国信息通信研究院 | 区块链数据的处理方法、装置、设备和介质 |
Family Cites Families (30)
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 |
CA2631763A1 (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 |
US10002396B2 (en) * | 2014-03-31 | 2018-06-19 | Monticello Enterprises LLC | System and method for transitioning from a first site to a second site |
US10368360B1 (en) * | 2016-03-08 | 2019-07-30 | Quantenna Communications, Inc. | Network event based security and home automation |
CN106537344A (zh) * | 2016-03-30 | 2017-03-22 | 北京小米移动软件有限公司 | 一种应用程序调用管理的方法和装置 |
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 |
SG11201806653SA (en) * | 2016-06-06 | 2018-09-27 | Thomson Reuters Global Resources Unlimited Co | Systems and methods for providing identity scores |
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
CN109923521A (zh) * | 2016-10-28 | 2019-06-21 | 区块链控股有限公司 | 用于经由区块链实施确定性有限自动机(DFAs)的系统和方法 |
JP6931999B2 (ja) * | 2017-02-06 | 2021-09-08 | 株式会社日立製作所 | 信用度管理システムおよび信用度管理方法 |
WO2018172439A1 (en) * | 2017-03-22 | 2018-09-27 | NEC Laboratories Europe GmbH | Method for operating a blockchain |
CN107193672B (zh) * | 2017-05-31 | 2020-01-14 | 无锡井通网络科技有限公司 | 一种跨区块异步调用合约系统 |
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 | 广东网金控股股份有限公司 | 一种应用系统访问异构区块链平台的方法及装置 |
CN107392619B (zh) * | 2017-07-31 | 2020-12-29 | 众安信息技术服务有限公司 | 智能合约处理方法及装置 |
CN107507005B (zh) * | 2017-08-01 | 2020-09-11 | 众安信息技术服务有限公司 | 一种基于联盟链的链外数据访问方法和系统 |
CN107820690B (zh) * | 2017-08-21 | 2020-11-10 | 达闼科技成都有限公司 | 信息选取方法、装置、电子设备及计算机可读存储介质 |
CN107688927A (zh) * | 2017-09-19 | 2018-02-13 | 中国银行股份有限公司 | 一种调用区块链上的智能合约的方法及系统 |
GB2569278A (en) * | 2017-10-23 | 2019-06-19 | Cygnetise Ltd | Methods and apparatus for verifying a user transaction |
WO2019109003A1 (en) * | 2017-11-30 | 2019-06-06 | 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 | 创新先进技术有限公司 | 基于区块链的智能合约调用方法及装置、电子设备 |
-
2018
- 2018-06-29 CN CN201810713426.XA patent/CN109146679B/zh active Active
- 2018-11-27 TW TW107142220A patent/TWI709058B/zh active
-
2019
- 2019-06-27 SG SG11202004842PA patent/SG11202004842PA/en unknown
- 2019-06-27 EP EP19740459.3A patent/EP3701674A1/en active Pending
- 2019-06-27 WO PCT/US2019/039491 patent/WO2020006222A1/en unknown
- 2019-06-28 US US16/456,227 patent/US11005844B2/en active Active
-
2021
- 2021-05-07 US US17/315,033 patent/US11588653B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111667371A (zh) * | 2020-06-30 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 基于区块链的资源聚合方法、系统、设备及存储介质 |
TWI801092B (zh) * | 2022-01-12 | 2023-05-01 | 動力安全資訊股份有限公司 | 用於資訊設備的設定變更方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200007544A1 (en) | 2020-01-02 |
US11005844B2 (en) | 2021-05-11 |
US11588653B2 (en) | 2023-02-21 |
EP3701674A1 (en) | 2020-09-02 |
WO2020006222A1 (en) | 2020-01-02 |
CN109146679A (zh) | 2019-01-04 |
CN109146679B (zh) | 2023-11-10 |
SG11202004842PA (en) | 2020-06-29 |
US20210266322A1 (en) | 2021-08-26 |
TWI709058B (zh) | 2020-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI709058B (zh) | 基於區塊鏈的智能合約調用方法及裝置、電子設備 | |
TWI737944B (zh) | 基於區塊鏈的交易執行方法及裝置、電子設備 | |
AU2019221570B2 (en) | Asset management method and apparatus, and electronic device | |
AU2019222729B2 (en) | Asset management method and apparatus, and electronic device | |
TWI759563B (zh) | 資產管理方法及裝置、電子設備 | |
TWI735820B (zh) | 資產管理方法及裝置、電子設備 | |
TWI734088B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
TWI737977B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
TWI706278B (zh) | 基於區塊鏈的交易處理方法及裝置、電子設備 | |
US11502828B2 (en) | Authenticating chaincode to chaincode invocations of a blockchain | |
TW202022857A (zh) | 基於區塊鏈的發票創建方法及裝置、電子設備 | |
TW202001608A (zh) | 基於區塊鏈的智慧合約調用方法及裝置、電子設備 | |
CN113095822A (zh) | 基于区块链的智能合约调用方法及装置、电子设备 | |
CN113037817B (zh) | 启动智能合约的方法及装置、电子设备、存储介质 | |
TWI738046B (zh) | 區塊鏈的智慧型合約執行方法及裝置和電子設備 | |
WO2022134186A1 (zh) | 区块链的智能合约调用方法、装置、服务器和存储介质 | |
WO2020082898A1 (zh) | 基于区块链的交易处理方法及装置、电子设备 | |
TW202029093A (zh) | 基於區塊鏈的發票作廢方法和裝置、電子設備 |