文章目录
版本说明
源码分析使用的版本为:v1.10.3
一、数据结构
1. MPT
以太坊源码中的trie包实现了Merkle Patricia Tries(MPT),这种数据结构实际上是一种Trie树变种。
MPT是以太坊中一种非常重要的数据结构,用来存储用户账户的状态及其变更、交易信息、交易的收据信息。
MPT实际上是三种数据结构的组合,分别是Merkle树、Patricia Trie和Trie树。
🔎详情:
2. LevelDB
go-ethereum所有的数据存储在levelDB这个Google开源的KeyValue文件数据库中,整个区块链的所有数据都存储在一个levelDB的数据库中,levelDB支持按照文件大小切分文件的功能,所以我们看到的区块链的数据都是一个一个小文件,其实这些