ABCI++: application to control how many txs it receives in PrepareProposal #980
Description
Was: tendermint/tendermint#7750
Context
As is currently implemneted in ABCI 2.0, CometBFT sends the application up to ConsensusParams.Block.MaxBytes - CommitBytes - HeaderBytes - EvidenceBytes
of txs. It also sends this number so that applications know the maximum amount of transactions they can return (if they want to add txs or modify them). If applications tend to merge or squash a lot of txs, or they need to filter through and either delay or remove txs, having this limit means they will tend to have undersized blocks.
Current Proposal
The current proposal is the "one shot" approach. There will be a new config.toml
or consensus param that controls the max number/size of transactions that CometBFT includes in raw proposal blocks it send to the app in PrepProp
.
Probably with a special value (-1?) to indicate "send everything".
[See discussion in tendermint/tendermint#7750 for further details]