比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

相比起以太 Filecoin 是如何打造智能合約的?_GAS

Author:

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

Filecoin區塊鏈中的Actor等同于以太坊虛擬機中的智能合約。Filecoin虛擬機是負責執行所有參與者代碼的系統組件。在FilecoinVM上執行參與者會產生GAS費用。

在FilecoinVM上執行的任何操作都將以狀態樹的形式輸出。最新的狀態樹是Filecoin區塊鏈中的當前來源。

1

VMActor接口?v??ipfskj2020

Actor是以太坊虛擬機中智能合約的Filecoin等效項。因此,Actor是系統的核心組件。Filecoin區塊鏈當前狀態的任何更改都必須通過參與者方法調用來觸發。

以下會描述Actor與Filecoin虛擬機之間的接口。

總共有十一種類型的內置Actor,但并非所有類型都與VM交互。一些Actor不會調用對區塊鏈的StateTree的更改,因此不需要與VM的接口。

這里ActorState的結構由參與者的余額,參與者所擁有的令牌以及用于查詢,檢查鏈狀態并與之交互的一組狀態方法組成。

2

狀態樹

狀態樹是對Filecoin區塊鏈應用的任何操作的執行輸出。鏈上狀態數據結構是將地址綁定到參與者狀態的映射的形式)。VM在每次執行actor方法時都會調用當前的StateTree函數。

BitDeer:6月比特幣挖礦量同比增長35.8%:金色財經報道,吳忌寒旗下礦業公司比特小鹿BitDeer稱,6月比特幣挖礦量同比增長35.8%。[2023/7/8 22:25:08]

3

VM消息-Actor方法調用

消息是兩個參與者之間進行通信的單位,因此是狀態變化的根本原因。一條消息結合了:

從發送方轉移到接收方的令牌金額,以及具有在接收方上調用的參數的方法。

Actor代碼可以在處理收到的消息時向其他Actor發送其他消息。消息是同步處理的,也就是說,參與者在恢復控制之前等待發送的消息完成。

消息的處理消耗了計算和存儲單位,兩者均以瓦斯表示。消息的氣體限制為處理該消息提供了所需的計算上限。消息的發件人以其確定的汽油價格來支付消息執行所消耗的gas單位。區塊生產者選擇要包含在區塊中的消息,并根據每個消息的gas價格和消耗量獲得獎勵,從而形成市場。

消息語法驗證

語法無效的消息不得傳輸,保留在消息池中或包含在塊中。如果收到無效消息,則應將其丟棄,并且不要進一步傳播。

當單獨發送時SignedMessage,無論使用哪種簽名方案,都將消息打包為。有效的簽名郵件的序列化總大小不大于message.MessageMaxSize。

歐洲央行行長:歐洲央行很有可能在7月份繼續加息:金色財經報道,歐洲央行行長拉加德表示,預計通脹將在非常長的時間內居高不下,歐洲央行很有可能在7月份繼續加息;7月之后,歐洲央行將采取依賴數據的方法。[2023/6/17 21:43:25]

v??ipfskj2020

語法上有效的UnsignedMessage:

具有格式正確的非空To地址,

具有格式正確的非空From地址,

具有Value不小于零且不大于令牌總供給,并且

具有非負數GasPrice,

具有GasLimit至少等于與消息的序列化字節關聯的氣體消耗的值,

具有GasLimit不大于區塊氣體限制網絡參數的值。

從中提取信息Messagestruct,例如發件人和收件人地址,要轉移的值,執行消息所需的資金以及消息的CID。

假定消息最終應包含在一個塊中并添加到區塊鏈中,則應檢查消息的發送者和接收者的消息有效性,該值,gas費價格且BlockGasLimit該價格不應大于該區塊的gas費限額。

過去24小時以太坊鏈上手續費收入突破1700萬美元:金色財經報道,Cryptofees.info數據顯示,最近24小時,以太坊鏈上手續費收入為17236147美元,Uniswap鏈上手續費收入為2323807美元、BSC鏈上手續費收入為551043美元,SushiSwap鏈上手續費收入為519815美元、GMX鏈上手續費收入為430281美元,Arbitrum One鏈上手續費收入為395106美元。[2023/5/4 14:41:54]

消息語義驗證

語義驗證是指需要消息本身之外的信息的驗證。

語義上有效的SignedMessage必須帶有簽名,以驗證有效載荷是否已被From地址標識的帳戶執行者的公鑰簽名。請注意,當From地址是ID地址時,必須在塊所標識的父狀態下的發送帳戶參與者的狀態下查找公鑰。

注意:發送方必須以包含消息的塊所標識的父級狀態存在。這意味著單個塊包含創建新帳戶actor的消息和來自同一actor的消息是無效的。來自該參與者的第一條消息必須等到下一個紀元。消息池可能會排除來自參與者的,尚未處于鏈狀狀態的消息。

消息沒有進一步的語義驗證,可能導致包含該消息的塊無效。每個語法有效且正確簽名的消息都可以包含在一個塊中,并會從執行中產生一個收據。其中MessageReceiptsturct包括以下內容:

Chainlink正推出新平臺讓開發者使用AWS和Meta等Web 2.0 API構建Web3應用程序:3月5日消息,Chainlink 正在推出一個自助式無服務器平臺,以幫助開發人員將他們的去中心化應用程序 (dApp) 或智能合約連接到任何 Web 2.0 API。Chainlink Labs 首席產品官 Kemal El Moujahid 告訴 TechCrunch,新平臺 Chainlink Functions 還允許構建者在幾分鐘內通過其網絡在 Web 2.0 API 上運行可定制的計算。

該平臺目前在以太坊和 Polygon 測試網上處于內測模式。Chainlink 計劃將其功能擴展到更多區塊鏈,添加新的集成和工具,并盡快在主網上推出。[2023/3/5 12:43:19]

但是,消息可能無法執行到完成,在這種情況下,它不會觸發所需的狀態更改。

這種“無消息語義驗證”策略的原因是,在消息作為提示集的一部分執行之前,將不知道消息將應用于的狀態。塊生產者不知道在提示集中是否有另一個塊會在它之前,因此從聲明的父狀態更改了該塊消息將應用到的狀態。

4

VM運行內部環境

MessageReceipt包含一個頂層消息執行的結果。每個語法有效且正確簽名的消息都可以包含在一個塊中,并會從執行中產生一個收據。

知識產權律師:Yuga Labs擁有BAYC版權及授予BAYC NFT持有者使用其IP的權利:2月1日消息,與多個NFT項目密切合作的長期版權和知識產權律師Jeremy Goldman發文解釋有關Yuga Labs向持有人授予IP許可是否有效的問題。

Goldman表示,首先Yuga Labs擁有BAYC的版權,當原創作品被固定在有形的表達媒介中時,版權自動產生,其中包括存儲在計算機內存中的數字藝術,無論是否經過行政注冊。其次,Yuga Labs擁有與BAYC NFT相關的數字藝術品的版權,并有權授予BAYC NFT持有者對數字藝術品的所有權以及將藝術品用于商業和其他目的的許可。[2023/2/1 11:40:00]

語法有效的MessageReceipt具有:一個非負ExitCode;Return僅當退出代碼為零時,才為非空值;并且非負數GasUsed。

5

VM解釋器-外部消息調用

VM解釋器根據其父塊狀態上的提示集協調消息,從而產生新狀態和一系列消息回執。此新狀態的CID和收據集合的CID包含在后續區塊中,這些區塊必須同意這些CID才能形成新的提示集。

每個狀態更改都由消息的執行來驅動。提示集中所有塊中的消息必須執行才能產生下一個狀態。來自第一個塊的所有消息均在技巧集中的第二個和后續塊的消息之前執行。對于每個塊,首先執行BLS聚合的消息,然后執行SECP簽名的消息。

隱式消息

除了顯示包含在每個塊中的消息之外,隱含消息還會在每個時期對狀態進行一些更改。隱式消息不在節點之間傳輸,而是由解釋器在評估時構造的。

對于提示集中的每個塊,隱式消息:

調用區塊生產者的礦工演員來處理選舉PoSt提交,作為區塊中的第一條消息;

調用獎勵參與者將區塊獎勵支付給礦工的所有者帳戶,作為區塊中的最終消息;

對于每個提示集,一個隱式消息:

調用cronactor來處理自動支票和付款,作為提示集中的最后一條消息。

所有隱式消息的構造From地址都是杰出的系統帳戶參與者。他們將汽油價格指定為零,但必須包含在計算中。為了計算新狀態,它們必須成功。隱式郵件的收據不包括在收據列表中;只有明確的消息才有明確的回執。

GAS費

在大多數情況下,消息的發送者向產生包含該消息的塊的礦工支付執行該消息所需的GAS費。

執行該消息后,每次執行該消息所產生的GAS費將立即支付給礦工所有者帳戶。所獲得的集體獎勵或汽油費沒有任何負擔:兩者都可以立即花費。

郵件重復

由于不同的礦工在同一時期產生區塊,因此單個提示集中的多個區塊可能包含相同的消息。發生這種情況時,僅在第一次以提示集的規范順序遇到該消息時才處理該消息。消息的后續實例將被忽略,不會導致任何狀態突變,產生收據或向區塊生產者支付費用。

總結一下提示集的執行順序:

為第一塊支付獎勵

處理第一塊的選舉職位

第一個塊的消息

支付第二塊獎勵

處理第二個區塊的選舉職位

第二個塊的消息

定時刻度

消息有效性和失敗

有效塊中的每個消息都可以被處理并產生收據。但是,執行成功與否取決于消息所應用的狀態。如果消息執行失敗,則相應的收據將攜帶非零的退出代碼。

如果消息由于可以合理地歸因于礦工的原因而失敗,包括在父塊狀態中永遠不可能成功的消息,或者由于發件人缺乏資金來支付最大消息成本,則礦工將通過燒錢來支付罰款GAS費。

消息失敗導致的唯一狀態更改是:

發送方的增量CallSeqNum,并從發送方向包含消息的區塊礦主支付汽油費;

罰款等于失敗消息的GAS費,由礦工燒掉。

如果處于緊接的先前狀態,則消息執行將失敗:

該FromActor不存在于該州

該FromActor是不是帳號Actor

該CallSeqNum消息不匹配CallSeqNum的的FromActor

FromActor不具有足夠的平衡,以覆蓋消息的總和Value加上最大GAS成本,GasLimit*GasPrice

該參與者不在To狀態中,并且該To地址不是pubkey樣式的地址

該Toactor存在,但是沒有對應于非零的方法MethodNum

反序列化Params不是長度匹配數組Toactor的MethodNum方法的數組

反序列化Params對于Toactor的MethodNum方法指定的類型無效

所調用的方法消耗的GAS多于GasLimit允許的量

調用的方法以非零代碼退出

由于上述任何原因,接收方發送的任何內部消息都會失敗。

請注意,如果To參與者不在狀態中并且該地址是有效H(pubkey)地址,則它將被創建為帳戶參與者。

來源:金色財經

Tags:ACTTORCTOGASDACT幣TORPEDOCTOGER幣UGAS幣

中幣下載
艱難生長的DAPP,如何更好地搭建Web3.0_DAP

自2013以太坊出現,作為區塊鏈中最大的一個DAPP開發平臺,歷時7年,其上已經聚集大量的DAPP。除此以外,諸如EOS等平臺,其DAPP生態也在慢慢成型.

1900/1/1 0:00:00
每周市場觀察:真的有只要兩萬美元的比特幣嗎? | TokenInsight_TOKE

要點總結 有時候驚喜和意外來的沒有絲毫預告。其實一萬九千八百美元和兩萬美元沒有多大區別,但“$20,000”這個數字,對于從幾年前在這個行業中的投資者或者是投機者而言,在某種程度上更像是一個“心.

1900/1/1 0:00:00
國際貨幣基金組織警告:各國央行應重新考慮儲備分配,數字資產不可忽視_MAN

比特幣等加密貨幣沖擊著美元的世界貨幣地位。最近國際貨幣基金組織警告各國央行應該重新考慮自己的儲備分配.

1900/1/1 0:00:00
2020年IPFS最新消息:Filecoin主網?強制升級!WindowPost將不再燃燒Gas費!_FIL

關于FilecoinFIP-9提案???V|IPFS-88面對并不合理的gas費用,Filecoin官方在努力從多方面解決問題.

1900/1/1 0:00:00
幣沐巖:12.18市場狂潮后的暫時休憩 是瀑布的前奏還是再度蓄力?_SHK

?昨日比特幣連續突破新高,市場一片狂熱,一度朝向24000點位上攻,最終止步于23850一線,這一點位刷新了比特幣歷史上的新高,市場一片狂歡,牛市來啦!但無論多么狂熱的牛市,都不可能只漲不跌.

1900/1/1 0:00:00
香港Bee Network(Bee Games)最新挖礦項目(12月3號推出) 安裝注冊教程_ACE

香港beenetwork12月3號推出,12號破10萬用戶,15號破20萬用戶。與pi類似,注冊比較簡單,每24小時點亮閃電,官方網站:http://www.bee.games 兩種手機安裝方式.

1900/1/1 0:00:00
ads