Skip to content
/ kora Public

All we want is revm and commonware. Leave everything else at the door.

License

Notifications You must be signed in to change notification settings

refcell/kora

Repository files navigation

Kora

Kora

A minimal commonware + revm execution client. Built in Rust.

MSRV CI License

What's Kora?UsageArchitectureContributingLicense

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.

What's Kora?

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).

Why?

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.

Usage

Start the devnet with interactive DKG (Distributed Key Generation):

just devnet

Tip

See the Justfile for other useful commands.

Demo

demo.mov

Architecture

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.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

All we want is revm and commonware. Leave everything else at the door.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages