比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

GET:詳解以太坊虛擬機(EVM)的數據存儲機制_tourstorageserver

Author:

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

來源:區塊鏈研究實驗室

以太坊存儲機制

在EVM中允許執行智能合約代碼。合約狀態或內存存儲在智能合約地址中。可以將這種存儲視為位于智能合約地址的無限長度的數據結構數組。存儲機制確保存儲位置沒有沖突,并遵循一組規則。使用這些規則,我們可以解碼任何合約的狀態。解碼存儲在映射中的數據需要知道所使用的密鑰。合約數據的解碼使用RPC調用eth_getStorageAt進行。

插槽位置

變量在智能合約的存儲陣列中的位置由代碼中出現的順序以及變量的大小決定。此位置稱為插槽。如果一個變量小于256位,則EVM會嘗試在空間中容納一個以上的變量,因此一個以上的變量可能會占用存儲陣列中單個插槽的空間。映射或數組將始終占據一個插槽。數組和映射元素的位置遵循一組特殊的哈希規則,本文將對此進行介紹,這些規則在以太坊文檔中也有描述。

Horizen EON將于6月13日進行Gobi測試網升級:6月9日消息,Horizen 發文稱,EON 將于 6 月 13 日進行 Gobi 測試網升級,通過更改一些費用參數來提高網絡的安全性,對通過正在進行的漏洞賞金計劃出現的漏洞實施修復,確保順利過渡到 EON 主網啟動。[2023/6/9 21:26:52]

下表提供了EVM遵循的分配規則的摘要。我們將看兩個智能合約的示例,并使用表1中提供的規則對其進行解碼

美國聯邦基金利率期貨目前押注美聯儲6月加息的可能性為三分之一:金色財經報道,美國聯邦基金利率期貨目前押注美聯儲6月加息的可能性為三分之一,低于美聯儲理事杰斐遜講話前67%的概率。杰斐遜稱,在未來一次會議上暫停加息并不意味著利率達到峰值,跳過一次加息可以留出時間來評估經濟數據。[2023/6/1 11:51:04]

256位變量的簡單示例

首先讓我們看一個簡單示例,所有變量都是256bit。這樣做使我們無需考慮可變變量即可查看分配。

請注意,當對數字應用keccack哈希時,數字必須是0填充的64位值。

富達分析師:隨著加息周期接近尾聲,比特幣等資產在宏觀方面出現積極勢頭:金色財經報道,在比特幣經歷了一個月的上漲后,大投資者正再次涉足加密貨幣領域。富達數字資產公司的分析師寫道,如果通脹峰值目前確實已經過去,那么隨著以通脹為重點的加息周期接近尾聲,長期利率可能會走低。這可能標志著比特幣等資產在宏觀方面出現積極勢頭。據加密貨幣投資公司稱,加密貨幣交易量也在增長,平均每周交易量增長11%,這表明交易員在經歷了幾個月的活動低迷后正在回歸。[2023/2/9 11:55:48]

所有解碼都是使用以太坊RPC調用eth_getStorageAt執行的,在本文中將其表示為GetStorageAt。可以使用任何語言打包程序來調用此RPCapi。

COTI CTO:Cardano生態算法穩定幣Djed將很快推出:12月15日消息,COTI Network首席技術官Shahaf Bar-Geffen在最近的播客節目中表示,基于Cardano的算法穩定幣Djed將很快推出,他對即將推出的產品感到“非常興奮”。在11月份的Cardano峰會上,Bar-Geffen最初宣布,算法穩定幣Djed將于2023年1月在主網上線。

據此前報道,該穩定幣在9月份處于開發的最后階段,本月早些時候開始測試增強的功能。根據Bar-Geffen的說法,團隊必須確保穩定幣Djed與Vasil升級兼容。(U.Today)[2022/12/15 21:47:10]

下圖顯示了如何對智能合約的地址和傳遞給它的位置值進行GetStorageAt調用。圖1左側的數字是變量的位置。對于基類型,可以將此位置傳遞到GetStorageAt以獲取變量值。對于數組,位置將返回數組的長度。

通過將Keccack哈希傳遞給索引為0的GetStorageAt來解碼數組索引。數組的每個后續索引位于與位置求和的哈希值處。可以認為這是訪問數組的指針并增加其位置以查找每個元素,類似于C或C++。

傳遞給每個鍵的GetStoragetAt的位置值是鍵的keccack哈希值和映射聲明的位置。對于多維映射,將密鑰和變量位置遞歸調用Keccack哈希值。參見圖1中的示例進行說明。

接下來,我們來看一個發生變量打包的示例。打包要記住的是:

1.它僅按出現順序適用于基本變量類型。EVM將按照代碼中列出的順序在256位空間中打包盡可能多的變量。

2.每個映射和數組變量將占用一個新的插槽。

3.數組變量映射將遵循打包規則。也就是說,如果一個元素小于256位,則陣列的多個索引將占用存儲陣列中的單個插槽。

圖2顯示并提供了發生的打包的說明。當類型的長度小于256位時,EVM嘗試將其他變量打包到插槽中。EVM按列出的順序選擇要打包的變量。映射和數組始終出現在新位置。但是打包規則仍適用于解碼數組索引,打包規則仍適用于存儲在映射中的結構。

有關這種情況下如何存儲變量的說明,請參見圖2。

繼承

關于繼承的說明。當智能合約繼承其他智能合約時,基本智能合約的存儲變量將按繼承順序占據存儲陣列的第一個插槽。子類的存儲變量將隨后出現。

結論

如前所述,我們在本文介紹的規則來解碼以太坊智能合約的存儲機制。在接下來的,第2部分將描述的智能合約規則編寫的工具。

Tags:GETTORRAGETORAtogetherbnb游戲攻略Equator價格tourstorageserverStorage area network anywhere

比特幣價格實時行情
區塊鏈:巴比特專欄 | 蔡維德:區塊鏈用于征信構建“桃源世界”_Voyage

本文原發“人民數字Fintech”作者:蔡維德,現任國家特聘專家,北京航空航天大學博導、北航數字社會與區塊鏈實驗室主任 前言 關于區塊鏈運用的探討如今已頻繁出現在大眾視野中.

1900/1/1 0:00:00
BTC:行情分析 | 大盤走勢漸穩,有望試探8000美元關口_usdt幣怎么兌換人民幣歐意

作者|哈希派分析團隊 金色財經合約行情分析 | BTC在12000美元下方窄幅盤整:據火幣BTC永續合約行情顯示,截至今日18:00(GMT+8),BTC價格暫報11825美元(+0.66%).

1900/1/1 0:00:00
比特幣:BTC減半未至,礦機先倒一半?_SWISSNFTFUND價格

文:嚯嚯 來源:蜂巢財經 4月21日,比特幣網絡迎來一次新的挖礦難度上調。受此影響,BTC網絡單位算力收益由原來的0.00001709BTC/T下降至0.00001576BTC/T,跌幅7.7%.

1900/1/1 0:00:00
MAD:巴比特專欄 | 加密數字貨幣錢包必要知識:按終端來分錢包種類及其優缺點_NOM價格

作者:tan90 編者注:原標題為《選擇和使用加密數字貨幣錢包必要知識,按終端來分錢包種類及其優缺點》我們裝紙幣和銀行卡的錢包,錢包和錢是兩碼事。錢是核心,錢包是工具。錢可以裝在各種錢包里.

1900/1/1 0:00:00
LIB:Libra新版白皮書解讀:美元霸權下的金融噩夢_FACE

來源:?深潮DeepFlow終于,Facebook還是妥協了。4月16日,Libra新版白皮書出爐。其中對不少重大事項進行了更改,整體觀之,用一句話概括就是——濃濃的求生欲.

1900/1/1 0:00:00
比特幣:推特CEO:比特幣白皮書美如“詩歌”,是過去二三十年最具開創性的著作之一_區塊鏈工程專業學什么課程的

Twitter首席執行官兼聯合創始人杰克·多爾西在接受技術研究員的播客采訪時,將比特幣的白皮書稱為“詩歌”.

1900/1/1 0:00:00
ads