--- sidebar_position: 3 description: Primary configuration file to describe the development environment for your blockchain. title: config.yml reference --- # config.yml reference The `config.yml` file generated in your blockchain folder uses key-value pairs to describe the development environment for your blockchain. Only a default set of parameters is provided. If more nuanced configuration is required, you can add these parameters to the `config.yml` file. ## accounts A list of user accounts created during genesis of the blockchain. | Key | Required | Type | Description | | -------- | -------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------- | | name | Y | String | Local name of a key pair. An account name must be listed to gain access to the account tokens after the blockchain is launched. | | coins | Y | List of Strings | Initial coins with denominations. For example, "1000token" | | address | N | String | Account address in Bech32 address format. | | mnemonic | N | String | Mnemonic used to generate an account. This field is ignored if `address` is specified. | Note that you can only use `address` OR `mnemonic` for an account. You can't use both, because an address is derived from a mnemonic. If an account is a validator account (`alice` by default), it cannot have an `address` field. **accounts example** ```yaml accounts: - name: alice coins: ["1000token", "100000000stake"] - name: bob coins: ["500token"] address: cosmos1adn9gxjmrc3hrsdx5zpc9sj2ra7kgqkmphf8yw ``` ## build | Key | Required | Type | Description | |----------|----------|------------------|--------------------------------------------------------------------------------------------------------------| | main | N | String | When an app contains more than one main Go package, required to define the path of the chain's main package. | | binary | N | String | Name of the node binary that is built, typically ends with `d`. | | ldflags | N | List of Strings | ldflags to set version information for go applications. | **build example** ```yaml build: binary: "mychaind" ldflags: [ "-X main.Version=development", "-X main.Date=01/05/2022T19:54" ] ``` ### build.proto | Key | Required | Type | Description | | ----------------- | -------- | --------------- | ------------------------------------------------------------------------------------------ | | path | N | String | Path to protocol buffer files. Default: `"proto"`. | ## client Configures and enables client code generation. To prevent Ignite CLI from regenerating the client, remove the `client` property. ### client.vuex ```yaml client: vuex: path: "vue/src/store" ``` Generates Vuex stores for the blockchain in `path` on `serve` and `build` commands. ### client.typescript ```yaml client: typescript: path: "vue/src/generated" ``` Generates TypeScript clients for the blockchain in `path` on `serve` and `build` commands. ### client.openapi ```yaml client: openapi: path: "docs/static/openapi.yml" ``` Generates OpenAPI YAML file in `path`. By default this file is embedded in the node's binary. ## faucet The faucet service sends tokens to addresses. The default address for the web user interface is . | Key | Required | Type | Description | | ----------------- | -------- | --------------- | ----------------------------------------------------------- | | name | Y | String | Name of a key pair. The `name` key pair must be in `accounts`. | | coins | Y | List of Strings | One or more coins with denominations sent per request. | | coins_max | N | List of Strings | One or more maximum amounts of tokens sent for each address. | | host | N | String | Host and port number. Default: `:4500`. Cannot be higher than 65536 | | rate_limit_window | N | String | Time after which the token limit is reset (in seconds). | **faucet example** ```yaml faucet: name: faucet coins: ["100token", "5foo"] coins_max: ["2000token", "1000foo"] port: 4500 ``` ## validator A blockchain requires one or more validators. | Key | Required | Type | Description | | ------ | -------- | ------ | ----------------------------------------------------------------------------------------------- | | name | Y | String | The account that is used to initialize the validator. The `name` key pair must be in `accounts`. | | staked | Y | String | Amount of coins to bond. Must be less than or equal to the amount of coins in the account. | **validator example** ```yaml accounts: - name: alice coins: ["1000token", "100000000stake"] validator: name: user1 staked: "100000000stake" ``` ## init.home The path to the data directory that stores blockchain data and blockchain configuration. **init example** ```yaml init: home: "~/.myblockchain" ``` ## init.config Overwrites properties in `config/config.toml` in the data directory. ## init.app Overwrites properties in `config/app.toml` in the data directory. ## init.client Overwrites properties in `config/client.toml` in the data directory. **init.client example** ```yaml init: client: keyring-backend: "os" ``` ## host Configuration of host names and ports for processes started by Ignite CLI. Port numbers can't exceed 65536. **host example** ```yaml host: rpc: ":26659" p2p: ":26658" prof: ":6061" grpc: ":9091" api: ":1318" ``` ## genesis Use to overwrite values in `genesis.json` in the data directory to test different values in development environments. See [Genesis Overwrites for Development](../kb/04-genesis.md).