2.1 本地資料結構
下圖是本地儲存的以太坊資料結構
// block represents an entire block in the ethereum blockchain.
type block struct
}
肖老師說對於本節課只有前三項是有效的
header:指向區塊鏈塊頭的指標
uncles:指向叔叔節點的指標陣列
transaction:交易的列表(以太坊中交易不是放在塊頭的嗎)
2.2 區塊頭結構
// header represents a block header in the ethereum blockchain.
type header struct
parenthash:是父區塊的雜湊值,就是前乙個區塊塊頭的雜湊值。
unclehash:叔叔區塊的雜湊值
root:狀態樹根雜湊
txhash:交易樹根雜湊
receipthash:收據樹根雜湊
bloom:布隆過濾器
difficulty:挖礦難度
gaslimit:是這個區塊中更夠消耗的區塊上限,類似於位元幣中的1m限制。為了防止某些區塊太大,對整個網路產生影響。這個值需要調整的時候調整範圍是上乙個區塊的正負1024/1。位元幣中分叉很多都是對1m空間理解不一致導致的,現在你覺得大你就下調,你覺得小就上調。雖然1024/1看起來很小,但是以太幣出塊時間很短,所以還是很快就能達到乙個大多數礦工都能認可的平均大小。
gasused:整個區塊中所有交易的汽油費之和。
time:大致時間戳
extra:
2.3 實際上傳的以太坊資料
// "external" block encoding. used for eth protocol, etc.
type extblock struct
真正上傳的時候只傳前三項,但是如果僅傳指標,資料呢?我還不清楚。
2.4 rlp(recursive length prefix)序列化
我最早接觸序列化是在左神的二叉樹序列化中,那個的目的就是把一種複雜的資料變成一種方便傳輸的結構,例如json和xml都是,不過他們都是文字形式的,rlp是面向位元組流的。
《rlp》
以太坊資料結構MPT
鏈客,專為開發者而生,有問必答!trie字典樹 trie樹,又稱字首樹或字典樹,是一種有序樹,用於儲存關聯陣列,其中的鍵通常是字串。乙個節點的所有子孫都有相同的字首,也就是這個節點對應的字串,而根節點對應空字串。上圖是一棵trie樹,表示了字串集合 從上圖中我們可以看出trie樹的特點 根節點不包含...
3 3 以太坊 以太坊核心詞彙詳解
以太坊虛擬機器 以太坊中智慧型合約的執行環境。賬戶外部賬戶 被公鑰 私鑰對控制 合約賬戶 合約賬戶被儲存在賬戶中的 控制 外部賬戶與合約賬戶區別 內部結構 訊息 類似於位元幣上的交易與位元幣交易的不同點 以太坊的訊息可以由外部實體或者合約建立,位元幣的交易只能外部建立 以太坊的訊息可以包含資料 如果...
以太坊系列之十五 以太坊資料庫
以太坊使用的資料庫是乙個nosql資料庫,是谷歌提供的開源資料leveldb.這裡嘗試通過分析以太坊資料庫儲存了什麼來分析以太坊可能為我們提供哪些關於區塊鏈的api.nosql是乙個key value資料庫,可以當做乙個磁碟上的map資料結構.有以下key value的對映.block number...