以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > 火必 > Info

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

Author:

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

來源:區塊鏈研究實驗室

以太坊存儲機制

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

插槽位置

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

索尼申請可在不同游戲和平臺上使用的“NFT互通框架”專利:金色財經報道,電子巨頭索尼已申請NFT互通專利,或將部署全新NFT平臺,據悉該專利名為“用于在游戲平臺之間轉移和使用數字資產的NFT框架(NFT Framework For Transferring And Using Digital Assets Between Game Platforms)”,并且是在2022年9月提交的申請但直到昨日才被公開,專利內容顯示游戲玩家可以在不同平臺使用NFT,而且還可能跨平臺使用NFT資產,這意味著玩家可將NFT從一個游戲或系統轉移到另一個游戲或系統,而且還能將NFT交易或出售給其他玩家,而且還能支持通過數字分類賬驅動市場以公開價格向其他參與者后續銷售NFT。(psu)[2023/3/18 13:12:26]

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

幣安明日將上線API交易防自成交(STP)可選功能:官方公告顯示,幣安明日將為API用戶上線防自成交(STP)可選功能。使用交易平臺網站和應用程序的用戶不會受此影響。幣安使用條款中,禁止故意的自成交。

所謂自成交指用戶自己與自己達成交易,以此制造虛假交易操縱市場。[2023/1/25 11:29:33]

256位變量的簡單示例

BTC最近活躍2年以上供應百分比達到9個月新高:金色財經報道,據Glassnode數據顯示,BTC最近活躍2年以上供應百分比達到9個月新高,百分比為44.866%。[2022/8/16 12:28:22]

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

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

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

Mike Novogratz:當美聯儲暫停緊縮政策時,比特幣會引領下一次反彈:金色財經報道,加密投資機構Galaxy Digital創始人Mike Novogratz表示,當美聯儲暫停(緊縮政策)時,BTC將引領下一次的反彈,好的項目也會隨之而來,這個行業不會消失,我們只是在適應美聯儲造成的資產泡沫的破裂,建立革命性的技術和變革不應該是容易的。[2022/5/28 3:46:57]

下圖顯示了如何對智能合約的地址和傳遞給它的位置值進行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:NFTETSGETTORPNFT幣etschaintogetherbnb劇情到哪了MOONSTORM

火必
比特幣收復“3·12”全部跌幅,減半行情正式啟動?_比特幣

據QKL123行情顯示,近期比特幣持續走高,今日8時比特幣報7790.00美元,創下3月12日以來新高,放量突破后保持高位震蕩調整.

1900/1/1 0:00:00
Grin V4.0 硬分叉規劃:7月15日將進行主網升級_GRI

來源:頭等倉 編者注:原標題為《Grinv4.0硬分叉規劃:7月15日主網升級》 重要區塊高度與日期總結 如之前的文章提到,Grin將在上線的前兩年經歷四次硬分叉.

1900/1/1 0:00:00
巴比特專欄 | 肖颯:央行數字貨幣,將重構傳統金融業?_數字貨幣

編者注:原標題為《深度|央行數字貨幣,將重構傳統金融業?!》那一天農行內測的消息泄露,其實颯姐幾乎第一時間就知道了情況.

1900/1/1 0:00:00
億邦國際開啟美股上市!正式提交招股書 或成第二家上市礦機企業_加密貨幣

吳說區塊鏈獨家獲悉,翼比特礦機的主體億邦國際已正式提交招股書,開啟美股上市之路。招股書稱,億邦國際在2018年和2019年的收入分別為3.190億美元和1.091億美元.

1900/1/1 0:00:00
朱嘉明:如何理解和定義醫療新基建?_區塊鏈

前言 4月23日,經濟學家、數字資產研究院學術與技術委員會主任朱嘉明出席了《醫療新基建:產業、金融、科技的深度重構》線上研討會,并做了總結發言.

1900/1/1 0:00:00
70%的許可證申請遭拒,疫情來了,馬耳他不再愛加密貨幣了?_加密貨幣

馬耳他金融監管部門上周表示,大約70%完成第一階段申請的加密貨幣和區塊鏈創業公司未能獲得馬耳他金融服務許可證。馬耳他的加密貨幣監管規則在2018年公布時,被譽為世界上最具創新性的法規.

1900/1/1 0:00:00
ads