Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
185 lines
6.6 KiB
Markdown
185 lines
6.6 KiB
Markdown
---
|
|
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 <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**
|
|
|
|
```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).
|