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
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
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
client:
vuex:
path: "vue/src/store"
Generates Vuex stores for the blockchain in path
on serve
and build
commands.
client.typescript
client:
typescript:
path: "vue/src/generated"
Generates TypeScript clients for the blockchain in path
on serve
and build
commands.
client.openapi
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 http://localhost:4500.
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
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
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
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
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
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.