天天看點

以太坊系列之六: p2p子產品--以太坊源碼學習p2p子產品

p2p子產品

p2p子產品對外暴露了Server關鍵結構,幫助上層管理複雜的p2p網路,使其集中于Protocol的實作,隻關注于資料的傳輸.

Server使用discover子產品,在指定的UDP端口管理網絡中結點的發現以及維護,discover子產品能夠直接和臨近結點交換各自已知結點資訊,進而不斷的更新結點網絡.

Server還是用nat子產品來進行TCP端口映射,而nat主要是利用upnp和pmp兩個協定,如果沒有,那就隻能認為指定的ip就是公網ip了.

Server要同時在udp和tcp的30303端口和p2p網絡進行資料交換,前者是用來維護P2p網絡,後者則是各種應用協定真正交換資料的地方.他們使用的格式是Msg,具體見

p2p_server

.

關于Server以及Protocol如何使用可以見

Peer-to-Peer

雖然不是很詳細,但是已經基本上說明了Server以及Protocol如何使用,感興趣可以基于這個p2p網絡實作自己的協定,可以完全與以太坊應用沒關系.

繼續閱讀