[發明專利]基于EVM與Wasm虛擬機的多語言智能合約兼容方法及系統在審
| 申請號: | 202011533338.5 | 申請日: | 2020-12-22 |
| 公開(公告)號: | CN112527466A | 公開(公告)日: | 2021-03-19 |
| 發明(設計)人: | 湯勇 | 申請(專利權)人: | 上海萬向區塊鏈股份公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 上海段和段律師事務所 31334 | 代理人: | 李佳俊;郭國中 |
| 地址: | 200086 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 evm wasm 虛擬機 語言 智能 合約 兼容 方法 系統 | ||
1.一種基于EVM與Wasm虛擬機的多語言智能合約兼容方法,其特征在于,包括:
步驟M1:底層協議通過預設配置開啟協議所支持的虛擬機類型,當虛擬機類型為兼容模式時,則在合約層根據預設規范編寫多虛擬機語言合約互調用的代碼;
步驟M2:在虛擬機支持的相應合約中,對除虛擬機支持的相應合約外的目標合約發起調用;
步驟M3:在底層鏈中解析調用參數,得到被調用的目標合約地址和目標合約信息;
步驟M4:根據目標合約地址獲得目標合約的字節碼,根據目標合約字節碼判斷目標合約的類型;
步驟M5:根據目標合約的類型,底層鏈切換虛擬機類型,執行相應合約,得到執行完后的返回值;
步驟M6:對執行完后的返回值進行編碼轉換,得到發起方合約能夠識別的編碼類型;
所述兼容模式包括同時支持EVM和Wasm虛擬機,并能夠實現EVM和Wasm虛擬機所支持的多種不同語言的智能合約互相調用。
2.根據權利要求1所述的基于EVM與Wasm虛擬機的多語言智能合約兼容方法,其特征在于,所述步驟M1中通過預設配置開啟協議所支持的虛擬機類型包括EVM、Wasm和/或兼容模式。
3.根據權利要求1所述的基于EVM與Wasm虛擬機的多語言智能合約兼容方法,其特征在于,所述步驟M2包括在虛擬機支持的相應合約中,通過Call方法,對除當前虛擬機支持的相應合約外的目標合約發起調用。
4.根據權利要求1所述的基于EVM與Wasm虛擬機的多語言智能合約兼容方法,其特征在于,所述步驟M3包括:在虛擬機解釋器執行智能合約字節碼時,當執行到合約互調用的操作碼時,將調用參數解析為目標合約所對應的虛擬機解釋器能識別的編碼方式,得到被調用的目標合約地址和目標合約信息。
5.根據權利要求1所述的基于EVM與Wasm虛擬機的多語言智能合約兼容方法,其特征在于,所述步驟M6包括:在EVM和Wasm虛擬機解釋器執行完不同智能合約互調用操作后,針對執行完得到的返回值通過Json的通用編碼方式進行編碼轉換,得到發起方合約能夠識別的編碼類型。
6.一種基于EVM與Wasm虛擬機的多語言智能合約兼容系統,其特征在于,包括:
模塊M1:底層協議通過預設配置開啟協議所支持的虛擬機類型,當虛擬機類型為兼容模式時,則在合約層根據預設規范編寫多虛擬機語言合約互調用的代碼;
模塊M2:在虛擬機支持的相應合約中,對除虛擬機支持的相應合約外的目標合約發起調用;
模塊M3:在底層鏈中解析調用參數,得到被調用的目標合約地址和目標合約信息;
模塊M4:根據目標合約地址獲得目標合約的字節碼,根據目標合約字節碼判斷目標合約的類型;
模塊M5:根據目標合約的類型,底層鏈切換虛擬機類型,執行相應合約,得到執行完后的返回值;
模塊M6:對執行完后的返回值進行編碼轉換,得到發起方合約能夠識別的編碼類型;
所述兼容模式包括同時支持EVM和Wasm虛擬機,并能夠實現EVM和Wasm虛擬機所支持的多種不同語言的智能合約互相調用。
7.根據權利要求6所述的基于EVM與Wasm虛擬機的多語言智能合約兼容系統,其特征在于,所述模塊M1中通過預設配置開啟協議所支持的虛擬機類型包括EVM、Wasm和/或兼容模式。
8.根據權利要求6所述的基于EVM與Wasm虛擬機的多語言智能合約兼容系統,其特征在于,所述模塊M2包括在虛擬機支持的相應合約中,通過Call方法,對除當前虛擬機支持的相應合約外的目標合約發起調用。
9.根據權利要求6所述的基于EVM與Wasm虛擬機的多語言智能合約兼容系統,其特征在于,所述模塊M3包括:在虛擬機解釋器執行智能合約字節碼時,當執行到合約互調用的操作碼時,將調用參數解析為目標合約所對應的虛擬機解釋器能識別的編碼方式,得到被調用的目標合約地址和目標合約信息。
10.根據權利要求6所述的基于EVM與Wasm虛擬機的多語言智能合約兼容系統,其特征在于,所述模塊M6包括:在EVM和Wasm虛擬機解釋器執行完不同智能合約互調用操作后,針對執行完得到的返回值通過Json的通用編碼方式進行編碼轉換,得到發起方合約能夠識別的編碼類型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海萬向區塊鏈股份公司,未經上海萬向區塊鏈股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011533338.5/1.html,轉載請聲明來源鉆瓜專利網。





