验证(.h和.cpp)在比特币核心代码库的概念上涵盖了什么?
这个问题是拉里·鲁恩在2021年5月12日的比特币核心公关评审俱乐部上提出的,当时他正在讨论卡尔·董的公关去全球化
比特币核心开发
验证
c级++
分享
改进这个问题
跟随
5月13日9:31问
迈克尔·福克森
582077银牌2222铜牌
添加评论
1个答案
1
约翰·纽伯里在比特币核心公关评论俱乐部会议上回答了这个问题。
概念验证存储并维护区块链和相关UTXO集的最佳视图。它还包括一个向mempool提交未确认事务的接口。
此外,James O’Beirne在Bitcoin Edge Dev++上发表的关于比特币核心架构的演讲中的幻灯片指出:
验证处理根据某些接受规则修改chainstate和transactions(mempool)的内存中数据结构。
它定义了其中一些数据结构(CChainState、mapBlockIndex)以及验证它们的过程,例如CheckBlock()。
奇怪的是,它还包含一些用于将数据编组到磁盘和从磁盘编组数据的实用程序函数,例如ReadBlockFromDisk()、FlushStateToDisk()、{Dump,Load}Mempool()。这可能是因为验证{h,cpp}是将main{h,cpp}重构成更小的片段的结果。
下面是James演示中的一个图表,显示了验证如何与代码库的其他区域相关联。