In this repository, you'll find numerous code references for applications & packages to help app developers build on top of the OP Stack with ease.
If the Optimism Repository is a place where the protocol and its infrastructure gets built. The Ecosystem Repository is a place where utilities, applications, and examples get built to interact with the protocols and its infrastructure.
Designed to be "aggressively open source," we encourage you to explore, modify, extend, and test the code as needed. We look forward to building with you!
- If you want to build on top of OP Mainnet, refer to the Optimism Documentation
- If you want to build your own OP Stack based blockchain, refer to the OP Stack Guide
- If you want to contribute to the OP Stack, check out the Protocol Specs
For technical support head over to the GitHub Developer forum. Governance discussion can also be found on the Optimism Governance Forum.
├── apps │ ├── bridge-app: Example Bridge App ├── packages ├── ├── supersim: Util supersim package that works with npx │ ├── viem: Viem action/utils │ ├── wagmi: Wagmi react hooks
You'll need the following:
Clone the repository and open it:
git clone [email protected]:ethereum-optimism/ecosystem.git
cd ecosystem
Install the correct node version with nvm
nvm use
pnpm i
Each application and package have npm scripts in there indivdual package.json
.
In order to run those easily we can leverage nx here. The nx.json
file is setup
to improve QoL while working in the repo.
The npm package name can be found in their package.json
and the targets are what you'll see in the scripts
object in the package.json
pnpm nx run <npm package name>:<target>
For example if we wanted to run the bridge-app
for development we could run this
pnpm nx run @eth-optimism/bridge-app:dev
If we wanted to build the op-app
package we could run this
pnpm nx run @eth-optimism/bridge-app:build
There will be a few common targets that you will most likely see across all applications and packages in the repo.
build
clean
dev
typecheck
lint
lint:fix
No contribution is too small and all contributions are valued. Thanks for your help improving the project! We are so happy to have you!
You can read our contribution guide here to understand better how we work in the repo.
All other files within this repository are licensed under the MIT License unless stated otherwise.