- Notifications
You must be signed in to change notification settings - Fork63
Monorepo for OP Stack Types, Components, and Services built in Rust.
License
op-rs/kona
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
The Monorepo forOP 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 bethe monorepo forOP Stacktypes, components, and services built in Rust. Kona provides an ecosystem of extensible, low-levelcrates that compose into components and services required for the OP Stack.
Thebook contains a more in-depth overview of the project, contributor guidelines, tutorials forgetting started with building your own programs, and a reference for the libraries and tools provided by Kona.
Warning
kona
is currently in active development, and is not yet ready for use in production.
Note
Ethereum (Alloy) types modified for the OP Stack live inop-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 thePreimage Oracle server.node
: [WIP] ARollup Node implementation, backed bykona-derive
.
Protocol
genesis
: Genesis types for OP Stack chains.protocol
: Core protocol types used across OP Stack rust crates.derive
:no_std
compatible implementation of thederivation pipeline.driver
: Stateful derivation pipeline driver.interop
: Core functionality and primitives for theInterop feature of the OP Stack.registry
: Rust bindings for thesuperchain-registry.
Proof
mpt
: Utilities for interacting with the Merkle Patricia Trie in the client program.executor
:no_std
stateless block executor for theOP Stack.proof
: High level OP Stack state transition proof SDK.proof-interop
: Extension ofkona-proof
with interop support.preimage
: High level interfaces to thePreimageOracle
ABI.std-fpvm
: Platform specificFault Proof VM kernel APIs.std-fpvm-proc
: Proc macro forFault Proof Program entrypoints.
Node
engine
: An extensible implementation of theOP Stack rollup node engine clientrpc
: OP Stack RPC types and extensions.net
: OP Stack Networking including P2P and Discovery.
Providers
providers-alloy
: Provider implementations forkona-derive
backed byAlloy.providers-local
: Local provider implementations forkona-derive
.
Utilities
Built on top of these libraries, this repository also features aproof programdesigned to deterministically execute the rollup state transition in order to verify anL2 output root from the L1 inputs it wasderived from.
Kona's libraries were built with alternative backend support and extensibility in mind - the repository featuresa fault proof virtual machine backend for use in the governance-approved OP Stack, but it's portable acrossprovers! Kona is also used by:
To build your own backend for kona, or build a new application on top of its libraries,see theSDK section of the book.
The current MSRV (minimum supported rust version) is1.85
.
The MSRV is not increased automatically, and will be updatedonly as part of a patch (pre-1.0) or minor (post-1.0) release.
kona
releases are done using thecargo-release
crate.A detailed guide is available in./RELEASES.md.
kona
is built by open source contributors like you, thank you for improving the project!
Acontributing guide is available that sets guidelines for contributing.
Pull requests will not be merged unless CI passes, so please ensure that your contributionfollows the linting rules and passes clippy.
kona
is inspired by the work of several teams, namelyOP Labs and other contributors' work on theOptimism monorepo andBadBoiLabs's work onCannon-rs.
kona
is also built on rust types inalloy,op-alloy, andmaili.
Licensed under theMIT license.
Note
Contributions intentionally submitted for inclusion in these crates by youshall be licensed as above, without any additional terms or conditions.
About
Monorepo for OP Stack Types, Components, and Services built in Rust.