optimism: An open-source software stack for scalable Ethereum blockchains.
What problem it solves
Ethereum applications need a scalable blockchain stack that can support decentralized economies and governance systems. The OP Stack addresses this by providing core components for rollup consensus, data submission, dispute handling, deployment, testing, and related operations.
Key features
Rollup consensus and L1 submission — The repository provides a rollup consensus-layer client, an L2 batch submitter, and an L2 output proposer for connecting the rollup with L1.
Source: op-node, op-batcher, op-proposer
Dispute and fault-proof components — Dispute workflows include a challenge agent, an off-chain dispute-game monitor, and an onchain MIPS instruction emulator for fault proofs.
Source: op-challenger, op-dispute-mon, cannon
Deployment and configuration tooling — Command-line and operational utilities support deploying and upgrading OP Stack smart contracts, managing deployments, and handling state surgery.
Source: README, op-deployer, op-up
Testing and interoperability services — The stack includes acceptance, end-to-end, development-stack, synchronization, and interoperability testing tools for developing and validating blockchain behavior.
Source: op-acceptance-tests, op-e2e, op-devstack
Go and Rust implementations — The monorepo combines Go components with Rust components, including a state-transition fault-proof program, an execution client, an EVM implementation, and shared types.
Source: README, rust, go.mod
Quick start
Copied verbatim from the project's README.
curl -L https://github.com/ethereum-optimism/optimism/archive/$REF.tar.gz | tar xzgit clone --depth 1 --shallow-submodules https://github.com/ethereum-optimism/optimism.gitWho it may suit
This repository may suit developers building on OP Mainnet, teams creating their own OP Stack-based blockchain, and contributors working on consensus, contracts, tooling, testing, or Rust components.
Topics to discuss
Which OP Stack components should be prioritized for contributors new to the repository?
How should the Go and Rust implementations maintain consistent interfaces and behavior?
What integration or acceptance-test scenarios should be expanded for new OP Stack functionality?
Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.
Read the original README https://github.com/ethereum-optimism/optimism#readme
ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.
Comments
…