在比特币核心代码库中,net\u处理(.h和.cpp)在概念上涵盖了什么?
比特币核心开发
验证
C++
点对点
分享
改进这个问题
跟随
6月2日15:27问
迈克尔·福克森
659988银牌2323铜牌
添加评论
1个答案
0
James O’Beirne在Bitcoin Edge Dev++(2018)的比特币核心架构演讲中回答了这一问题。
netu处理将P2P消息路由为验证调用和响应P2P消息。它将网络层调整为链状态层,并将网络消息转换为本地状态更改的调用。
netu处理的大部分是ProcessMessage(),这是一个巨大的条件,用于将特定的网络消息类型呈现给深入比特币的调用。
对等点也会因网络处理中的不良行为(例如发送节点无效块)而受到惩罚(git grep行为不端(查看Core跟踪不良行为的各种情况)。
net位于比特币核心栈的底部,处理与P2P网络的网络通信。net中的CConMan通过CConMan::ThreadMessageHandler将消息转发给net\u处理。
Net处理使用诸如ProcessNewBlock()和AcceptToMemoryPool()之类的函数调用来调用验证,它负责查看块链和UTXO集。
各种比特币核心公关审查俱乐部(如2021年2月3日的20721公关俱乐部)都涵盖了网络处理。
分享
改进这个答案
跟随
6月2日15:36编辑
6月2日15:27回答
迈克尔·福克森
659988银牌2323铜牌
添加评论