--- sidebar_position: 4 description: Test different scenarios after the blockchain is created. --- # Genesis overwrites for development The `genesis.json` file for all new blockchains is automatically created from the `config.yml` file to define the initial state upon genesis of the blockchain. In development environments, it is useful to test different scenarios after the blockchain is created. The `genesis.json` file for the blockchain is overwritten by the top-level `genesis` parameter in `config.yml`. To set and test different values, add the `genesis` parameter to `config.yml`. ## Change the value of a single parameter To change the value of one parameter, add the key-value pair under the `genesis` parameter. For example, change the value of `chain-id`: ```yaml genesis: chain_id: "foobar" ``` ## Change values in modules You can change one or more parameters of different modules. For example, in the `staking` module you can add a key-value pair to `bond_denom` to change which token gets staked: ```yaml genesis: app_state: staking: params: bond_denom: "denom" ``` ## Genesis file For genesis file details and field definitions, see Cosmos Hub documentation for the [Genesis File](https://hub.cosmos.network/main/resources/genesis). ## Genesis block summary - The genesis block is the first block of a blockchain. - The `genesis.json` file for the blockchain is overwritten by the top-level genesis parameter in `config.yml`. - After the blockchain is created, add the `genesis` parameter and key-value pairs to set and test different values in your development environment.