Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -957,6 +957,7 @@ ignite chain serve [flags]
--generate-clients generate code for the configured clients on reset or source code change
-h, --help help for serve
--home string directory where the blockchain node is initialized
-o, --output-file string output file logging the chain output (no UI, no stdin, listens for SIGTERM, implies --yes) (default: stdout)
-p, --path string path of the app (default ".")
--quit-on-fail quit program if the app fails to start
-r, --reset-once reset the app state once on init
Expand Down Expand Up @@ -2040,19 +2041,28 @@ Type definition

Type information

Currently supports:

| Type | Alias | Index | Code Type | Description |
|--------------|---------|-------|-----------|---------------------------------|
| string | - | yes | string | Text type |
| array.string | strings | no | []string | List of text type |
| bool | - | yes | bool | Boolean type |
| int | - | yes | int64 | Integer type |
| array.int | ints | no | []int64 | List of integers types |
| uint | - | yes | uint64 | Unsigned integer type |
| array.uint | uints | no | []uint64 | List of unsigned integers types |
| coin | - | no | sdk.Coin | Cosmos SDK coin type |
| array.coin | coins | no | sdk.Coins | List of Cosmos SDK coin types |
Types Usage
address use '<FIELD_NAME>:address' to scaffold string types (eg: cosmos1abcdefghijklmnopqrstuvwxyz0123456).
array.coin use '<FIELD_NAME>:array.coin' to scaffold sdk.Coins types (eg: 20stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations.
array.dec.coin use '<FIELD_NAME>:array.dec.coin' to scaffold sdk.DecCoins types (eg: 20000002stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations.
array.int use '<FIELD_NAME>:array.int' to scaffold []int64 types (eg: 5,4,3,2,1).
array.string use '<FIELD_NAME>:array.string' to scaffold []string types (eg: abc,xyz).
array.uint use '<FIELD_NAME>:array.uint' to scaffold []uint64 types (eg: 13,26,31,40).
bool use '<FIELD_NAME>:bool' to scaffold bool types (eg: true).
bytes use '<FIELD_NAME>:bytes' to scaffold []byte types (eg: 3,2,3,5).
coin use '<FIELD_NAME>:coin' to scaffold sdk.Coin types (eg: 10token).
coins use '<FIELD_NAME>:array.coin' to scaffold sdk.Coins types (eg: 20stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations.
custom use the custom type to scaffold already created chain types.
dec.coin use '<FIELD_NAME>:dec.coin' to scaffold sdk.DecCoin types (eg: 100001token).
dec.coins use '<FIELD_NAME>:array.dec.coin' to scaffold sdk.DecCoins types (eg: 20000002stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations.
int use '<FIELD_NAME>:int' to scaffold int64 types (eg: 111).
int64 use '<FIELD_NAME>:int' to scaffold int64 types (eg: 111).
ints use '<FIELD_NAME>:array.int' to scaffold []int64 types (eg: 5,4,3,2,1).
string use '<FIELD_NAME>:string' to scaffold string types (eg: xyz).
strings use '<FIELD_NAME>:array.string' to scaffold []string types (eg: abc,xyz).
uint use '<FIELD_NAME>:uint' to scaffold uint64 types (eg: 111).
uint64 use '<FIELD_NAME>:uint' to scaffold uint64 types (eg: 111).
uints use '<FIELD_NAME>:array.uint' to scaffold []uint64 types (eg: 13,26,31,40).

Field Usage:
- fieldName
Expand Down Expand Up @@ -2311,3 +2321,42 @@ ignite version [flags]

* [ignite](#ignite) - Ignite CLI offers everything you need to scaffold, test, build, and launch your blockchain

# Scaffold Type

Ignites provides a set of scaffold types that can be used to generate code for your application.
These types are used in the `ignite scaffold` command.

## Available Scaffold Types

| Type | Usage |
| --- | --- |
| address | use '<FIELD_NAME>:address' to scaffold string types (eg: cosmos1abcdefghijklmnopqrstuvwxyz0123456). |
| array.coin | use '<FIELD_NAME>:array.coin' to scaffold sdk.Coins types (eg: 20stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations. |
| array.dec.coin | use '<FIELD_NAME>:array.dec.coin' to scaffold sdk.DecCoins types (eg: 20000002stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations. |
| array.int | use '<FIELD_NAME>:array.int' to scaffold []int64 types (eg: 5,4,3,2,1). |
| array.string | use '<FIELD_NAME>:array.string' to scaffold []string types (eg: abc,xyz). |
| array.uint | use '<FIELD_NAME>:array.uint' to scaffold []uint64 types (eg: 13,26,31,40). |
| bool | use '<FIELD_NAME>:bool' to scaffold bool types (eg: true). |
| bytes | use '<FIELD_NAME>:bytes' to scaffold []byte types (eg: 3,2,3,5). |
| coin | use '<FIELD_NAME>:coin' to scaffold sdk.Coin types (eg: 10token). |
| coins | use '<FIELD_NAME>:array.coin' to scaffold sdk.Coins types (eg: 20stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations. |
| custom | use the custom type to scaffold already created chain types. |
| dec.coin | use '<FIELD_NAME>:dec.coin' to scaffold sdk.DecCoin types (eg: 100001token). |
| dec.coins | use '<FIELD_NAME>:array.dec.coin' to scaffold sdk.DecCoins types (eg: 20000002stake). Disclaimer: Only one `coins` or `dec.coins` field can accept multiple CLI values per command due to AutoCLI limitations. |
| int | use '<FIELD_NAME>:int' to scaffold int64 types (eg: 111). |
| int64 | use '<FIELD_NAME>:int' to scaffold int64 types (eg: 111). |
| ints | use '<FIELD_NAME>:array.int' to scaffold []int64 types (eg: 5,4,3,2,1). |
| string | use '<FIELD_NAME>:string' to scaffold string types (eg: xyz). |
| strings | use '<FIELD_NAME>:array.string' to scaffold []string types (eg: abc,xyz). |
| uint | use '<FIELD_NAME>:uint' to scaffold uint64 types (eg: 111). |
| uint64 | use '<FIELD_NAME>:uint' to scaffold uint64 types (eg: 111). |
| uints | use '<FIELD_NAME>:array.uint' to scaffold []uint64 types (eg: 13,26,31,40). |


Field Usage:

- fieldName
- fieldName:fieldType


If no :fieldType, default (string) is used
13 changes: 12 additions & 1 deletion docs/versioned_docs/version-v29/04-clients/02-typescript.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
description: Information about the generated TypeScript client code.
---

# TypeScript frontend
# TypeScript library

Ignite offers powerful functionality for generating client-side code for your
blockchain. Think of this as a one-click client SDK generation tailored
Expand Down Expand Up @@ -35,6 +35,17 @@ SDK modules:
ignite generate ts-client --clear-cache
```

:::tip
In order to not rely on the remote `buf.build` service, you can install the
`protoc-gen-ts_proto` binary locally and Ignite will use it instead of the remote plugin.

```sh
npm install -g ts-proto
```

Learn more at <https://github.com/stephenh/ts-proto>
:::

Run a command to start your blockchain node:

```
Expand Down
65 changes: 59 additions & 6 deletions docs/versioned_docs/version-v29/08-configuration/01-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,59 @@ 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.

## Genesis

The genesis file is the initial block of your blockchain. It is required to launch a chain because it contains important
information such as token balances and modules' state.
By default, genesis is stored at `$DATA_DIR/config/genesis.json`.

Since the genesis file is frequently reinitialized during development, you can persistently set options using the
`genesis` property in your `config.yml`:

```yml
genesis:
app_state:
staking:
params:
bond_denom: "denom"
```

To discover which properties the genesis file supports, initialize a chain and inspect the generated genesis file in the
data directory.

### Overriding Genesis Parameters (e.g., chain_id, balances, etc.)

You may need to customize specific parameters in the genesis file, such as `chain_id`, token balances, module
parameters, or custom state.

To override genesis values with Ignite CLI, persistently set overrides in the `genesis`property of your `config.yml`.
Any YAML structure under `genesis` will be merged into the generated `genesis.json` during initialization.

Eg: Changing `chain_id` and `staking` parameters

```yml
genesis:
chain_id: "my-custom-chain"
app_state:
staking:
params:
bond_denom: "mytoken"
bank:
balances:
- address: "cosmos1..."
coins:
- denom: "mytoken"
amount: "1000000"
```

- `chain_id`: Sets the chain ID for your blockchain.
- `app_state`: Allows you to modify module states (e.g., staking, bank, etc.).

> ⚠️ If you set `chain_id` in the `genesis`, it will persist across `ignite chain init` or `ignite chain serve` runs.

The `genesis` property supports deep merging and can override any field present in the generated genesis file.
For more complex setups, you can use the `include` field in `config.yml` to split overrides into multiple files.

## Validation

Ignite uses the `validation` field to determine the kind of validation
Expand Down Expand Up @@ -41,9 +94,9 @@ A list of user accounts created during genesis of the blockchain.
```yml
accounts:
- name: alice
coins: ['20000token', '200000000stake']
coins: [ '20000token', '200000000stake' ]
- name: bob
coins: ['10000token', '100000000stake']
coins: [ '10000token', '100000000stake' ]
```

Ignite uses information from `accounts` when initializing the chain with `ignite
Expand Down Expand Up @@ -80,7 +133,7 @@ address of this key pair.
```yml
accounts:
- name: bob
coins: ['20000token', '200000000stake']
coins: [ '20000token', '200000000stake' ]
address: cosmos1s39200s6v4c96ml2xzuh389yxpd0guk2mzn3mz
```

Expand All @@ -91,7 +144,7 @@ address will be derived from a mnemonic.
```yml
accounts:
- name: bob
coins: ['20000token', '200000000stake']
coins: [ '20000token', '200000000stake' ]
mnemonic: cargo ramp supreme review change various throw air figure humble soft steel slam pole betray inhale already dentist enough away office apple sample glue
```

Expand All @@ -114,7 +167,7 @@ can use the `cointype` field to provide the integer value
```yml
accounts:
- name: bob
coins: ['20000token', '200000000stake']
coins: [ '20000token', '200000000stake' ]
cointype: 7777777
```

Expand Down Expand Up @@ -212,7 +265,7 @@ The faucet service sends tokens to addresses.
```yml
faucet:
name: bob
coins: ["5token", "100000stake"]
coins: [ "5token", "100000stake" ]
```

`name` refers to a key name in the `accounts` list. This is a required property.
Expand Down