bitcoin区块链源码分析(一)网络发现

bitcoin节点在接收peer发过来的块的处理流程

//所有全局变量

      

 //CConnman 的一个关键属性m_msgproc:

 

如果本地没有peer.dat,  由第一线程CConnman::ThreadDNSAddressSeed从7个硬编码的种子节点解析出大量IP

//seed.bitcoin.sipa.be;

//dnsseed.bluematt.me;

//dnsseed.bitcoin.dashjr.org;

//seed.bitcoinstats.com;

//seed.bitcoin.jonasschnelli.ch;

//seed.btc.petertodd.org;

//seed.bitcoin.sprovoost.nl

然后由第二个线程 CConnman::ThreadOpenConnections 一个去尝试连接,如果连接成功则创建一个CNode, 如下图:

最后由第三个线程 CConnman::ThreadMessageHandler()接受command并处理

处理完peer发过来的message后,回复消息

猜你喜欢

转载自blog.csdn.net/softgmx/article/details/80316080