Troubleshooting Integration Issues
This section offers troubleshooting tips for issues with Iroha 2 and Iroha 3 integration. If the issue you are experiencing is not described here, contact us via Telegram.
Client cannot connect
Check that the client config points to the peer's Torii address:
torii_url = "http://127.0.0.1:8080/"For CLI checks, pass the same file explicitly:
cargo run --bin iroha -- --config ./localnet/client.toml ledger domain list allIf the peer runs in Docker or Kubernetes, use the host or service address that is reachable from the client process. 127.0.0.1 inside a container is not the host machine.
For public Taira tests, start with an unsigned endpoint probe:
curl -fsS https://taira.sora.org/status \
| jq '{blocks, txs_approved, txs_rejected, queue_size, peers}'
curl -fsS 'https://taira.sora.org/v1/domains?limit=5' \
| jq -r '.items[].id'If these commands fail with 502, TLS, DNS, or timeout errors, fix network reachability or wait for the public testnet endpoint before debugging account keys or transaction payloads.
Transactions are rejected
Most transaction failures are caused by identity or authorization mismatch:
- the account public key in the client config does not match the private key used for signing
- the account is not registered in genesis or by a prior transaction
- the account lacks the permission token or role required by the runtime validator
- object IDs use old Iroha 2-era forms instead of current canonical forms such as
domain.dataspace
Use --output-format text while debugging CLI commands so errors are easier to read:
cargo run --bin iroha -- --config ./localnet/client.toml --output-format text ledger transaction ping --msg "hello"Queries return empty results
Empty query results do not always mean the query failed. Check:
- the transaction that should create the object was committed
- the queried domain, asset definition, or account ID is canonical
- pagination or filters are not excluding the expected row
- the client is connected to the intended network, not another localnet
For domain checks, start with the broadest query:
cargo run --bin iroha -- --config ./localnet/client.toml ledger domain list allEvent or block streams stop early
Block and event stream examples rely on Torii streaming endpoints. Verify the peer is still running, then test with a timeout:
cargo run --bin iroha -- --config ./localnet/client.toml ledger blocks 1 --timeout 30s
cargo run --bin iroha -- --config ./localnet/client.toml ledger events blockFor HTTP integrations, compare your endpoint paths with the current Torii endpoint reference.