Skip to content
SORA Codex Community-curated documentation

Hyperledger Iroha Overview

Hyperledger Iroha is an open-source, permissioned blockchain framework developed by SORAMITSU and maintained under the Hyperledger Foundation. It provides the technological foundation for SORA’s network infrastructure, enabling secure, high-performance blockchain operations for enterprise and decentralized applications.

Hyperledger Iroha is designed with simplicity and fast deployment in mind. Unlike general-purpose blockchain frameworks that require extensive configuration, Iroha provides:

  • Built-in asset management — Native support for creating and managing digital assets
  • Granular permissions — Fine-grained access control for enterprise use cases
  • Byzantine Fault Tolerant consensus — Secure finality without energy-intensive mining
  • Simple API — Clean interfaces for application development

Enterprise Ready

Designed for real-world business applications with robust security and compliance features.

High Performance

Optimized for throughput with deterministic finality and low latency.

Developer Friendly

Clean APIs and comprehensive SDKs for multiple programming languages.

Production Proven

Powers national-level infrastructure including CBDCs and financial systems.


The current SORA v2 network runs on Substrate, integrating with the Polkadot ecosystem. However, SORA’s development has deep roots in Iroha technology:

  • SORAMITSU developed both Iroha and SORA
  • Shared architectural principles and security models
  • Common development team and expertise
  • Cross-pollination of features and improvements

SORA v3 (Nexus) represents a strategic transition to Hyperledger Iroha 3:

AspectSORA v2SORA v3
FrameworkSubstrateHyperledger Iroha 3
EcosystemPolkadotMulti-chain hub
ConsensusBABE/GRANDPASumeragi BFT
Smart ContractsInk! (WASM)ISI + WASM
Target Use CasesDeFiDeFi + CBDC + Enterprise

The original Iroha implementation focused on:

  • Simple asset management
  • Basic permission system
  • C++ implementation
  • Suitable for straightforward enterprise use cases

Hyperledger Iroha 2 introduced significant improvements:

Key features in Iroha 2:

// Example: Registering an asset in Iroha 2
let asset_definition = AssetDefinition::quantity(
"xor#sora".parse()?,
).build();
let register_asset = Register::asset_definition(asset_definition);
client.submit(register_asset)?;

Hyperledger Iroha 3 represents the next evolution:

  • Re-engineered modular design
  • Layered runtime for domain-specific modules
  • Upgraded command model
  • Query isolation for deterministic operations

Domains are organizational units in Iroha that group accounts and assets:

┌─────────────────────────────────────┐
│ SORA Domain │
│ ┌─────────┐ ┌─────────────────┐ │
│ │ Account │ │ Assets (XOR, │ │
│ │ alice@ │ │ VAL, PSWAP) │ │
│ │ sora │ └─────────────────┘ │
│ └─────────┘ │
└─────────────────────────────────────┘

Accounts are identified by name@domain format:

  • Hold assets and permissions
  • Can execute transactions
  • Have associated metadata

Iroha provides native asset management:

Asset TypeDescriptionExample
QuantityFungible, countableXOR, VAL tokens
BigQuantityLarge numbersHigh-precision values
FixedDecimal precisionStablecoin balances
StoreKey-value dataNFT metadata

Granular access control:

CanRegisterAsset
CanTransferAsset
CanMintAsset
CanBurnAsset
CanSetKeyValue
CanRemoveKeyValue

Iroha operates as a distributed P2P network:

┌──────┐ ┌──────┐
│Peer 1│◄───►│Peer 2│
└──┬───┘ └───┬──┘
│ │
▼ ▼
┌──────┐ ┌──────┐
│Peer 3│◄───►│Peer 4│
└──────┘ └──────┘

The Sumeragi consensus algorithm provides:

  • Byzantine Fault Tolerance — Operates correctly with up to 1/3 malicious nodes
  • Deterministic finality — No block reorganizations
  • Leader rotation — Fair participation across validators
  • View change — Recovery from failed leaders

Learn more about Sumeragi consensus →

  1. Client submits transaction to peer
  2. Validation checks permissions and signatures
  3. Consensus orders transaction across network
  4. Execution applies changes to world state
  5. Commitment finalizes block

Iroha supports two smart contract paradigms:

Domain-oriented commands for common operations:

// ISI examples
Register::domain(domain);
Register::account(account);
Transfer::asset_quantity(from, to, amount);
Mint::asset_quantity(asset, amount);
Burn::asset_quantity(asset, amount);

Custom business logic in WebAssembly:

#[iroha_wasm::main]
fn main(host: Iroha) {
// Custom smart contract logic
let caller = host.query_single(FindAccountById::new(
host.context().authority().clone()
)).unwrap();
// Execute operations
host.submit(instruction).unwrap();
}

Learn more about smart contracts →


The National Bank of Cambodia uses Iroha for Bakong:

  • National retail payment system
  • Millions of active users
  • Real-time settlement
  • Cross-bank interoperability

SORAMITSU is piloting a CBDC with the Central Bank of Solomon Islands:

SORA v3 will be the largest public deployment of Iroha 3:


LanguageLibraryStatus
Rustiroha_clientOfficial
JavaScript@iroha2/clientOfficial
Pythoniroha-pythonCommunity
Javairoha-javaOfficial
Terminal window
# Clone Iroha repository
git clone https://github.com/hyperledger/iroha.git
cd iroha
# Build from source
cargo build --release
# Run a single peer for testing
cargo run --release -- --config config.json