Browse Source

Included extra parameter in `FinalizeBlock` in an attempt to include https://github.com/tendermint/tendermint/issues/1909 in this spec

pull/7804/head
Sergio Mena 3 years ago
parent
commit
81be4d0d14
1 changed files with 12 additions and 8 deletions
  1. +12
    -8
      spec/abci++/abci++_methods_002_draft.md

+ 12
- 8
spec/abci++/abci++_methods_002_draft.md View File

@ -569,14 +569,15 @@ from this condition, but not sure), and _p_ receives a Precommit message for rou
* **Response**: * **Response**:
| Name | Type | Description | Field Number |
|-------------------------|-------------------------------------------------------------|----------------------------------------------------------------------------------|--------------|
| block_events | repeated [Event](abci++_basic_concepts_002_draft.md#events) | Type & Key-Value events for indexing | 1 |
| tx_result | repeated [TxResult](#txresult) | List of structures containing the data resulting from executing the transactions | 2 |
| validator_updates | repeated [ValidatorUpdate](#validatorupdate) | Changes to validator set (set voting power to 0 to remove). | 3 |
| consensus_param_updates | [ConsensusParams](#consensusparams) | Changes to consensus-critical gas, size, and other parameters. | 4 |
| app_hash | bytes | The Merkle root hash of the application state. | 6 |
| retain_height | int64 | Blocks below this height may be removed. Defaults to `0` (retain all). | 7 |
| Name | Type | Description | Field Number |
|-------------------------|-------------------------------------------------------------|-----------------------------------------------------------------------------------------|--------------|
| block_events | repeated [Event](abci++_basic_concepts_002_draft.md#events) | Type & Key-Value events for indexing | 1 |
| tx_result | repeated [TxResult](#txresult) | List of structures containing the data resulting from executing the transactions | 2 |
| validator_updates | repeated [ValidatorUpdate](#validatorupdate) | Changes to validator set (set voting power to 0 to remove). | 3 |
| consensus_param_updates | [ConsensusParams](#consensusparams) | Changes to consensus-critical gas, size, and other parameters. | 4 |
| app_hash | bytes | The Merkle root hash of the application state. | 6 |
| need_new_block | bool | If _true_, the App wants a new block to be produced, even if no transactions in mempool | 7 |
| retain_height | int64 | Blocks below this height may be removed. Defaults to `0` (retain all). | 8 |
* **Usage**: * **Usage**:
* Contains a newly decided block. * Contains a newly decided block.
@ -622,6 +623,9 @@ from this condition, but not sure), and _p_ receives a Precommit message for rou
blocks then this data is permanently lost, and no new nodes will be able to join the network and blocks then this data is permanently lost, and no new nodes will be able to join the network and
bootstrap. Historical blocks may also be required for other purposes, e.g. auditing, replay of bootstrap. Historical blocks may also be required for other purposes, e.g. auditing, replay of
non-persisted heights, light client verification, and so on. non-persisted heights, light client verification, and so on.
* Parameter `need_new_block` signals the Application's desire to see a new block being proposed even if
there are no outstanding transactions or evidences in Tendermint's mempool (i.e. empty block). If there
are outstanding transactions, the value set here has no effect.
* Just as `ProcessProposal`, the implementation of `FinalizeBlock` MUST be deterministic, since it is * Just as `ProcessProposal`, the implementation of `FinalizeBlock` MUST be deterministic, since it is
making the Application's state evolve in the context of state machine replication. making the Application's state evolve in the context of state machine replication.
* Currently, Tendermint will fill up all fields in `RequestFinalizeBlock`, even if they were * Currently, Tendermint will fill up all fields in `RequestFinalizeBlock`, even if they were


Loading…
Cancel
Save