[發(fā)明專(zhuān)利]智能合約的部署方法、執(zhí)行方法、裝置及終端設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202011586959.X | 申請(qǐng)日: | 2020-12-28 |
| 公開(kāi)(公告)號(hào): | CN112631729A | 公開(kāi)(公告)日: | 2021-04-09 |
| 發(fā)明(設(shè)計(jì))人: | 邱煒偉;李偉;黃方蕾;張珂杰;何奇 | 申請(qǐng)(專(zhuān)利權(quán))人: | 杭州趣鏈科技有限公司 |
| 主分類(lèi)號(hào): | G06F9/455 | 分類(lèi)號(hào): | G06F9/455;G06F11/00;G06F11/30 |
| 代理公司: | 深圳中一聯(lián)合知識(shí)產(chǎn)權(quán)代理有限公司 44414 | 代理人: | 張禹 |
| 地址: | 310000 浙江省杭州市*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 智能 合約 部署 方法 執(zhí)行 裝置 終端設(shè)備 | ||
本申請(qǐng)適用于計(jì)算機(jī)技術(shù)領(lǐng)域,提供了一種智能合約的部署方法、執(zhí)行方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì),部署方法包括:當(dāng)接收到部署智能合約的請(qǐng)求指令時(shí),按順序讀取智能合約中的字節(jié)碼指令;在讀取的智能合約中的字節(jié)碼指令為邊界指令時(shí),計(jì)算邊界指令對(duì)應(yīng)程序塊的第一消耗;將第一消耗關(guān)聯(lián)預(yù)設(shè)指令,得到邊界指令對(duì)應(yīng)程序塊的執(zhí)行消耗計(jì)算字節(jié)碼;將執(zhí)行消耗計(jì)算字節(jié)碼關(guān)聯(lián)邊界指令進(jìn)行存儲(chǔ),以使智能合約在執(zhí)行邊界指令的過(guò)程中,執(zhí)行所述執(zhí)行消耗計(jì)算字節(jié)碼以獲得邊界指令對(duì)應(yīng)程序塊的第一執(zhí)行消耗。本申請(qǐng)?jiān)谥悄芎霞s的執(zhí)行過(guò)程中,直接根據(jù)部署階段關(guān)聯(lián)了第一消耗的執(zhí)行消耗計(jì)算字節(jié)碼計(jì)算第一執(zhí)行消耗,能快速高效的對(duì)資源消耗進(jìn)行衡量。
技術(shù)領(lǐng)域
本申請(qǐng)屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種智能合約的部署方法、執(zhí)行方法、裝置及終端設(shè)備。
背景技術(shù)
隨著計(jì)算機(jī)技術(shù)領(lǐng)域的快速發(fā)展,智能合約得到了越來(lái)越多的應(yīng)用,智能合約是一段由事件驅(qū)動(dòng)、具有狀態(tài)的、運(yùn)行在一個(gè)復(fù)制且可分享的賬本之上,并且能夠保管賬本上資產(chǎn)的程序,即智能合約是一種程序化合約,在滿足預(yù)設(shè)條件時(shí)自動(dòng)執(zhí)行,如智能合約可部署在區(qū)塊鏈系統(tǒng)中。
通常在執(zhí)行智能合約的過(guò)程中,可通過(guò)虛擬機(jī)加載并運(yùn)行智能合約的字節(jié)碼實(shí)現(xiàn)。執(zhí)行智能合約的字節(jié)碼時(shí)會(huì)有執(zhí)行消耗(即gas),gas是為智能合約提供算力所需的計(jì)算資源,目前對(duì)智能合約的字節(jié)碼的執(zhí)行消耗的衡量方法效率低。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供了一種智能合約的部署方法、執(zhí)行方法、裝置、終端設(shè)備及存儲(chǔ)介質(zhì),旨在解決現(xiàn)有對(duì)智能合約的字節(jié)碼的執(zhí)行消耗的衡量方法效率低的問(wèn)題。
第一方面,本申請(qǐng)實(shí)施例提供了一種智能合約的部署方法,包括:
當(dāng)接收到部署所述智能合約的請(qǐng)求指令時(shí),按順序讀取所述智能合約中的字節(jié)碼指令;
在讀取的所述智能合約中的字節(jié)碼指令為邊界指令時(shí),計(jì)算所述邊界指令對(duì)應(yīng)程序塊的第一消耗;其中,所述邊界指令包括指示字節(jié)碼指令為分支執(zhí)行指令或循環(huán)執(zhí)行指令的開(kāi)始指令和結(jié)束指令;
將所述第一消耗關(guān)聯(lián)預(yù)設(shè)指令,得到所述邊界指令對(duì)應(yīng)程序塊的執(zhí)行消耗計(jì)算字節(jié)碼;
將所述執(zhí)行消耗計(jì)算字節(jié)碼關(guān)聯(lián)所述邊界指令進(jìn)行存儲(chǔ),以使所述智能合約在執(zhí)行所述邊界指令的過(guò)程中,執(zhí)行所述執(zhí)行消耗計(jì)算字節(jié)碼以獲得所述邊界指令對(duì)應(yīng)程序塊的第一執(zhí)行消耗;
在所述智能合約中所有字節(jié)碼指令讀取完成時(shí),判定所述智能合約的字節(jié)碼指令已處理完成。
在一個(gè)實(shí)施例中,所述在讀取的所述智能合約中的字節(jié)碼指令為邊界指令時(shí),計(jì)算所述邊界指令對(duì)應(yīng)程序塊的第一消耗,包括:
所述在讀取的所述智能合約中的字節(jié)碼指令為邊界指令時(shí),將所述邊界指令對(duì)應(yīng)程序塊中每一條指令的執(zhí)行消耗進(jìn)行累加,得到所述第一消耗。
在一個(gè)實(shí)施例中,所述將所述執(zhí)行消耗計(jì)算字節(jié)碼關(guān)聯(lián)所述邊界指令進(jìn)行存儲(chǔ),以使所述智能合約在執(zhí)行所述邊界指令的過(guò)程中,執(zhí)行所述執(zhí)行消耗計(jì)算字節(jié)碼以獲得所述邊界指令對(duì)應(yīng)程序塊的第一執(zhí)行消耗,包括:將所述執(zhí)行消耗計(jì)算字節(jié)碼關(guān)聯(lián)所述邊界指令進(jìn)行存儲(chǔ),以使所述智能合約在執(zhí)行過(guò)程中,每檢測(cè)到開(kāi)始執(zhí)行一次所述邊界指令時(shí),將所述邊界指令關(guān)聯(lián)的第一消耗累加一次至所述第一執(zhí)行消耗,以更新所述第一執(zhí)行消耗;
其中,所述第一消耗為在所述智能合約部署時(shí)計(jì)算出并存儲(chǔ)的所述邊界指令執(zhí)行一次需要的消耗,所述第一執(zhí)行消耗為所述在執(zhí)行智能合約時(shí),根據(jù)所述邊界指令的執(zhí)行次數(shù)和第一消耗計(jì)算的所述邊界指令對(duì)應(yīng)程序塊的總執(zhí)行消耗。
第二方面,本申請(qǐng)實(shí)施例提供一種智能合約的執(zhí)行方法,包括:
在接收到執(zhí)行已部署的智能合約的請(qǐng)求指令時(shí),獲取指令消耗閾值;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于杭州趣鏈科技有限公司,未經(jīng)杭州趣鏈科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011586959.X/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:一種光纜配線架
- 下一篇:一種獲取問(wèn)答結(jié)果的方法及裝置
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
- 合約轉(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è)備
- 一種業(yè)務(wù)處理執(zhí)行語(yǔ)言流程部署方法
- 云計(jì)算平臺(tái)應(yīng)用快速部署的管理方法
- 虛擬化網(wǎng)絡(luò)功能部署方法及系統(tǒng)
- 版本部署的方法、裝置、設(shè)備和計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 測(cè)試環(huán)境部署方法、部署裝置及存儲(chǔ)介質(zhì)
- 程序部署任務(wù)執(zhí)行方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種基于Ansible的輕量級(jí)容器化分布式系統(tǒng)與部署方法
- 模型部署方法、模型部署裝置及終端設(shè)備
- 系統(tǒng)部署狀態(tài)的可視化方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)
- 一種任務(wù)部署方法、系統(tǒng)、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫(xiě)分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





