本文主要從源碼角度刻蚯,分析了比特幣btcd 版 的網(wǎng)絡(luò)相關(guān)流程的分析桑嘶。
1 主要流程
主要流程.png
2 Addrmgr.New 地址管理器
Addrmgr.png
3 新生成server的結(jié)構(gòu)
server的結(jié)構(gòu).png
4 syncManager.New 同步管理器
syncManager.png
5 connManager.new 連接管理器
connManager.png
5.1 OnAccept 請求進來時觸發(fā)的函數(shù)
OnAccept.png
其中AssociateConnection 是比較重要的讨便。主要啟動了stallHandler/inHandler/queueHandler/outHandler/pingHandler 流程如下:
AssociateConnection.png
5.2 onConnection 請求出去時的回調(diào)函數(shù)
onConnection.png
6 新建peerHandler
peerHandler.png
7 本文參考
btcd 源碼
8 其他
本文完成流程圖見
鏈接:https://pan.baidu.com/s/1VF_6fC146Pf7pBOmBOc3ZA&shfl=sharepset 密碼:r89i
本文是《循序漸進比特幣》的第十四篇-《比特幣btcd P.2.P 流程分析》。
如果有疑問废菱,可以直接留言抖誉,也可以關(guān)注公眾號 “鏈人成長chainerup” 提問留言,或者加入知識星球“鏈人成長”~