What's Kora? • Usage • Architecture • Contributing • License
Caution
Kora is pre-alpha software. Do not expect this to run. Do not run this in production.
Important
Kora uses BLS12-381 threshold consensus via commonware, REVM for EVM execution, and QMDB for state storage.
Kora is a minimal, high-performance execution client built entirely in Rust. It combines commonware's BLS12-381 threshold consensus with REVM for EVM execution and QMDB for efficient state storage. The architecture is modular with distinct layers for consensus (BLS12-381 threshold signatures via commonware simplex), execution (EVM state transitions powered by REVM), storage (high-performance state management with QMDB), and networking (P2P transport and message marshaling).
Existing options for building EVM-compatible nodes on commonware are limited. The tempo node uses reth, which is heavy and comes with opinionated Ethereum traits and abstractions that may not suit all use cases. The revm commonware example is limited to a mock simulation without real networking or persistence. There isn't a public, lightweight node available that connects revm directly to commonware with full consensus and storage. Kora fills this gap by providing a minimal, production-oriented node that integrates revm with commonware simplex consensus and QMDB storage.
Start the devnet with interactive DKG (Distributed Key Generation):
just devnetTip
See the Justfile for other useful commands.
demo.mov
The devnet runs in three phases. Phase 0 generates ed25519 identity keys for each validator node. Phase 1 is the DKG ceremony, an interactive threshold key generation process using Ed25519 simplex consensus where validators collaborate to generate a shared BLS12-381 threshold key. Phase 2 launches full validator nodes running BLS12-381 threshold consensus, the REVM execution engine, and QMDB state storage.
Observability is provided through Prometheus metrics with Grafana dashboards for monitoring node health, consensus performance, and execution metrics.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
