github.com/evdatsion/aphelion-dpos-bft@v0.32.1/types/proto3/block.proto (about) 1 syntax = "proto3"; 2 3 package proto3; 4 5 6 message PartSetHeader { 7 int32 Total = 1; 8 bytes Hash = 2; 9 } 10 11 message BlockID { 12 bytes Hash = 1; 13 PartSetHeader PartsHeader = 2; 14 } 15 16 message Header { 17 // basic block info 18 Version Version = 1; 19 string ChainID = 2; 20 int64 Height = 3; 21 Timestamp Time = 4; 22 int64 NumTxs = 5; 23 int64 TotalTxs = 6; 24 25 // prev block info 26 BlockID LastBlockID = 7; 27 28 // hashes of block data 29 bytes LastCommitHash = 8; // commit from validators from the last block 30 bytes DataHash = 9; // transactions 31 32 // hashes from the app output from the prev block 33 bytes ValidatorsHash = 10; // validators for the current block 34 bytes NextValidatorsHash = 11; // validators for the next block 35 bytes ConsensusHash = 12; // consensus params for current block 36 bytes AppHash = 13; // state after txs from the previous block 37 bytes LastResultsHash = 14; // root hash of all results from the txs from the previous block 38 39 // consensus info 40 bytes EvidenceHash = 15; // evidence included in the block 41 bytes ProposerAddress = 16; // original proposer of the block 42 } 43 44 message Version { 45 uint64 Block = 1; 46 uint64 App = 2; 47 } 48 49 // Timestamp wraps how amino encodes time. 50 // This is the protobuf well-known type protobuf/timestamp.proto 51 // See: 52 // https://github.com/google/protobuf/blob/d2980062c859649523d5fd51d6b55ab310e47482/src/google/protobuf/timestamp.proto#L123-L135 53 // NOTE/XXX: nanos do not get skipped if they are zero in amino. 54 message Timestamp { 55 int64 seconds = 1; 56 int32 nanos = 2; 57 }