Skip to content

runmyself/manba

Repository files navigation

Optimism Monorepo

Monorepo implementing the Optimistic Ethereum protocol

Github Actions Github Actions Github Actions

Documentation

Extensive documentation is available here

Directory Structure

  • packages: Contains all the typescript packages and contracts
  • l2geth: Fork of go-ethereum v1.9.10 implementing the OVM.
  • integration-tests: Integration tests between a L1 testnet, l2geth,
  • ops: Contains Dockerfiles for containerizing each service involved in the protocol, as well as a docker-compose file for bringing up local testnets easily

Quickstart

Installation

Dependency management is done using yarn.

git clone [email protected]:ethereum-optimism/optimism.git
cd optimism
yarn

After installing the dependencies, you must also build them so that the typescript is compiled down to javascript:

yarn build

Unit tests

All tests are run in parallel using lerna:

yarn test

When you want to run tests only for packages that have changed since master (or any other branch) you can run yarn lerna run test --parallel --since master

Integration Tests

The integration tests first require bringing up the Optimism stack. This is done via a Docker Compose network. For better performance, we also recommend enabling Docker BuildKit

cd ops
export COMPOSE_DOCKER_CLI_BUILD=1
export DOCKER_BUILDKIT=1
docker-compose build
docker-compose up

About

Optimism is Ethereum, scaled.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 46.0%
  • TypeScript 32.4%
  • Solidity 19.4%
  • Assembly 1.1%
  • Python 0.3%
  • Makefile 0.2%
  • Other 0.6%