Working with Iroha Binaries
The Iroha 3 operator workflow revolves around three primary binaries:
irohadfor running a peer daemonirohafor CLI and operator commandskagamifor keys, genesis, localnets, and profiles
Build from Source
From the upstream workspace root:
bash
cargo build --release -p irohad -p iroha_cli -p iroha_kagamiThe release binaries are then available in target/release/.
To inspect the command surface:
bash
./target/release/irohad --help
./target/release/iroha --help
./target/release/kagami --helpRun Directly from the Repository
If you do not want to install anything globally, use cargo run:
bash
cargo run --bin irohad -- --help
cargo run --bin iroha -- --help
cargo run --bin kagami -- --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:
bash
docker run -t hyperledger/iroha:dev iroha --helpRun Kagami in a container:
bash
docker run -t hyperledger/iroha:dev kagami --helpFor peer startup, generate a localnet and Compose file first:
bash
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.