Skip to content
/ kona Public

A suite of `no_std` components for the OP Stack state transition function and L2 chain derivation.

License

Notifications You must be signed in to change notification settings

anton-rs/kona

Repository files navigation

Kona

A verifiable implementation of the Optimism rollup state transition.

CI License Book OP Stack Codecov

What's Kona?OverviewContributingCredits

What's Kona?

Kona is a suite of portable implementations of the OP Stack rollup state transition, namely the derivation pipeline and the block execution logic.

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.

Alternative Backends

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.

Development Status

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

Overview

kona

Build Pipelines

  • cannon: Docker image for compiling to the bare-metal mips-unknown-none target.
  • asterisc: Docker image for compiling to the bare-metal riscv64gc-unknown-none-elf target.

Protocol

  • mpt: Utilities for interacting with the Merkle Patricia Trie in the client program.
  • executor: no_std stateless block executor for the OP Stack.
  • derive: no_std compatible implementation of the derivation pipeline.
    • driver: Stateful derivation pipeline driver.

Proof SDK

  • common: A suite of utilities for developing client programs to be run on top of Fault Proof VMs.
  • common-proc: Proc macro for the client program entrypoint.
  • preimage: High level interfaces to the PreimageOracle ABI

Book

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.

Credits

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.