[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77788":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":9,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":9,"pushedAt":9,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},77788,"optimism","ethereum-optimism\u002Foptimism","ethereum-optimism","Optimism is Ethereum, scaled.",null,"https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism","Go",6438,3972,123,715,0,6,9,12,18,41,false,"main",[25,26,27,28,5],"ethereum","ovm","rollup","l2-scaling","2026-06-12 02:03:44","\u003Cdiv align=\"center\">\n  \u003Cbr \u002F>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Foptimism.io\">\u003Cimg alt=\"Optimism\" src=\".\u002Flogo.svg\" width=600>\u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ch3>\u003Ca href=\"https:\u002F\u002Foptimism.io\">Optimism\u003C\u002Fa> is Ethereum, scaled.\u003C\u002Fh3>\n  \u003Cbr \u002F>\n\u003C\u002Fdiv>\n\n**Table of Contents**\n\n\u003C!--TOC-->\n\n- [What is Optimism?](#what-is-optimism)\n- [Documentation](#documentation)\n- [Specification](#specification)\n- [Community](#community)\n- [Contributing](#contributing)\n- [Security Policy and Vulnerability Reporting](#security-policy-and-vulnerability-reporting)\n- [Directory Structure](#directory-structure)\n- [Development and Release Process](#development-and-release-process)\n  - [Overview](#overview)\n  - [Production Releases](#production-releases)\n  - [Development branch](#development-branch)\n- [License](#license)\n\n\u003C!--TOC-->\n\n## What is Optimism?\n\n[Optimism](https:\u002F\u002Fwww.optimism.io\u002F) is a project dedicated to scaling Ethereum's technology and expanding its ability to coordinate people from across the world to build effective decentralized economies and governance systems. The [Optimism Collective](https:\u002F\u002Fwww.optimism.io\u002Fvision) builds open-source software that powers scalable blockchains and aims to address key governance and economic challenges in the wider Ethereum ecosystem. Optimism operates on the principle of **impact=profit**, the idea that individuals who positively impact the Collective should be proportionally rewarded with profit. **Change the incentives and you change the world.**\n\nIn this repository you'll find numerous core components of the OP Stack, the decentralized software stack maintained by the Optimism Collective that powers Optimism and forms the backbone of blockchains like [OP Mainnet](https:\u002F\u002Fexplorer.optimism.io\u002F) and [Base](https:\u002F\u002Fbase.org). The OP Stack is designed to be aggressively open-source — you are welcome to explore, modify, and extend this code.\n\n## Documentation\n\n- If you want to build on top of OP Mainnet, refer to the [Optimism Documentation](https:\u002F\u002Fdocs.optimism.io)\n- If you want to build your own OP Stack based blockchain, refer to the [OP Stack Guide](https:\u002F\u002Fdocs.optimism.io\u002Fstack\u002Fgetting-started) and make sure to understand this repository's [Development and Release Process](#development-and-release-process)\n\n## Specification\n\nDetailed specifications for the OP Stack can be found within the [OP Stack Specs](https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Fspecs) repository.\n\n## Community\n\nGeneral discussion happens most frequently on the [Optimism discord](https:\u002F\u002Fdiscord.gg\u002Foptimism).\nGovernance discussion can also be found on the [Optimism Governance Forum](https:\u002F\u002Fgov.optimism.io\u002F).\n\n## Contributing\n\nThe OP Stack is a collaborative project. By collaborating on free, open software and shared standards, the Optimism Collective aims to prevent siloed software development and rapidly accelerate the development of the Ethereum ecosystem. Come contribute, build the future, and redefine power, together.\n\n[CONTRIBUTING.md](.\u002FCONTRIBUTING.md) contains a detailed explanation of the contributing process for this repository. Make sure to use the [Developer Quick Start](.\u002FCONTRIBUTING.md#development-quick-start) to properly set up your development environment.\n\n[Good First Issues](https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism\u002Fissues?q=is:open+is:issue+label:D-good-first-issue) are a great place to look for tasks to tackle if you're not sure where to start, and see [CONTRIBUTING.md](.\u002FCONTRIBUTING.md) for info on larger projects.\n\n## Security Policy and Vulnerability Reporting\n\nPlease refer to the canonical [Security Policy](https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002F.github\u002Fblob\u002Fmaster\u002FSECURITY.md) document for detailed information about how to report vulnerabilities in this codebase.\nBounty hunters are encouraged to check out the [Optimism Immunefi bug bounty program](https:\u002F\u002Fimmunefi.com\u002Fbounty\u002Foptimism\u002F).\nThe Optimism Immunefi program offers up to $2,000,042 for in-scope critical vulnerabilities.\n\n## Directory Structure\n\n\u003Cpre>\n├── \u003Ca href=\".\u002Fcannon\">cannon\u003C\u002Fa>: Onchain MIPS instruction emulator for fault proofs\n├── \u003Ca href=\".\u002Fdocs\">docs\u003C\u002Fa>: A collection of documents including audits and post-mortems\n│   └── \u003Ca href=\".\u002Fdocs\u002Fpublic-docs\">public-docs\u003C\u002Fa>: Public developer documentation for \u003Ca href=\"https:\u002F\u002Fdocs.optimism.io\">docs.optimism.io\u003C\u002Fa>\n├── \u003Ca href=\".\u002Fop-acceptance-tests\">op-acceptance-tests\u003C\u002Fa>: Acceptance tests and configuration for OP Stack\n├── \u003Ca href=\".\u002Fop-alt-da\">op-alt-da\u003C\u002Fa>: Alternative Data Availability mode (beta)\n├── \u003Ca href=\".\u002Fop-batcher\">op-batcher\u003C\u002Fa>: L2-Batch Submitter, submits bundles of batches to L1\n├── \u003Ca href=\".\u002Fop-chain-ops\">op-chain-ops\u003C\u002Fa>: State surgery utilities\n├── \u003Ca href=\".\u002Fop-challenger\">op-challenger\u003C\u002Fa>: Dispute game challenge agent\n├── \u003Ca href=\".\u002Fop-conductor\">op-conductor\u003C\u002Fa>: High-availability sequencer service\n├── \u003Ca href=\".\u002Fop-deployer\">op-deployer\u003C\u002Fa>: CLI tool for deploying and upgrading OP Stack smart contracts\n├── \u003Ca href=\".\u002Fop-devstack\">op-devstack\u003C\u002Fa>: Flexible test frontend for integration and acceptance testing\n├── \u003Ca href=\".\u002Fop-dispute-mon\">op-dispute-mon\u003C\u002Fa>: Off-chain service to monitor dispute games\n├── \u003Ca href=\".\u002Fop-dripper\">op-dripper\u003C\u002Fa>: Controlled token distribution service\n├── \u003Ca href=\".\u002Fop-e2e\">op-e2e\u003C\u002Fa>: End-to-End testing of all bedrock components in Go\n├── \u003Ca href=\".\u002Fop-faucet\">op-faucet\u003C\u002Fa>: Dev-faucet with support for multiple chains\n├── \u003Ca href=\".\u002Fop-fetcher\">op-fetcher\u003C\u002Fa>: Data fetching utilities\n├── \u003Ca href=\".\u002Fop-interop-mon\">op-interop-mon\u003C\u002Fa>: Interoperability monitoring service\n├── \u003Ca href=\".\u002Fop-node\">op-node\u003C\u002Fa>: Rollup consensus-layer client\n├── \u003Ca href=\".\u002Fop-preimage\">op-preimage\u003C\u002Fa>: Go bindings for Preimage Oracle\n├── \u003Ca href=\".\u002Fop-program\">op-program\u003C\u002Fa>: Fault proof program\n├── \u003Ca href=\".\u002Fop-proposer\">op-proposer\u003C\u002Fa>: L2-Output Submitter, submits proposals to L1\n├── \u003Ca href=\".\u002Fop-service\">op-service\u003C\u002Fa>: Common codebase utilities\n├── \u003Ca href=\".\u002Fop-supervisor\">op-supervisor\u003C\u002Fa>: Service to monitor chains and determine cross-chain message safety\n├── \u003Ca href=\".\u002Fop-sync-tester\">op-sync-tester\u003C\u002Fa>: Sync testing utilities\n├── \u003Ca href=\".\u002Fop-test-sequencer\">op-test-sequencer\u003C\u002Fa>: Test sequencer for development\n├── \u003Ca href=\".\u002Fop-up\">op-up\u003C\u002Fa>: Deployment and management utilities\n├── \u003Ca href=\".\u002Fop-validator\">op-validator\u003C\u002Fa>: Tool for validating Optimism chain configurations and deployments\n├── \u003Ca href=\".\u002Fop-wheel\">op-wheel\u003C\u002Fa>: Database utilities\n├── \u003Ca href=\".\u002Fops\">ops\u003C\u002Fa>: Various operational packages\n├── \u003Ca href=\".\u002Fpackages\">packages\u003C\u002Fa>\n│   ├── \u003Ca href=\".\u002Fpackages\u002Fcontracts-bedrock\">contracts-bedrock\u003C\u002Fa>: OP Stack smart contracts\n\u003C\u002Fpre>\n\n## Development and Release Process\n\n### Overview\n\nPlease read this section carefully if you're planning to fork or make frequent PRs into this repository.\n\n### Production Releases\n\nProduction releases are always tags, versioned as `\u003Ccomponent-name>\u002Fv\u003Csemver>`.\nFor example, an `op-node` release might be versioned as `op-node\u002Fv1.1.2`, and  smart contract releases might be versioned as `op-contracts\u002Fv1.0.0`.\nRelease candidates are versioned in the format `op-node\u002Fv1.1.2-rc.1`.\nWe always start with `rc.1` rather than `rc`.\n\nFor contract releases, refer to the GitHub release notes for a given release which will list the specific contracts being released. Not all contracts are considered production ready within a release and many are under active development.\n\nTags of the form `v\u003Csemver>`, such as `v1.1.4`, indicate releases of all Go code only, and **DO NOT** include smart contracts.\nThis naming scheme is required by Golang.\nIn the above list, this means these `v\u003Csemver>` releases contain all `op-*` components and exclude all `contracts-*` components.\n\n`op-geth` embeds upstream geth’s version inside its own version as follows: `vMAJOR.GETH_MAJOR GETH_MINOR GETH_PATCH.PATCH`.\nBasically, geth’s version is our minor version.\nFor example if geth is at `v1.12.0`, the corresponding op-geth version would be `v1.101200.0`.\nNote that we pad out to three characters for the geth minor version and two characters for the geth patch version.\nSince we cannot left-pad with zeroes, the geth major version is not padded.\n\nSee the [GitHub releases](https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism\u002Freleases) page for more information about releases for the latest node components.\n\nThe full set of components that have releases are:\n\n- `op-batcher`\n- `op-contracts`\n- `op-challenger`\n- `op-node`\n- `op-proposer`\n\nAll other components and packages should be considered development components only and do not have releases.\n\n### Development branch\n\nThe primary development branch is [`develop`](https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism\u002Ftree\u002Fdevelop\u002F).\n`develop` contains the most up-to-date software that remains backwards compatible with the latest experimental [network deployments](https:\u002F\u002Fdocs.optimism.io\u002Fchain\u002Fnetworks).\nIf you're making a backwards compatible change, please direct your pull request towards `develop`.\n\n**Changes to contracts within `packages\u002Fcontracts-bedrock\u002Fsrc` are usually NOT considered backwards compatible.**\nSome exceptions to this rule exist for cases in which we absolutely must deploy some new contract after a tag has already been fully deployed.\nIf you're changing or adding a contract and you're unsure about which branch to make a PR into, default to using a feature branch.\nFeature branches are typically used when there are conflicts between 2 projects touching the same code, to avoid conflicts from merging both into `develop`.\n\n## Downloading & Shallow-Cloning the Monorepo\n\nIf you want to use the monorepo as a dependency, e.g. in CI, you can greatly speed up the fetching process by either downloading it directly as an archive from Github instead of cloning as a git repository or shallow-cloning it.\nThis avoids downloading the full monorepo git history, which is unfortunately a few GBs in size, but which also isn't needed for many use cases, like CI.\n\nTo fetch the monorepo at a specific commit\u002Fbranch\u002Ftag `$REF`, download and unpack with\n```\ncurl -L https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism\u002Farchive\u002F$REF.tar.gz | tar xz\n```\nNote that if you need any of its submodules, you'd need to manually download those too.\n\nIf you want a shallow git clone of latest `develop`, you can just do\n```\ngit clone --depth 1 --shallow-submodules https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism.git\n```\nwhich takes only a few seconds on a good internet connection.\n\nIf you want to shallow-checkout a specific branch or tag `$REF`, do\n\n```\ngit clone --no-checkout --depth 1 --shallow-submodules https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism.git\ncd optimism\ngit fetch --depth 1 origin \"$REF\"\ngit checkout \"$REF\"\n```\nwhich should also only take a few seconds.\n\n## License\n\nAll other files within this repository are licensed under the [MIT License](https:\u002F\u002Fgithub.com\u002Fethereum-optimism\u002Foptimism\u002Fblob\u002Fmaster\u002FLICENSE) unless stated otherwise.\n","Optimism 是一个旨在扩展以太坊技术的项目。它通过采用乐观汇总（Optimistic Rollup）技术，显著提升了以太坊网络的交易处理能力和效率，同时保持了去中心化和安全性。该项目的核心组件包括运行在OVM（Optimism Virtual Machine）上的OP Stack，支持构建高性能且可定制的Layer 2区块链解决方案。Optimism适用于需要高吞吐量、低延迟的应用场景，如去中心化金融(DeFi)平台、NFT市场等，并为开发者提供了丰富的文档和支持资源来帮助他们基于此架构创建自己的应用或区块链网络。",2,"2026-06-11 03:56:00","trending"]