買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 中幣 > Info

BST:本體技術視點 | 一文讀懂Substrate的合約機制(一)_EBST幣

Author:

Time:1900/1/1 0:00:00

本期我們分享來自本體技術團隊的一篇文章的第一部分,關于Substrate的合約機制分析。

01

概要

Substrate把整個程序邏輯分為Host和Runtime部分,Host功能是固定的,偏向于底層,是采用原生執行的方式,而Runtime部分是動態的,偏上層業務,編譯成Wasm字節碼,這樣可以隨時升級,其執行在Wasm虛擬機中。合約功能作為上層業務,放置在runtime中,由contractpallet模塊負責。通過分析本文主要要搞清楚兩個問題:

1.合約設計的經濟模型:交易執行收費和存儲租金機制;

香港數字資產托管機構First Digital宣布推出穩定幣FDUSD:金色財經報道,香港數字資產托管機構First Digital Trust宣布推出新的穩定幣 First Digital USD(FDUSD)。FDUSD 將由信托公司 First Digital Limited 的子公司 FD121 Limited 發行。First Digital 的重點仍然堅定地放在促進透明度和信任上。FDUSD 是一種可編程的穩定幣,能夠在沒有中介的情況下執行金融合約、托管服務和保險。[2023/6/1 11:51:39]

2.合約的執行機制:本身跑在Wasm虛擬機里的runtime里是怎么跑用戶Wasm合約的。

沙特阿拉伯將在Decentraland中慶祝國慶日:金色財經報道,沙特阿拉伯公民可以在元宇宙中慶祝該國的國慶日,為期三天的慶祝活動將于9月22日至24日在Decentraland元宇宙舉行。收藏家們將能夠購買受沙特民族服裝啟發的穿搭NFT。The Bold Group還將提供限量版POAP收藏品。這些NFT可作為出席首屆沙特阿拉伯國慶Web3慶祝活動的證明。(nftevening)[2022/9/22 7:12:05]

Runtime的contractpallet擴展了Currencytrait的賬戶系統,因此可以和其他基于Currency實現賬戶系統的模塊一起使用。擴展的合約賬戶具有實例化合約和調用其他合約和非合約賬戶的功能。

TON基金會將于7月30日對首批“.ton”域名進行拍賣:金色財經消息,TON基金會宣布推出域名服務TONDNS,將于7月30日對首批“.ton”域名進行拍賣,持續一周。域名最少4個字符,不超過126個字符,除了用戶注冊域名外,開發者還可以為其去中心化服務的智能合約注冊域名。此外,TON Sites和TON Proxy計劃于2022年第三季度推出。[2022/7/1 1:45:07]

為了合約代碼的復用,將合約代碼的上傳部署和合約賬戶的實例化分成兩部分,多個合約賬戶可以從同一份上傳的code進行實例化。

02

合約的經濟模型

為了避免垃圾交易和惡意合約占用計算和存儲資源,合約的設計考慮了交易執行收費和合約存儲收費邏輯。當合約賬戶的余額不夠支付存儲租金時,合約的存儲會被清理并進入tombstone狀態。

合約的生命周期

alive狀態的合約信息

當合約處于正常工作狀態,其主要有以下信息:

tombstone狀態的合約信息

當合約進入tombstone狀態后,合約的所有存儲都會被清理,合約信息里只有一個對storage_root+code_hash進行hash的值。

合約的復活

合約進入tombstone狀態后,技術上是可以進行恢復的。首先需要準備一本新臨時合約T,往T合約的存儲中插入原合約中的key-value對,使storageroot和原合約完全一致,然后調用restore_to合約接口,這個接口會檢查當前合約的storageroot是否和要恢復的tombstone一致,如果滿足要求那么就使原合約復活,并且將當前的臨時合約的資產轉移到復活合約,并銷毀當前臨時合約。

執行合約的Gas收費

交易的sender必須在每個call中指定gaslimit,未使用完的gas會在調用結束后返還。當到達了指定的gaslimit后,那么所有的call和相關的狀態變更只會在當前調用的合約層進行回滾,比如,合約A調用B,并且B執行時gas不夠,那么所有B的調用將被回滾。如果A能對錯誤進行正確處理,那么A的其他調用和狀態變更依然可以進行持久存儲。初看起來這樣做是一個極大的限制,但其實是底層增加了靈活性,因為并不是所有的調用都是災難性的,因此給了調用方可以進行合理的判斷和處理的機會;如果想要其他鏈那種出錯就完全回滾的方式,那么可以在調用B出錯后A也直接報錯回滾A的變更。

對于Wasm的每一個指令和host函數都設置了對應的InstructionWeight。

runtime會準備一個gas(amount:u32)的計費函數,在Wasm合約上傳后,立刻會對Wasm中的每一個函數進行計費函數的插入生成新的code。后續合約的執行都以新的code為準。

下一期我們將繼續圍繞Substrate的合約存儲的收租機制、Wasm合約限制、合約對外部交易的接口等方面展開。

如有任何疑問,可通過research@ont.io聯絡我們。

來源:金色財經

Tags:TONSTOASMBSTTONSStorjcoin Xasm幣騙局EBST幣

中幣
WEB:風云解析幣圈:12/10 早間ETH行情分析和操作策略_SIMPSONSINU

行情分析: 昨日以太坊的下方在530止跌反彈,下跌的幅度超出了預判,下跌46刀后幣價又回到了原點.

1900/1/1 0:00:00
以太坊:對話冉小波: NULS三年來的實戰心得與反思 |鏈捕手_NULS

從2017年以太坊打開區塊鏈行業的想象空間,到2018年的公鏈元年萬鏈齊發,再到2019年的公鏈幻滅,以太坊至今獨大,行業正在呈現出強者恒強的發展態勢.

1900/1/1 0:00:00
比特幣:金盛財金:12.11BTC凌晨走勢分析_eth價格今日行情USDT

小時線短線看來,目前BTC這個雙針探底的格局已經基本形成,小時線出現W底,MACD指標技術面底背離并且即將金叉,在這個位置上大家是可以進行做反彈短線多單的,基本上沒太大問題.

1900/1/1 0:00:00
加密貨幣:紅日說幣:12-9 晚間以太坊行情分析及操作策略 多頭持續發力 繼續沖擊高位_AVASTR Vault (NFTX)

以太坊行情分析: 昨日晚間給出的ETH空單順利止盈,雖然灰度大額增持ETH但是主力的砸盤向來都是無視灰度的。日內總體跌破超40余點。幣價插針下方530一線位置后走出反彈.

1900/1/1 0:00:00
Big news :Europe's New Scam Steal Victim 1 million Euroes of BTC(!!!)

Bustingcryptoscammersonebyone,andnomorecryptoscamforever!Reportallthecryptoscammers.

1900/1/1 0:00:00
WORLD:子恒論幣 早間ETH走勢_ITH

12月11日消息,中國央行今日開展100億元逆回購操作,因今日100億元逆回購到期,當日實現零投放零回籠.

1900/1/1 0:00:00
ads