mukan-ignite/docs/versioned_docs/version-v29/07-packages/chaincmd.md
Mukan Erkin Törük 26b204bd04
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
feat: fork Ignite CLI v29 as Mukan Ignite — remove cosmos-sdk restrictions
2026-05-11 03:31:37 +03:00

1.3 KiB

sidebar_position title slug
7 Chain Command Builder (chaincmd) /packages/chaincmd

Chain Command Builder (chaincmd)

The chaincmd package builds step.Option command definitions for Cosmos SDK daemon binaries (simd, gaiad, and others). It does not execute commands directly.

For full API details, see the chaincmd Go package documentation.

When to use

  • Build consistent daemon command lines from typed options.
  • Reuse command composition across services and tests.
  • Keep chain binary-specific flags centralized.

Key APIs

  • New(appCmd string, options ...Option) ChainCmd
  • WithHome(home string) Option
  • WithChainID(chainID string) Option
  • InitCommand(moniker string, options ...string) step.Option
  • BankSendCommand(fromAddress, toAddress, amount string, options ...BankSendOption) step.Option

Example

package main

import (
	"fmt"

	"github.com/ignite/cli/v29/ignite/pkg/chaincmd"
	"github.com/ignite/cli/v29/ignite/pkg/cmdrunner/step"
)

func main() {
	cmd := chaincmd.New(
		"simd",
		chaincmd.WithHome("./.simapp"),
		chaincmd.WithChainID("demo-1"),
	)

	initStep := step.New(cmd.InitCommand("validator"))
	fmt.Println(initStep.Exec.Command)
	fmt.Println(initStep.Exec.Args)
}