摘要: 以太坊中处理过的的区块链相关的数据最终都会持久化到数据库中,以太坊采用的底层数据库是 LevelDB,LevelDB 是由 Google 开发的基于 key-value 的非关系型数据库存储系统,特别适用于写多读少的场景。在 Geth 启动流程这一节的介绍中提到过,创建 Ethereum 实例时,创 阅读全文
posted @ 2025-06-26 16:39 若-飞 阅读(66) 评论(0) 推荐(0)
摘要: 引言 在以太坊节点的运行过程中,状态数据的持久化是一个核心问题。本文将深入分析以太坊在处理自己产生的区块和同步其他节点区块时,状态存储机制的差异。 状态存储的两种场景 1. 自己产生区块的处理流程 当节点作为验证者产生新区块时,使用 WriteBlockAndSetHead 函数处理: func ( 阅读全文
posted @ 2025-06-26 15:29 若-飞 阅读(28) 评论(0) 推荐(0)
摘要: 在以太坊的区块链实现中,gcproc 是一个重要的状态管理机制,它用于控制何时将内存中的状态写入磁盘。让我们深入了解这个机制。 什么是 gcproc? gcproc 是在 BlockChain 结构体中定义的一个累积时间计数器: type BlockChain struct { gcproc tim 阅读全文
posted @ 2025-06-26 15:00 若-飞 阅读(17) 评论(0) 推荐(0)