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 = "00000000-0000-0000-0000-000000000000"
torii_url = "http://127.0.0.1:8080/"
[basic_auth]
web_login = "mad_hatter"
password = "ilovetea"
[account]
domain = "wonderland.universal"
public_key = "ed0120CE7FA46C9DCE7EA4B125E2E36BDB63EA33073E7590AC92816AE1E861B7048B03"
private_key = "802620CCF31D85E3B32A4BEA59987CE0C78E3B8E2DB93881468AB2435FE45D5C9DCD53"
[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 matching Iroha 3 configs, genesis, scripts, and a README:
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