refcell / optimism-rs

Scaling Ethereum, but this time in rust.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

optimism-rs  :orange_circle::o::purple_circle::white_circle::black_circle::yellow_circle::green_circle::large_blue_circle::brown_circle::red_circle:

build license: MIT chat version core contracts

Shoot for the moon. Even if you miss, you'll land among the stars - Norman Vincent Peale

Scaling Ethereum, but this time in rust.

Warning

This is not an official implementation. Please do not use until this warning has been removed. Only for demonstrative purposes, but open-sourced with ❤️.

What is Optimism?

Optimism is a low-cost and lightning-fast Ethereum L2 blockchain.

Optimism is the technical foundation for the Optimism Collective, a band of communities, companies, and citizens united by a mutually beneficial pact to adhere to the axiom of impact=profit — the principle that positive impact to the collective should be rewarded with profit to the individual. We're trying to solve some of the most critical coordination failures facing the crypto ecosystem today.

We're particularly focused on creating a sustainable funding stream for the public goods and infrastructure upon which the ecosystem so heavily relies but has so far been unable to adequately reward. We'd love for you to check out The Optimistic Vision to understand more about why we do what we do.

Optimism has been open-source from the start, and the predominant implementation is developed in the ethereum-optimism/optimism github repository, written in Go and Solidity.

This is intended to be an insanely ambitious alternative implementation, written primarily in Rust and Huff. Hopefully, this implementation can prove to be an efficient substitute to the official implementation.

Navigation

NOTE: We add op-erigon as a submodule to include alternative execution client implementations despite it not being written in rust.

├── 🟠 magi: Rollup consensus-layer client.
├── ⭕ op-reth: Reth execution client for post-bedrock upgrade (a rust alternative to op-geth and op-erigon).
├── 🟣 op-erigon: Erigon execution client for post-bedrock upgrade (a golang alternative to op-geth and op-reth).
├── ⚪ substratum: Smart Contracts and Associated Tools for Optimism.
├── ⚫ archon: Service for submitting batches of transactions and results to L1.
├── 🟡 varro: L2-Output Submitter, submits proposals to L1.
├── 🟢 op-e2e: End-to-End testing of all bedrock components in Rust.
├── 🔵 ???
├── 🟤 op-challenger: A challenge agent for Permissionless Output Proposals.
└── 🔴 specs: Specs of the rollup starting at the Bedrock upgrade [EXTERNAL].

Documentation

If you want to build on top of Optimism, take a look at the extensive documentation on the Optimism Community Hub. If you want to build Optimism, check out the Protocol Specs.

Community

General discussion happens most frequently on the Optimism discord. Governance discussion can also be found on the Optimism Governance Forum.

Contributing

This codebase is an amalgamation of github repositories, joined using submodules. To contribute to the codebase, it's recommended to read the contribution guidelines in each repository's respective documentation.

For contributing to the peripheral code in this repo, read through CONTRIBUTING.md. Then check out our list of good first issues to find something fun to work on!

License

All files within this repository are licensed under the MIT License unless explicitly stated otherwise.

About

Scaling Ethereum, but this time in rust.

License:MIT License