Skip to content
/ kona Public

Monorepo for OP Stack Types, Components, and Services built in Rust.

License

Notifications You must be signed in to change notification settings

op-rs/kona

Repository files navigation

Kona

The Monorepo for OP Stack Types, Components, and Services built in Rust.

CI Codecov License Book

What's Kona?OverviewMSRVContributingCreditsLicense

What's Kona?

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.

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.

Development Status

Warning

kona is currently in active development, and is not yet ready for use in production.

Overview

Note

Ethereum (Alloy) types modified for the OP Stack live in op-alloy.

Binaries

  • client: The bare-metal program that executes the state transition, to be ran on a prover.
  • host: The host program that runs natively alongside the prover, serving as the Preimage Oracle server.
  • node: [WIP] A Rollup Node implementation, backed by kona-derive.

Protocol

Proof

Node

  • engine: An extensible implementation of the OP Stack rollup node engine client
  • rpc: OP Stack RPC types and extensions.
  • net: OP Stack Networking including P2P and Discovery.

Providers

Utilities

  • serde: Serialization helpers.
  • cli: Standard CLI utilities, used across kona's binaries.

Proof

Built on top of these libraries, this repository also features a 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.

Kona's libraries were built with alternative backend support and extensibility in mind - the repository features a fault proof virtual machine backend for use in the governance-approved OP Stack, but it's portable across provers! 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.

MSRV

The current MSRV (minimum supported rust version) is 1.85.

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.

Crate Releases

kona releases are done using the cargo-release crate. A detailed guide is available in ./RELEASES.md.

Contributing

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.

Credits

kona is inspired by the work of several teams, namely OP Labs and other contributors' work on the Optimism monorepo and BadBoiLabs's work on Cannon-rs.

kona is also built on rust types in alloy, op-alloy, and maili.

License

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.