[發(fā)明專(zhuān)利]編譯和執(zhí)行智能合約的方法及裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201910940201.2 | 申請(qǐng)日: | 2019-09-30 |
| 公開(kāi)(公告)號(hào): | CN110704064B | 公開(kāi)(公告)日: | 2021-09-14 |
| 發(fā)明(設(shè)計(jì))人: | 姚忠孝 | 申請(qǐng)(專(zhuān)利權(quán))人: | 支付寶(杭州)信息技術(shù)有限公司 |
| 主分類(lèi)號(hào): | G06F8/41 | 分類(lèi)號(hào): | G06F8/41;G06F9/455;G06Q40/04 |
| 代理公司: | 北京億騰知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11309 | 代理人: | 陳霽;周良玉 |
| 地址: | 310000 浙江省杭州市*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 編譯 執(zhí)行 智能 合約 方法 裝置 | ||
1.一種執(zhí)行智能合約的方法,通過(guò)虛擬機(jī)執(zhí)行,該方法包括:
獲取智能合約對(duì)應(yīng)的合約模塊,所述合約模塊包括代碼區(qū)段和導(dǎo)入?yún)^(qū)段,所述導(dǎo)入?yún)^(qū)段中包括第一外部函數(shù)的函數(shù)聲明信息;
解析所述代碼區(qū)段中的字節(jié)碼,得到對(duì)所述第一外部函數(shù)的可執(zhí)行的調(diào)用指令代碼;
根據(jù)所述第一外部函數(shù)的函數(shù)聲明信息,從虛擬機(jī)本地的模塊庫(kù)中確定用于實(shí)現(xiàn)所述第一外部函數(shù)的字節(jié)碼模塊,并獲取解析所述字節(jié)碼模塊得到的第一代碼段,所述第一代碼段中包括用于實(shí)現(xiàn)所述第一外部函數(shù)的可執(zhí)行代碼段;
將所述調(diào)用指令代碼鏈接到所述第一代碼段,得到鏈接代碼;
執(zhí)行所述鏈接代碼,以執(zhí)行所述智能合約中的所述第一外部函數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,還包括,在獲取智能合約對(duì)應(yīng)的合約模塊之前:
接收第一交易,所述第一交易的目標(biāo)地址字段指向所述智能合約的合約地址,以請(qǐng)求調(diào)用所述智能合約。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述字節(jié)碼模塊為WASM模塊。
4.根據(jù)權(quán)利要求1所述的方法,還包括,根據(jù)所述第一外部函數(shù)的函數(shù)聲明信息,確定所述第一外部函數(shù)為本地模塊庫(kù)中提供的函數(shù)。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述字節(jié)碼模塊為虛擬機(jī)中包含的原生合約的合約模塊,所述第一外部函數(shù)為該原生合約的導(dǎo)出函數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中,獲取解析所述字節(jié)碼模塊得到的第一代碼段包括:加載并解析所述字節(jié)碼模塊中的字節(jié)碼,得到所述第一代碼段。
7.根據(jù)權(quán)利要求1所述的方法,其中,獲取解析所述字節(jié)碼模塊得到的第一代碼段包括:從內(nèi)存中獲取已加載的、通過(guò)解析所述字節(jié)碼模塊中的字節(jié)碼而生成的所述第一代碼段。
8.根據(jù)權(quán)利要求1所述的方法,其中,將所述調(diào)用指令代碼鏈接到所述第一代碼段,包括,將執(zhí)行所述調(diào)用指令代碼的地址指向存儲(chǔ)所述第一代碼段的內(nèi)存地址。
9.一種執(zhí)行智能合約的裝置,部署在虛擬機(jī)中,該裝置包括:
模塊獲取單元,配置為獲取智能合約對(duì)應(yīng)的合約模塊,所述合約模塊包括代碼區(qū)段和導(dǎo)入?yún)^(qū)段,所述導(dǎo)入?yún)^(qū)段中包括第一外部函數(shù)的函數(shù)聲明信息;
解析單元,配置為解析所述代碼區(qū)段中的字節(jié)碼,得到對(duì)所述第一外部函數(shù)的可執(zhí)行的調(diào)用指令代碼;
代碼獲取單元,配置為根據(jù)所述第一外部函數(shù)的函數(shù)聲明信息,從虛擬機(jī)本地的模塊庫(kù)中確定用于實(shí)現(xiàn)所述第一外部函數(shù)的字節(jié)碼模塊,并獲取解析所述字節(jié)碼模塊得到的第一代碼段,所述第一代碼段中包括用于實(shí)現(xiàn)所述第一外部函數(shù)的可執(zhí)行代碼段;
鏈接單元,配置為將所述調(diào)用指令代碼鏈接到所述第一代碼段,得到鏈接代碼;
執(zhí)行單元,配置為執(zhí)行所述鏈接代碼,以執(zhí)行所述智能合約中的所述第一外部函數(shù)。
10.根據(jù)權(quán)利要求9所述的裝置,還包括接收單元,配置為:
接收第一交易,所述第一交易的目標(biāo)地址字段指向所述智能合約的合約地址,以請(qǐng)求調(diào)用所述智能合約。
11.根據(jù)權(quán)利要求9所述的裝置,其中,所述字節(jié)碼模塊為WASM模塊。
12.根據(jù)權(quán)利要求9所述的裝置,還包括確定單元,配置為根據(jù)所述第一外部函數(shù)的函數(shù)聲明信息,確定所述第一外部函數(shù)為本地模塊庫(kù)中提供的函數(shù)。
13.根據(jù)權(quán)利要求9所述的裝置,其中,所述字節(jié)碼模塊為虛擬機(jī)中包含的原生合約的合約模塊,所述第一外部函數(shù)為該原生合約的導(dǎo)出函數(shù)。
14.根據(jù)權(quán)利要求9所述的裝置,其中,所述代碼獲取單元配置為:加載并解析所述字節(jié)碼模塊中的字節(jié)碼,得到所述第一代碼段。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于支付寶(杭州)信息技術(shù)有限公司,未經(jīng)支付寶(杭州)信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910940201.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種軟件開(kāi)發(fā)中的自動(dòng)化編譯方法及系統(tǒng)
- 一種動(dòng)態(tài)分配編譯機(jī)的系統(tǒng)及其方法
- 一種實(shí)現(xiàn)安卓編譯隔離的方法和系統(tǒng)
- 調(diào)度服務(wù)器、編譯服務(wù)器及分布式編譯方法
- 代碼編譯方法、編譯設(shè)備、存儲(chǔ)介質(zhì)及裝置
- 文件編譯方法、裝置、編譯設(shè)備及存儲(chǔ)介質(zhì)
- 一種編譯方法、裝置及系統(tǒng)
- 一種編譯方法和相關(guān)裝置
- 一種編譯方法、電子設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種代碼編譯方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 以注射方式執(zhí)行死刑的自動(dòng)執(zhí)行車(chē)的執(zhí)行床
- 過(guò)程執(zhí)行裝置、過(guò)程執(zhí)行方法以及過(guò)程執(zhí)行程序
- 用以執(zhí)行跳舞電子游戲的執(zhí)行系統(tǒng)及其執(zhí)行方法
- 策略執(zhí)行系統(tǒng)及其執(zhí)行方法
- 腳本執(zhí)行系統(tǒng)和腳本執(zhí)行方法
- 命令執(zhí)行設(shè)備、命令執(zhí)行系統(tǒng)、命令執(zhí)行方法以及命令執(zhí)行程序
- 程序執(zhí)行裝置、程序執(zhí)行系統(tǒng)以及程序執(zhí)行方法
- 處理執(zhí)行設(shè)備和由該處理執(zhí)行設(shè)備執(zhí)行的方法
- 有序任務(wù)的執(zhí)行方法、執(zhí)行裝置和執(zhí)行系統(tǒng)
- 執(zhí)行器(閥門(mén)執(zhí)行器)
- 合約轉(zhuǎn)賬方法、設(shè)備和存儲(chǔ)介質(zhì)
- 區(qū)塊鏈合約升級(jí)方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 智能合約測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 智能合約生成方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 實(shí)現(xiàn)可更新智能合約的系統(tǒng)和方法
- 一種管理區(qū)塊鏈系統(tǒng)合約的方法和裝置
- 合約簽署方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于加密貨幣的智能合約生成方法、相關(guān)設(shè)備及存儲(chǔ)介質(zhì)
- 智能合約的自動(dòng)測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 智能合約執(zhí)行方法、裝置、系統(tǒng)、存儲(chǔ)介質(zhì)及電子設(shè)備





