https://github.com/refcell/kora
All we want is revm and commonware. Leave everything else at the door.
https://github.com/refcell/kora
ethereum evm execution rust
Last synced: about 1 month ago
JSON representation
All we want is revm and commonware. Leave everything else at the door.
- Host: GitHub
- URL: https://github.com/refcell/kora
- Owner: refcell
- License: mit
- Created: 2026-01-25T15:10:02.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-02T00:16:09.000Z (4 months ago)
- Last Synced: 2026-03-31T09:52:35.571Z (2 months ago)
- Topics: ethereum, evm, execution, rust
- Language: Rust
- Homepage:
- Size: 6.64 MB
- Stars: 49
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
Kora
A minimal commonware + revm execution client. Built in Rust.
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](https://github.com/commonwarexyz/monorepo), [REVM](https://github.com/bluealloy/revm) for EVM execution, and [QMDB](https://github.com/commonwarexyz/monorepo/tree/main/storage) 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](https://github.com/commonwarexyz/monorepo/tree/main/examples/tempo) uses reth, which is heavy and comes with opinionated Ethereum traits and abstractions that may not suit all use cases. The [revm commonware example](https://github.com/commonwarexyz/monorepo/pull/2495) 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):
```sh
just devnet
```
> [!TIP]
> See the [Justfile](./Justfile) for other useful commands.
## Demo
https://github.com/user-attachments/assets/8ea05477-039d-4dd2-a7f3-660f179299f7
## 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](LICENSE) file for details.