{"id":24121841,"url":"https://github.com/op-rs/kona","last_synced_at":"2025-05-15T02:09:45.507Z","repository":{"id":223895122,"uuid":"722878666","full_name":"op-rs/kona","owner":"op-rs","description":"Monorepo for OP Stack Types, Components, and Services built in Rust.","archived":false,"fork":false,"pushed_at":"2025-05-13T16:01:52.000Z","size":103799,"stargazers_count":198,"open_issues_count":152,"forks_count":82,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-13T16:21:20.974Z","etag":null,"topics":["asterisc","cannon","ethereum","fault-proofs","layer2","optimism","rust"],"latest_commit_sha":null,"homepage":"https://op-rs.github.io/kona","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/op-rs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-24T07:03:05.000Z","updated_at":"2025-05-13T15:47:44.000Z","dependencies_parsed_at":"2024-03-10T07:25:30.472Z","dependency_job_id":"0526f84b-70a3-4ac1-a115-f913b6a374e2","html_url":"https://github.com/op-rs/kona","commit_stats":{"total_commits":601,"total_committers":20,"mean_commits":30.05,"dds":0.5091514143094842,"last_synced_commit":"6bbac99e3db3fa0d2c289b67e250779cfe3db1e9"},"previous_names":["ethereum-optimism/kona","anton-rs/kona","op-rs/kona"],"tags_count":138,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/op-rs%2Fkona","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/op-rs%2Fkona/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/op-rs%2Fkona/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/op-rs%2Fkona/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/op-rs","download_url":"https://codeload.github.com/op-rs/kona/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254259384,"owners_count":22040820,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asterisc","cannon","ethereum","fault-proofs","layer2","optimism","rust"],"created_at":"2025-01-11T11:02:39.722Z","updated_at":"2025-05-15T02:09:40.489Z","avatar_url":"https://github.com/op-rs.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\u003cimg src=\"./assets/banner.png\" alt=\"Kona\" width=\"100%\" align=\"center\"\u003e\n\u003c/h1\u003e\n\n\u003ch4 align=\"center\"\u003e\n    The Monorepo for \u003ca href=\"https://specs.optimism.io/\"\u003eOP Stack\u003c/a\u003e Types, Components, and Services built in Rust.\n\u003c/h4\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/op-rs/kona/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/op-rs/kona?style=flat\u0026labelColor=1C2C2E\u0026color=C96329\u0026logo=GitHub\u0026logoColor=white\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://docs.rs/kona-derive/\"\u003e\u003cimg src=\"https://img.shields.io/docsrs/kona-derive?style=flat\u0026labelColor=1C2C2E\u0026color=C96329\u0026logo=Rust\u0026logoColor=white\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/op-rs/kona/actions/workflows/rust_ci.yaml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/op-rs/kona/rust_ci.yaml?style=flat\u0026labelColor=1C2C2E\u0026label=ci\u0026color=BEC5C9\u0026logo=GitHub%20Actions\u0026logoColor=BEC5C9\" alt=\"CI\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://app.codecov.io/gh/op-rs/kona\"\u003e\u003cimg src=\"https://img.shields.io/codecov/c/gh/op-rs/kona?style=flat\u0026labelColor=1C2C2E\u0026logo=Codecov\u0026color=BEC5C9\u0026logoColor=BEC5C9\" alt=\"Codecov\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/op-rs/kona/blob/main/LICENSE.md\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-d1d1f6.svg?style=flat\u0026labelColor=1C2C2E\u0026color=BEC5C9\u0026logo=googledocs\u0026label=license\u0026logoColor=BEC5C9\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://op-rs.github.io/kona\"\u003e\u003cimg src=\"https://img.shields.io/badge/Book-854a15?style=flat\u0026labelColor=1C2C2E\u0026color=BEC5C9\u0026logo=mdBook\u0026logoColor=BEC5C9\" alt=\"Book\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#whats-kona\"\u003eWhat's Kona?\u003c/a\u003e •\n  \u003ca href=\"#overview\"\u003eOverview\u003c/a\u003e •\n  \u003ca href=\"#msrv\"\u003eMSRV\u003c/a\u003e •\n  \u003ca href=\"https://op-rs.github.io/kona/CONTRIBUTING.html\"\u003eContributing\u003c/a\u003e •\n  \u003ca href=\"#credits\"\u003eCredits\u003c/a\u003e •\n  \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n\u003c/p\u003e\n\n\n## What's Kona?\n\nOriginally a suite of portable implementations of the OP Stack rollup state transition,\nKona has been extended to be _the monorepo_ for \u003ca href=\"https://specs.optimism.io/\"\u003eOP Stack\u003c/a\u003e\ntypes, components, and services built in Rust. Kona provides an ecosystem of extensible, low-level\ncrates that compose into components and services required for the OP Stack.\n\nThe [book][book] contains a more in-depth overview of the project, contributor guidelines, tutorials for\ngetting started with building your own programs, and a reference for the libraries and tools provided by Kona.\n\n### Development Status\n\n\u003e [!WARNING]\n\u003e\n\u003e `kona` is currently in active development, and is not yet ready for use in production.\n\n## Overview\n\n\u003e [!NOTE]\n\u003e\n\u003e Ethereum (Alloy) types modified for the OP Stack live in [op-alloy](https://github.com/alloy-rs/op-alloy).\n\n**Binaries**\n\n- [`client`](./bin/client): The bare-metal program that executes the state transition, to be ran on a prover.\n- [`host`](./bin/host): The host program that runs natively alongside the prover, serving as the [Preimage Oracle][g-preimage-oracle] server.\n- [`node`](./bin/node): [WIP] A [Rollup Node][rollup-node-spec] implementation, backed by [`kona-derive`](./crates/protocol/derive).\n\n**Protocol**\n\n- [`genesis`](./crates/protocol/genesis): Genesis types for OP Stack chains.\n- [`protocol`](./crates/protocol/protocol): Core protocol types used across OP Stack rust crates.\n- [`derive`](./crates/protocol/derive): `no_std` compatible implementation of the [derivation pipeline][g-derivation-pipeline].\n- [`driver`](./crates/protocol/driver): Stateful derivation pipeline driver.\n- [`interop`](./crates/protocol/interop): Core functionality and primitives for the [Interop feature](https://specs.optimism.io/interop/overview.html) of the OP Stack.\n- [`registry`](./crates/protocol/registry): Rust bindings for the [superchain-registry][superchain-registry].\n\n**Proof**\n\n- [`mpt`](./crates/proof/mpt): Utilities for interacting with the Merkle Patricia Trie in the client program.\n- [`executor`](./crates/proof/executor): `no_std` stateless block executor for the [OP Stack][op-stack].\n- [`proof`](./crates/proof/proof): High level OP Stack state transition proof SDK.\n- [`proof-interop`](./crates/proof/proof-interop): Extension of `kona-proof` with interop support.\n- [`preimage`](./crates/proof/preimage): High level interfaces to the [`PreimageOracle`][fpp-specs] ABI.\n- [`std-fpvm`](./crates/proof/std-fpvm): Platform specific [Fault Proof VM][g-fault-proof-vm] kernel APIs.\n- [`std-fpvm-proc`](./crates/proof/std-fpvm-proc): Proc macro for [Fault Proof Program][fpp-specs] entrypoints.\n\n**Node**\n\n- [`engine`](./crates/node/engine): An extensible implementation of the [OP Stack][op-stack] rollup node engine client\n- [`rpc`](./crates/node/rpc): OP Stack RPC types and extensions.\n- [`p2p`](./crates/node/p2p): OP Stack P2P Networking including Gossip and Discovery.\n- [`service`](./crates/node/service): The OP Stack rollup node service.\n\n**Providers**\n\n- [`providers-alloy`](./crates/providers/providers-alloy): Provider implementations for `kona-derive` backed by [Alloy][alloy].\n- [`providers-local`](./crates/providers/providers-local): Local provider implementations for `kona-derive`.\n\n**Utilities**\n\n- [`serde`](./crates/utilities/serde): Serialization helpers.\n- [`cli`](./crates/utilities/cli): Standard CLI utilities, used across `kona`'s binaries.\n\n### Proof\n\nBuilt on top of these libraries, this repository also features a [proof program][fpp-specs]\ndesigned to deterministically execute the rollup state transition in order to verify an\n[L2 output root][g-output-root] from the L1 inputs it was [derived from][g-derivation-pipeline].\n\nKona's libraries were built with alternative backend support and extensibility in mind - the repository features\na fault proof virtual machine backend for use in the governance-approved OP Stack, but it's portable across\nprovers! Kona is also used by:\n\n- [`op-succinct`][op-succinct]\n- [`kailua`][kailua]\n\nTo build your own backend for kona, or build a new application on top of its libraries,\nsee the [SDK section of the book](https://op-rs.github.io/kona/sdk/intro.html).\n\n## MSRV\n\nThe current MSRV (minimum supported rust version) is `1.85`.\n\nThe MSRV is not increased automatically, and will be updated\nonly as part of a patch (pre-1.0) or minor (post-1.0) release.\n\n\n## Crate Releases\n\n`kona` releases are done using the [`cargo-release`](https://crates.io/crates/cargo-release) crate.\nA detailed guide is available in [./RELEASES.md](./RELEASES.md).\n\n\n## Contributing\n\n`kona` is built by open source contributors like you, thank you for improving the project!\n\nA [contributing guide][contributing] is available that sets guidelines for contributing.\n\nPull requests will not be merged unless CI passes, so please ensure that your contribution\nfollows the linting rules and passes clippy.\n\n\n## Credits\n\n`kona` is inspired by the work of several teams, namely [OP Labs][op-labs] and other contributors' work on the\n[Optimism monorepo][op-go-monorepo] and [BadBoiLabs][bad-boi-labs]'s work on [Cannon-rs][badboi-cannon-rs].\n\n`kona` is also built on rust types in [alloy][alloy], [op-alloy][op-alloy], and [maili][maili].\n\n## License\n\nLicensed under the [MIT license.](https://github.com/op-rs/kona/blob/main/LICENSE.md)\n\n\u003e [!NOTE]\n\u003e\n\u003e Contributions intentionally submitted for inclusion in these crates by you\n\u003e shall be licensed as above, without any additional terms or conditions.\n\n\n\u003c!-- Links --\u003e\n\n[alloy]: https://github.com/alloy-rs/alloy\n[maili]: https://github.com/op-rs/maili\n[op-alloy]: https://github.com/alloy-rs/op-alloy\n[contributing]: https://op-rs.github.io/kona/CONTRIBUTING.html\n[op-stack]: https://github.com/ethereum-optimism/optimism\n[superchain-registry]: https://github.com/ethereum-optimism/superchain-registry\n[op-go-monorepo]: https://github.com/ethereum-optimism/optimism/tree/develop\n[cannon]: https://github.com/ethereum-optimism/optimism/tree/develop/cannon\n[cannon-rs]: https://github.com/op-rs/cannon-rs\n[rollup-node-spec]: https://specs.optimism.io/protocol/rollup-node.html\n[badboi-cannon-rs]: https://github.com/BadBoiLabs/cannon-rs\n[asterisc]: https://github.com/etheruem-optimism/asterisc\n[fpp-specs]: https://specs.optimism.io/fault-proof/index.html\n[book]: https://op-rs.github.io/kona/\n[op-succinct]: https://github.com/succinctlabs/op-succinct\n[kailua]: https://github.com/risc0/kailua\n[op-labs]: https://github.com/ethereum-optimism\n[bad-boi-labs]: https://github.com/BadBoiLabs\n[g-output-root]: https://specs.optimism.io/glossary.html#l2-output-root\n[g-derivation-pipeline]: https://specs.optimism.io/protocol/derivation.html#l2-chain-derivation-pipeline\n[g-fault-proof-vm]: https://specs.optimism.io/experimental/fault-proof/index.html#fault-proof-vm\n[g-preimage-oracle]: https://specs.optimism.io/fault-proof/index.html#pre-image-oracle\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fop-rs%2Fkona","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fop-rs%2Fkona","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fop-rs%2Fkona/lists"}