Working with Iroha Binaries
The current Iroha 2 and Iroha 3 operator workflow revolves around three primary binaries:
irohadfor running a peer daemonirohafor CLI and operator commandskagamifor keys, genesis, localnets, and profiles
The source tree also exposes track-specific aliases:
iroha2andiroha3for CLI flowsiroha2dandiroha3dfor daemon startup
Use those aliases when scripts need to make the selected build line explicit. Use iroha and irohad for general examples and shared automation.
Build from Source
From the upstream workspace root:
cargo build --release -p irohad -p iroha_cli -p iroha_kagamiThe release binaries are then available in target/release/.
To inspect the command surface:
./target/release/irohad --help
./target/release/iroha --help
./target/release/kagami --help
./target/release/iroha3 --help
./target/release/iroha3d --helpRun Directly from the Repository
If you do not want to install anything globally, use cargo run:
cargo run --bin irohad -- --help
cargo run --bin iroha -- --help
cargo run --bin kagami -- --help
cargo run --bin iroha3 -- --help
cargo run --bin iroha3d -- --helpDocker Image
The upstream workspace uses kagami localnet and kagami docker to generate Docker Compose files that match the checked-out code. The hyperledger/iroha:dev image can be used with those generated files.
Run the CLI in a container:
docker run -t hyperledger/iroha:dev iroha --helpRun Kagami in a container:
docker run -t hyperledger/iroha:dev kagami --helpFor peer startup, generate a localnet and Compose file first:
cargo run --bin kagami -- localnet --build-line iroha3 --peers 4 --out-dir ./localnet
cargo run --bin kagami -- docker --peers 4 --config-dir ./localnet --image hyperledger/iroha:dev --out-file ./localnet/docker-compose.yml --force
docker compose -f ./localnet/docker-compose.yml upWhich Binary Should I Use?
- Use
irohadwhen you are starting or operating peers. - Use
irohawhen you need to query the ledger, submit transactions, or inspect operator endpoints. - Use
kagamiwhen you need keys, genesis manifests, profile bundles, or localnet assets. - Use
iroha2/iroha2doriroha3/iroha3dwhen a script must pin the Iroha track.