[TOC]
交易池同步机制
ONT的多个节点需要维护一个共同的交易池,出块节点会从交易池中获取交易数据出块,因此每笔交易都需要在整个网络间进行广播。 交易在广播前需要先进行确认,经过确认后的交易才会通过net模块发送到其他节点。
图示
- 客户端发起一笔交易然后通过rpc调用发送给节点服务端
- 节点的rpc服务调用回调函数,将交易发送给交易池的actor
- actor将交易数据发送给工人线程
- 工人线程将交易发送到认证模块校验交易内容:签名,双花等
- rspActor收到认证模块返回数据,并将数据发送回工人线程
- 工人线程将通过认证的交易放入交易池
- 工人线程将通过认证的交易发送到P2P网络模块
- 网络模块将交易发送到它获取到的邻居节点上
- 邻居节点收到交易数据,首先判断是否在本节点交易池中存在,若不存在,发送到工人线程,执行第4步