1

I am new to Substrate and currently reading through all the great documentation that is available. I understand the concept of block authoring and finalization, but the following is a bit unclear to me:

Each node of my network can have their own RPC endpoint that can be used to send transactions to that node, which then will be validated and placed into the transaction pool of that node until it is put into a block.

Now, when my network uses a round robin authoring algorithm like AURA, I wonder how the node that is currently selected to auther the next block is aware of transactions withing transaction pools of other nodes? Is every node gossiping their enitre transaction pool to any other node, so every node of the network is aware of each valid transaction that was send to any RPC endpoint? Or does a valid transaction stay in the transaction pool of a node until it is that node's turn to auther a new block?

1 Answer 1

1

By default, every valid transaction is propagated across the network of peers. There are some cases it is not.

This parameter instructs the pool propagate/gossip a transaction to node peers. By default this should be true, however in some cases it might be undesirable to propagate transactions further. Examples might include heavy transactions produced by block authors in offchain workers (DoS) or risking being front runned by someone else after finding some non trivial solution or equivocation, etc.

And if you search for propagate: false in the repo, you will find couple of cases, namely for grandpa, babe and beefy for cases when an equivocation is submitted.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.