The Monorepo for OP Stack Types, Components, and Services built in Rust.
What's Kona? • Overview • MSRV • Contributing • Credits • License
Originally a suite of portable implementations of the OP Stack rollup state transition, Kona has been extended to be the monorepo for OP Stack types, components, and services built in Rust. Kona provides an ecosystem of extensible, low-level crates that compose into components and services required for the OP Stack.
Kona contains many foundational crates including:
- The derivation pipeline.
- A stateless block executor.
Built on top of these libraries, this repository also features a fault proof program designed to deterministically execute the rollup state transition in order to verify an L2 output root from the L1 inputs it was derived from.
The book contains a more in-depth overview of the project, contributor guidelines, tutorials for getting started with building your own programs, and a reference for the libraries and tools provided by Kona.
Important
Ethereum (Alloy) types modified for the OP Stack live in op-alloy.
Kona's libraries were built with alternative backend support and extensibility in mind - it is not just a fault proof program! Kona is also used by:
To build your own backend for kona, or build a new application on top of its libraries, see the SDK section of the book.
Warning
kona
is currently in active development, and is not yet ready for use in production.
Binaries
client
: The bare-metal program that runs on top of a fault proof VM.host
: The host program that runs natively alongside the FPVM, serving as the Preimage Oracle server.
Protocol
genesis
: Genesis types for OP Stack chains.protocol
: Core protocol types used across OP Stack rust crates.derive
:no_std
compatible implementation of the derivation pipeline.driver
: Stateful derivation pipeline driver.interop
: Core functionality and primitives for the Interop feature of the OP Stack.registry
: Rust bindings for the superchain-registry.
Proof
mpt
: Utilities for interacting with the Merkle Patricia Trie in the client program.executor
:no_std
stateless block executor for the OP Stack.kona-proof
: High level OP Stack state transition proof SDK.kona-proof-interop
: Extension ofkona-proof
with interop support.preimage
: High level interfaces to thePreimageOracle
ABI.std-fpvm
: Platform specific Fault Proof VM kernel APIs.std-fpvm-proc
: Proc macro for Fault Proof Program entrypoints.
External
Providers
providers-alloy
: Provider implementations forkona-derive
backed by Alloy.providers-local
: Local provider implementations forkona-derive
.
Utilities
serde
: Serialization helpers.
The current MSRV (minimum supported rust version) is 1.81.
The MSRV is not increased automatically, and will be updated only as part of a patch (pre-1.0) or minor (post-1.0) release.
kona
is built by open source contributors like you, thank you for improving the project!
A contributing guide is available that sets guidelines for contributing.
Pull requests will not be merged unless CI passes, so please ensure that your contribution follows the linting rules and passes clippy.
kona
is inspired by the work of several teams, namely OP Labs and other contributors' work on the
op-program
and BadBoiLabs's work on Cannon-rs.
kona
is also built on rust types in alloy, op-alloy, and maili.
Licensed under the MIT license.
Note
Contributions intentionally submitted for inclusion in these crates by you shall be licensed as above, without any additional terms or conditions.