Client Configuration
Iroha CLI and SDK clients use TOML configuration. The repository ships the current default at defaults/client.toml; generated local networks also write a matching client.toml into their output directory.
Client configuration template
# chain =
## Configure the Torii endpoint via this file. Environment variable overrides exist for developer tooling but are not meant for operator workflows.
# torii_url = "http://127.0.0.1:8080"
## Timeout in milliseconds for Torii HTTP requests (status, query, submit, etc.).
# torii_request_timeout_ms = 30_000
[basic_auth]
# login =
# password =
[account]
# domain =
# public_key =
# private_key =
[transaction]
# time_to_live_ms = 100_000
# status_timeout_ms = 100_000
## Whether to append a random nonce to every submitted transaction (helps avoid hash clashes in demos/tests).
# nonce = false
[connect]
# Root directory for Connect queue diagnostics and evidence export. Defaults to `~/.iroha/connect`.
# queue_root = "/home/alice/.iroha/connect"Core Fields
At minimum, a client configuration identifies the chain, Torii endpoint, and signing account:
chain = "00000000-0000-0000-0000-000000000000"
torii_url = "http://127.0.0.1:8080"
[account]
domain = "wonderland.universal"
public_key = "ed0120..."
private_key = "802620..."chainselects the chain to which submitted transactions belong.torii_urlpoints at the peer Torii HTTP API.[account].domainis used by CLI shortcuts and address-selector encoding; the canonicalAccountIditself is domainless.[account].public_keyand[account].private_keysign transactions.
The account must already exist on-chain. For the default local network this is handled by the bundled genesis manifest.
Case sensitivity
Iroha names are case-sensitive after canonical parsing. For example, wonderland.universal, Wonderland.universal, and looking_glass.universal are distinct domain literals.
Basic Authentication
The optional [basic_auth] section adds an HTTP Authorization header to client requests. Iroha peers do not interpret these credentials directly; use them when Torii is behind a reverse proxy such as Nginx.
[basic_auth]
web_login = "mad_hatter"
password = "ilovetea"Transaction Settings
Transaction behavior is configured with the [transaction] section:
[transaction]
time_to_live_ms = 100000
status_timeout_ms = 15000
nonce = falsetime_to_live_msis the transaction lifetime in milliseconds.status_timeout_mscontrols how long the client waits for transaction status.nonce = trueasks the client to include a nonce so repeated transactions produce different hashes.
Connect Queue Settings
Current Iroha clients can also use the optional [connect] section for local queue state:
[connect]
queue_root = "./queue"Use this when a workflow needs durable client-side queue storage.
Generating Configurations
For disposable local networks, prefer Kagami because it writes configs, genesis, scripts, and a README that match the selected Iroha 2 or Iroha 3 profile:
cargo run --bin kagami -- localnet --build-line iroha3 --peers 4 --out-dir ./localnetUse the generated ./localnet/client.toml with the CLI:
cargo run --bin iroha -- --config ./localnet/client.toml ledger domain list all