【区块链 | 智能合约】Ethereum源代码(7)- 区块和交易广播

ProtocolManager详解

ProtocolManager,从字面上看是协议管理器,负责着p2p通信协议的管理。它连接了p2p的逻辑层peer与顶层peer之间的调用,从顶层将协议传递至逻辑层,再从逻辑层得到message传递到顶层。

  1. fastSync规定了同步的模式 ;
  2. acceptTxs是节点是否接受交易的阀门,只有当pm.acceptTxs == 1时,节点才会接受交易。这个操作只会在同步结束后再开始,即同步的时候节点是不会接受交易的;
  3. SubProtocols中是ethereum的通讯协议,通常只有一个值,即eth63
  4. downloader是一个下载器,用于主动从远程节点中获取hashesblocks
  5. fetcher则被动的收集网络其他ethereum节点发过来的同步通知,进行验证,并做出相应的处理。

ProtocolManager.Start()启动了四条go程,分别是交易订阅广播协程(txB

猜你喜欢

转载自blog.csdn.net/qq_28505809/article/details/127903388