@@ -30,10 +30,10 @@ type Block struct {
30
30
31
31
// ID of the data for this block.
32
32
// The user-defined consensus strategy provides this ID,
33
- // and the application is responsible for retrieving the raw data belonging to the ID.
33
+ // and the driver is responsible for retrieving the raw data belonging to the ID.
34
34
//
35
35
// The ID is typically, but not necessarily,
36
- // a cryptographic hash of the application data for the block
36
+ // a cryptographic hash of the application data for the block.
37
37
DataID []byte
38
38
39
39
// The hash of the app state as a result of executing the previous block.
@@ -57,9 +57,13 @@ type Block struct {
57
57
58
58
// CommitProof is the commit proof for a block.
59
59
type CommitProof struct {
60
- Round uint32 // Necessary to derive signature content.
60
+ // Necessary to verify signature content.
61
+ Round uint32
61
62
62
- PubKeyHash string // Required to validate sparse signatures.
63
+ // The hash of the ordered collection of public keys
64
+ // of the validators at the height where the commit proof occurred.
65
+ // Derived through a [HashScheme] method.
66
+ PubKeyHash string
63
67
64
68
// Keyed by block hash, or an empty string for nil block.
65
69
Proofs map [string ][]gcrypto.SparseSignature
@@ -72,6 +76,8 @@ type CommittedBlock struct {
72
76
}
73
77
74
78
// ProposedBlock is the data sent by a proposer at the beginning of a round.
79
+ // This is the logical representation within the engine,
80
+ // not necessarily an exact representation of the data sent across the network.
75
81
type ProposedBlock struct {
76
82
// The block to consider committing.
77
83
Block Block
@@ -106,7 +112,8 @@ type ProposedBlock struct {
106
112
Signature []byte
107
113
}
108
114
109
- // BlockFinalization is the set of data resulting from finalizing (read: evaluating) a block.
115
+ // BlockFinalization is the set of data resulting from finalizing
116
+ // (read: evaluating and executing) a block.
110
117
type BlockFinalization struct {
111
118
// The block hash, for an unambiguous reference to which block is in consideration.
112
119
BlockHash []byte
@@ -119,6 +126,7 @@ type BlockFinalization struct {
119
126
Round uint32
120
127
121
128
// The hash of the app state after finalizing the block.
129
+ // The engine uses this as the [Block.PrevAppStateHash] field when proposing a new block.
122
130
AppStateHash []byte
123
131
124
132
// The next validators after evaluating the block.
0 commit comments