Verify transaction broadcasting
Consider following scenario to be prepared as regression test (built over test_tools library):
- We have 3 API nodes connected through p2p network as usually
- We have a 1 witness node covering all witness accounts (to have a majority)
- Client is broadcasting a transactions to the one of API nodes. They are accepted (by API nodes) and successfully broadcasted via p2p to witness node(s) Questions:
- What happens when p2p connection to witness nodes will break, and accepted transactions on API nodes, at p2p->broadcast call time (executed on API node) really will be not received by witness nodes.
- Does API node will retry sending a P2P message containing such transaction ?
- If there is no P2P transfer retry, does API node will accept again the same transaction or client will have to wait for its expire/broadcast new one.