[發(fā)明專利]一種區(qū)塊鏈智能合約執(zhí)行方法、裝置及設(shè)備有效
| 申請?zhí)枺?/td> | 202010196122.8 | 申請日: | 2020-03-19 |
| 公開(公告)號(hào): | CN111324396B | 公開(公告)日: | 2023-09-15 |
| 發(fā)明(設(shè)計(jì))人: | 葉文浩 | 申請(專利權(quán))人: | 深圳市迅雷網(wǎng)絡(luò)技術(shù)有限公司;深圳市網(wǎng)心科技有限公司 |
| 主分類號(hào): | G06F9/448 | 分類號(hào): | G06F9/448;G06F9/455 |
| 代理公司: | 深圳市深佳知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 44285 | 代理人: | 王兆林 |
| 地址: | 518000 廣東省深圳市南山區(qū)粵海街道高新區(qū)*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 區(qū)塊 智能 合約 執(zhí)行 方法 裝置 設(shè)備 | ||
本發(fā)明公開了一種區(qū)塊鏈智能合約執(zhí)行方法,包括:獲取目標(biāo)智能合約,判斷是否存在目標(biāo)智能合約對(duì)應(yīng)的合約動(dòng)態(tài)庫;若存在目標(biāo)智能合約對(duì)應(yīng)的合約動(dòng)態(tài)庫,則調(diào)用合約動(dòng)態(tài)庫執(zhí)行目標(biāo)智能合約;該方法在確定存在目標(biāo)智能合約對(duì)應(yīng)的合約動(dòng)態(tài)庫后,利用合約動(dòng)態(tài)庫執(zhí)行目標(biāo)智能合約,合約動(dòng)態(tài)庫可以以更接近原生的方式來執(zhí)行目標(biāo)智能合約,極大地提升了智能合約的執(zhí)行效率,提高了區(qū)塊鏈的共識(shí)效率和吞吐量;此外,本發(fā)明還提供了一種區(qū)塊鏈智能合約執(zhí)行裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),同樣具有上述有益效果。
技術(shù)領(lǐng)域
本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,尤其涉及一種區(qū)塊鏈智能合約執(zhí)行方法、裝置及設(shè)備。
背景技術(shù)
區(qū)塊鏈上的合約代碼(bytecode)的執(zhí)行,是通過虛擬機(jī)(Virtual?Machine,VM)來實(shí)現(xiàn)的。wasm為WebAssembly的簡寫,是一種可以在展示虛擬機(jī)上執(zhí)行的二進(jìn)制指令格式,常常被用于作為區(qū)塊鏈中的合約代碼,利用wasm攜程的合約代碼被稱為wasm合約。
wasm合約采用基于棧的虛擬機(jī)執(zhí)行,即棧式虛擬機(jī)。棧式虛擬機(jī)要求指令操作的數(shù)據(jù)必須存放在棧上,因此在執(zhí)行合約代碼之前,虛擬機(jī)需要?jiǎng)?chuàng)建一個(gè)模擬的棧來保存后續(xù)所有指令的操作數(shù)據(jù)與結(jié)果,虛擬機(jī)使用模擬cpu的方式來執(zhí)行合約代碼。在執(zhí)行時(shí),首先需要初始化宿主環(huán)境,初始化后取一條指令,并判斷手續(xù)費(fèi)是否足夠,在手續(xù)費(fèi)足夠時(shí)執(zhí)行該指令,在執(zhí)行完畢后重復(fù)執(zhí)行取指令的過程,直至代碼執(zhí)行完畢。現(xiàn)有智能合約執(zhí)行方法需要逐條讀取指令并執(zhí)行,使得智能合約的執(zhí)行速度較慢,影響了區(qū)塊鏈的共識(shí)效率和吞吐量。
因此,如何解決現(xiàn)有智能合約執(zhí)行方法執(zhí)行速度較慢,影響了區(qū)塊鏈的共識(shí)效率和吞吐量的問題,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種區(qū)塊鏈智能合約執(zhí)行方法、區(qū)塊鏈智能合約執(zhí)行裝置及區(qū)塊鏈智能合約執(zhí)行設(shè)備,旨在解決現(xiàn)有智能合約執(zhí)行方法執(zhí)行速度較慢,影響了區(qū)塊鏈的共識(shí)效率和吞吐量的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供的一種區(qū)塊鏈智能合約執(zhí)行方法,包括:
獲取目標(biāo)智能合約,判斷是否存在所述目標(biāo)智能合約對(duì)應(yīng)的合約動(dòng)態(tài)庫;
若存在所述目標(biāo)智能合約對(duì)應(yīng)的所述合約動(dòng)態(tài)庫,則調(diào)用所述合約動(dòng)態(tài)庫執(zhí)行所述目標(biāo)智能合約。
可選地,還包括:
若不存在所述目標(biāo)智能合約對(duì)應(yīng)的所述合約動(dòng)態(tài)庫,則調(diào)用虛擬機(jī)執(zhí)行所述目標(biāo)智能合約。
可選地,在所述若不存在所述目標(biāo)智能合約對(duì)應(yīng)的所述合約動(dòng)態(tài)庫,則調(diào)用虛擬機(jī)執(zhí)行所述目標(biāo)智能合約之后,還包括:
對(duì)所述目標(biāo)智能合約的合約字節(jié)碼進(jìn)行解析并構(gòu)建所述合約動(dòng)態(tài)庫;
或,
從區(qū)塊鏈網(wǎng)絡(luò)中的其它節(jié)點(diǎn)獲取與所述目標(biāo)智能合約對(duì)應(yīng)的所述合約動(dòng)態(tài)庫。
可選地,在所述對(duì)所述目標(biāo)智能合約的合約字節(jié)碼進(jìn)行解析并構(gòu)建所述合約動(dòng)態(tài)庫之后,還包括:
向所述區(qū)塊鏈網(wǎng)絡(luò)中的所述其他節(jié)點(diǎn)共享所述合約動(dòng)態(tài)庫。
可選地,所述對(duì)所述目標(biāo)智能合約的合約字節(jié)碼進(jìn)行解析并構(gòu)建所述合約動(dòng)態(tài)庫,包括:
利用wasm?MVP規(guī)范對(duì)所述合約字節(jié)碼進(jìn)行解析,得到導(dǎo)入段字段、全局段字段、函數(shù)表段字段和其他字段;
利用C數(shù)組對(duì)所述導(dǎo)入段字段、所述全局段字段和所述函數(shù)表段字段進(jìn)行格式轉(zhuǎn)換,得到對(duì)應(yīng)的外部函數(shù)列表、全局變量列表和函數(shù)全局索引表;
利用所述其他字段、所述外部函數(shù)列表、所述全局變量列表和所述函數(shù)全局索引表構(gòu)建所述合約動(dòng)態(tài)庫。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市迅雷網(wǎng)絡(luò)技術(shù)有限公司;深圳市網(wǎng)心科技有限公司,未經(jīng)深圳市迅雷網(wǎng)絡(luò)技術(shù)有限公司;深圳市網(wǎng)心科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010196122.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 沿縱向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 沿橫向拓展的區(qū)塊鏈的生成方法及系統(tǒng)
- 區(qū)塊鏈輕量化處理方法、區(qū)塊鏈節(jié)點(diǎn)及存儲(chǔ)介質(zhì)
- 餐廳配備裝置總成
- 區(qū)塊鏈處理方法、裝置及區(qū)塊鏈節(jié)點(diǎn)
- 本地區(qū)塊同步的檢驗(yàn)方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 用于使用現(xiàn)有區(qū)塊鏈節(jié)點(diǎn)來托管新區(qū)塊鏈的方法和系統(tǒng)
- 一種錐體區(qū)塊、錐體區(qū)塊鏈結(jié)構(gòu)和方法
- 一種錐體區(qū)塊鏈共識(shí)系統(tǒng)、方法及網(wǎng)絡(luò)
- 區(qū)塊分布式區(qū)塊鏈的區(qū)塊數(shù)據(jù)結(jié)構(gòu)、存儲(chǔ)介質(zhì)及電子設(shè)備
- 合約轉(zhuǎn)賬方法、設(shè)備和存儲(chǔ)介質(zhì)
- 區(qū)塊鏈合約升級(jí)方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 智能合約測試方法、裝置、計(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)測試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 智能合約執(zhí)行方法、裝置、系統(tǒng)、存儲(chǔ)介質(zhì)及電子設(shè)備
- 以注射方式執(zhí)行死刑的自動(dòng)執(zhí)行車的執(zhí)行床
- 過程執(zhí)行裝置、過程執(zhí)行方法以及過程執(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í)行器(閥門執(zhí)行器)





