# Fields in genesis

Specifically, the genesis file includes the following fields:

  • "genesis_time": The time of the beginning of the blockchain.
  • "genutil": A variety of genesis utility functionality for usage including genesis transactions creation (gentx) and genesis file validation command as well as Tendermint related initialization.
  • "ibc": Inter-Blockchain Communication across different chains.
  • "chain_id": A unique identifier for the blockchain. See this for further details.
  • "initial_height": The initial height of the blockchain.
  • "consensus_params: Consensus parameters defined in the genesis file.
  • "block":
  • "max_bytes": Maximum size of a block (in bytes).
  • "max_gas": The gas limit per block, default value is "-1", i.e., no rules about gas are enforced.
  • "time_iota_ms": The minimum time increment between consecutive blocks, in milliseconds.
  • "evidence": Evidence storage handling and block proposal detection with the evidence reactor.
  • "max_age_num_blocks": This field is to be deprecated.
  • "max_age_duration": The maximum age of evidence. Any evidence older than this will be rejected.
  • "max_num": The maximum age of evidence (in number of blocks).
  • "validator":
  • "pub_key_types": The supported validator public key types.
  • "app_hash": The initial application state defined in the genesis block.
  • "auth"
  • "params": Parameters of the auth module defined in the genesis file.
  • "max_memo_characters": Maximum number of characters in a memo of a transaction.
  • "tx_sig_limit": The maximum number of signers for a transaction.
  • "tx_size_cost_per_byte": The amount of gas consumed per byte of a transaction.
  • "sig_verify_cost_ed25519": Gas cost on edd2519 signature verification.
  • "sig_verify_cost_secp256k1": Gas cost on secp256k1 signature verification.
  • "accounts": Genesis accounts, which defines the initial allocation of the tokens.
  • "@type": Account type.
  • "address": Address of the genesis accounts.
  • "pub_key": Public key of the genesis accounts.
  • "account_number": The account number of the account in state.
  • "sequence": Used to count the number of transactions sent by this account. It is incremented each time a transaction is included in a block, and used to prevent replay attacks.
  • "base_vesting_account":
  • "original_vesting": Special type of accounting that the token needs to be vested for a period of time before they can be transferred. Tokens can be delegated during the vesting period.
  • "denom": Denomination of the token.
  • "amount": Total amount in the vesting account.
  • "delegated_free": Amount of delegated tokens that can be transferred after they've been vested.
  • "delegated_vesting": Amount of delegated tokens that are still under vesting.
  • "endtime": Vesting end time.
  • "bank" The bank module handles tokens.
  • "params": Parameters of the bank module defined in the genesis file.
  • "send_enabled": The transfer capability in the genesis.
  • "default_send_enabled": The default value for "send_enabled" value controls send transfer capability.
  • "distribution":The module that handles the logic of distribution block provisions and fees to validators and delegators.
  • "delegator_starting_infos":
  • "delegator_withdraw_infos": List of delegators withdraw address.
  • "fee_pool":
  • "community_pool": Allocated funds in the community pool, if any.
  • "outstanding_rewards": Uncollected rewards, if any.
  • "params": Parameters of the distribution module defined in the genesis file.
  • "base_proposer_reward": Base bonus on transaction fees collected in a valid block.
  • "bonus_proposer_reward": Maximum bonus on transaction fees collected in a valid block.
  • "community_tax": The rate of community tax.
  • "withdraw_addr_enabled": Whether delegators can set a different address to withdraw their rewards.
  • "previous_proposer": Proposer of the previous block, if any.
  • "validator_accumulated_commissions": Uncollected commission of validators, if any.
  • "validator_current_rewards": Information related to the current rewards of validators, if any.
  • "validator_historical_rewards": Information related to the historical rewards of validators, if any.
  • "validator_slash_events": Information related to the historical slashing events of validators, if any.
  • "gov": The governance module.
  • "deposit_params": Parameters for the deposit required for governance proposal.
  • "max_deposit_period": The maximum deposit period for governance proposal.
  • "min_deposit": The minimum deposit required for governance proposal.
  • "deposits": List of deposits for each proposal ID, if any.
  • "proposals": List of proposals for proposals, if any.
  • "starting_proposal_id": The initial proposals id, starting from "1"
  • "tally_params": Parameters for tally.
  • "quorum": Minimum percentage of bonded staking tokens that needs to vote for the result to be valid.
  • "threshold": Minimum percentage of votes that need to be YES for the result to be valid.
  • "veto_threshold": Maximum percentage NO_WITH_VETO votes for the result to be valid.
  • "votes": List of votes for each proposal ID, if any.
  • "voting_params": Parameters for voting.
  • "voting_period": The voting period for governance proposal.
  • "mint": The minting module for token minting.
  • "minter":
  • "annual_provisions": Annual expected provisions (set to zero in genesis).
  • "inflation": The target yearly inflation rate, compounded weekly.
  • "params": Parameters of the mint module defined in the genesis file.
  • "blocks_per_year": The expected number of blocks being produced per year.
  • "goal_bonded": Target bonded token in percentage.
  • "inflation_max": Maximum inflation rate.
  • "inflation_min": Minimum inflation rate.
  • "inflation_rate_change": Maximum annual change in inflation rate.
  • "mint_denom": Token type being minted.
  • "slashing": The slashing module for the punishment of validator's misbehavior.
  • "missed_blocks": Information related to validators missed blocks, if any.
  • "params": Parameters of the slashing module defined in the genesis file.
  • "downtime_jail_duration": The jailing duration for validators with low availability.
  • "min_signed_per_window": Threshold of total missed blocks, in percentage.
  • "signed_blocks_window": Window to calculate validators's liveness.
  • "slash_fraction_double_sign": Maximum percentage of stake reduction for byzantine validators.
  • "slash_fraction_downtime": Maximum percentage of stake reduction for validators with low availability.
  • "signing_infos": Information related to each validator for the slashing module, if any.
  • "staking": The staking module that handles Proof-of-Stake related logics.
  • "delegations": Information related to the delegation state of validators, if any.
  • "exported": Wether this genesis file was generated by exporting of a previous state.
  • "last_total_power": Total voting power in the genesis, if any.
  • "last_validator_powers": The voting power of each validator in last known state, if any.
  • "params": Parameters of the staking module defined in the genesis file.
  • "bond_denom": Coin denomination for staking.
  • "historical_entries": The number of historical entries to persist.
  • "max_entries": The max entries for either unbonding delegation or redelegation.
  • "max_validators": The maximum number of validator.
  • "unbonding_time": The time duration of unbonding.
  • "redelegations": List of redelegations for validators, if any.
  • "unbonding_delegations": List of unbonding delegations for validators, if any.
  • "validators": List of existing validators, if any.