A verifiable implementation of the Optimism rollup state transition.
What's Kona? • Overview • Contributing • Credits
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.
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.
kona
is currently in active development, and is not yet ready for use in production.
kona
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.
Build Pipelines
cannon
: Docker image for compiling to the bare-metalmips-unknown-none
target.asterisc
: Docker image for compiling to the bare-metalriscv64gc-unknown-none-elf
target.
client
/ host
SDK
common
: A suite of utilities for developingclient
programs to be run on top of Fault Proof VMs.common-proc
: Proc macro for theclient
program entrypoint.preimage
: High level interfaces to thePreimageOracle
ABI
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.derive-alloy
: Online,alloy
-backed derivation pipeline.
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.
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.