reth
reth copied to clipboard
Ensure peer receives all new transactions
Describe the feature
transactions are broadcasted to sqrt(peercount) and either broadcasted as hashes or full:
https://github.com/paradigmxyz/reth/blob/e49f173f198aff4a38b4ad89aa67aceef94ceae7/crates/net/network/src/transactions/mod.rs#L459-L459
however for full txs there are size limits in place:
https://github.com/paradigmxyz/reth/blob/e49f173f198aff4a38b4ad89aa67aceef94ceae7/crates/net/network/src/transactions/mod.rs#L1411-L1411
so depending on total size of the unseen txs, the full broadcast is truncated and 4844 transactions are also not sent to that peer because they're excluded from the full broadcast.
TODO
- in case the full transactions are truncated or a new 4844 is seen, also announce the other transactions as a separate newpooledtxhashes message to that peer so it receives all new txs including 4844 as hash or in full
This should be done by also recording the hashes that don't fit:
https://github.com/paradigmxyz/reth/blob/1d83d14e8d096cfc8cc4ac12fd1ddaa4bacc089b/crates/net/network/src/transactions/mod.rs#L1409-L1413
and also add 4844 hashes
Additional context
No response