1. 程式人生 > >bitcoin區塊鏈原始碼分析(一)網路發現

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後,回覆訊息