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  }