github.com/number571/tendermint@v0.34.11-gost/proto/tendermint/types/params.proto (about) 1 syntax = "proto3"; 2 package tendermint.types; 3 4 option go_package = "github.com/number571/tendermint/proto/tendermint/types"; 5 6 import "gogoproto/gogo.proto"; 7 import "google/protobuf/duration.proto"; 8 9 option (gogoproto.equal_all) = true; 10 11 // ConsensusParams contains consensus critical parameters that determine the 12 // validity of blocks. 13 message ConsensusParams { 14 BlockParams block = 1; 15 EvidenceParams evidence = 2; 16 ValidatorParams validator = 3; 17 VersionParams version = 4; 18 } 19 20 // BlockParams contains limits on the block size. 21 message BlockParams { 22 // Max block size, in bytes. 23 // Note: must be greater than 0 24 int64 max_bytes = 1; 25 // Max gas per block. 26 // Note: must be greater or equal to -1 27 int64 max_gas = 2; 28 } 29 30 // EvidenceParams determine how we handle evidence of malfeasance. 31 message EvidenceParams { 32 // Max age of evidence, in blocks. 33 // 34 // The basic formula for calculating this is: MaxAgeDuration / {average block 35 // time}. 36 int64 max_age_num_blocks = 1; 37 38 // Max age of evidence, in time. 39 // 40 // It should correspond with an app's "unbonding period" or other similar 41 // mechanism for handling [Nothing-At-Stake 42 // attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed). 43 google.protobuf.Duration max_age_duration = 2 44 [(gogoproto.nullable) = false, (gogoproto.stdduration) = true]; 45 46 // This sets the maximum size of total evidence in bytes that can be committed in a single block. 47 // and should fall comfortably under the max block bytes. 48 // Default is 1048576 or 1MB 49 int64 max_bytes = 3; 50 } 51 52 // ValidatorParams restrict the public key types validators can use. 53 // NOTE: uses ABCI pubkey naming, not Amino names. 54 message ValidatorParams { 55 repeated string pub_key_types = 1; 56 } 57 58 // VersionParams contains the ABCI application version. 59 message VersionParams { 60 uint64 app_version = 1; 61 } 62 63 // HashedParams is a subset of ConsensusParams. 64 // 65 // It is hashed into the Header.ConsensusHash. 66 message HashedParams { 67 int64 block_max_bytes = 1; 68 int64 block_max_gas = 2; 69 }