Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/anton-rs/kona
A suite of `no_std` components for the OP Stack state transition function and L2 chain derivation.
https://github.com/anton-rs/kona
asterisc cannon ethereum fault-proofs layer2 optimism rust
Last synced: 2 days ago
JSON representation
A suite of `no_std` components for the OP Stack state transition function and L2 chain derivation.
- Host: GitHub
- URL: https://github.com/anton-rs/kona
- Owner: anton-rs
- License: mit
- Created: 2023-11-24T07:03:05.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-11-12T18:01:45.000Z (2 days ago)
- Last Synced: 2024-11-12T18:43:23.426Z (2 days ago)
- Topics: asterisc, cannon, ethereum, fault-proofs, layer2, optimism, rust
- Language: Rust
- Homepage: https://anton-rs.github.io/kona
- Size: 46.1 MB
- Stars: 134
- Watchers: 8
- Forks: 43
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
A verifiable implementation of the Optimism rollup state transition.
What's Kona? •
Overview •
Contributing •
Credits## What's Kona?
Kona is a suite of portable implementations of the OP Stack rollup state transition, namely the [derivation pipeline][g-derivation-pipeline] and
the block execution logic.Built on top of these libraries, this repository also features a [fault proof program][fpp-specs] designed to deterministically execute the
rollup state transition in order to verify an [L2 output root][g-output-root] from the L1 inputs it was [derived from][g-derivation-pipeline].### 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:- [`op-succinct`][op-succinct]
To build your own backend for kona, or build a new application on top of its libraries,
see the [SDK section of the book](https://anton-rs.github.io/kona/sdk/intro.html).### Development Status
`kona` is currently in active development, and is not yet ready for use in production.
## Overview
**`kona`**
- [`client`](./bin/client): The bare-metal program that runs on top of a [fault proof VM][g-fault-proof-vm].
- [`host`](./bin/host): The host program that runs natively alongside the FPVM, serving as the [Preimage Oracle][g-preimage-oracle] server.**Build Pipelines**
- [`cannon`](./build/cannon): Docker image for compiling to the bare-metal `mips-unknown-none` target.
- [`asterisc`](./build/asterisc): Docker image for compiling to the bare-metal `riscv64gc-unknown-none-elf` target.**`client` / `host` SDK**
- [`common`](./crates/common): A suite of utilities for developing `client` programs to be run on top of Fault Proof VMs.
- [`common-proc`](./crates/common-proc): Proc macro for the `client` program entrypoint.
- [`preimage`](./crates/preimage): High level interfaces to the [`PreimageOracle`][fpp-specs] ABI**Protocol**
- [`mpt`](./crates/mpt): Utilities for interacting with the Merkle Patricia Trie in the client program.
- [`executor`](./crates/executor): `no_std` stateless block executor for the [OP Stack][op-stack].
- [`derive`](./crates/derive): `no_std` compatible implementation of the [derivation pipeline][g-derivation-pipeline].
- [`derive-alloy`](./crates/derive-alloy/): Online, `alloy`-backed derivation pipeline.## Book
The [book][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][op-labs] and other contributors' work on the
[`op-program`][op-program] and [BadBoiLabs][bad-boi-labs]'s work on [Cannon-rs][badboi-cannon-rs].[alloy]: https://github.com/alloy-rs/alloy
[op-alloy]: https://github.com/alloy-rs/op-alloy
[op-stack]: https://github.com/ethereum-optimism/optimism
[op-program]: https://github.com/ethereum-optimism/optimism/tree/develop/op-program
[cannon]: https://github.com/ethereum-optimism/optimism/tree/develop/cannon
[cannon-rs]: https://github.com/anton-rs/cannon-rs
[badboi-cannon-rs]: https://github.com/BadBoiLabs/cannon-rs
[asterisc]: https://github.com/etheruem-optimism/asterisc
[fpp-specs]: https://specs.optimism.io/experimental/fault-proof/index.html
[book]: https://anton-rs.github.io/kona/
[op-succinct]: https://github.com/succinctlabs/op-succinct
[op-labs]: https://github.com/ethereum-optimism
[bad-boi-labs]: https://github.com/BadBoiLabs
[g-output-root]: https://specs.optimism.io/glossary.html#l2-output-root
[g-derivation-pipeline]: https://specs.optimism.io/protocol/derivation.html#l2-chain-derivation-pipeline
[g-fault-proof-vm]: https://specs.optimism.io/experimental/fault-proof/index.html#fault-proof-vm
[g-preimage-oracle]: https://specs.optimism.io/experimental/fault-proof/index.html#pre-image-oracle