ChainstateManager、CChainState、CChain和BlockManager类在比特币核心中做什么?
为什么CChainState和CChain有一个前导的“C”,而ChainstateManager和BlockManager没有?
这些问题是在2021年5月12日由约翰·纽伯里主办的比特币核心公关审查俱乐部(Bitcoin Core PR review club)上提出的,该俱乐部的主题是卡尔·东(Carl Dong)的公关去全球化。
比特币核心开发
验证
c级++
分享
改进这个问题
跟随
两天前问的
迈克尔·福克森
587077银牌2222铜牌
添加评论
1个答案
0
ChainstateManager、CChainState、CChain和BlockManager类做什么?
Doxygen提供的图形,显示类如何交互:
强氧图形
ChainstateManager:提供一个用于创建一个或两个ChainState并与之交互的接口
CChainState:存储并提供一个API来更新我们对当前最佳链的本地知识。
链:内存中索引的块链。它是在pr3077中引入的。
BlockManager:维护一个块树(存储在m\u block\u索引中),用来确定工作提示最多的位置。
为什么CChainState和CChain有一个前导的“C”,而ChainstateManager和BlockManager没有?
C代表使用匈牙利式命名的类。
比特币核心的当前样式是不使用匈牙利符号。比特币核心使用mï表示成员变量,gï表示全局变量,不使用前缀表示局部变量/参数。CChainState和CChain是在比特币核心实现这些风格指南之前命名的。
约翰·纽伯里和2021年5月12日比特币核心公关评论俱乐部的其他参与者回答了这些问题。
分享
改进这个答案
跟随
两小时前编辑的