Development Stack
Learn how to run the Boba development stack
Note: this is only relevant to developers who wish to work on Boba core services.
For most test uses, it's simpler to use Clone the repository, open it, and install nodejs packages with yarn:
$ git clone [email protected]:bobanetwork/boba.git
$ cd optimism-v2
$ yarn clean
$ yarn
$ yarn build
Then, make sure you have Docker installed and make sure Docker is running. Finally, build and run the entire stack:
$ cd ops

Spinning up the stack

Stack spinup can take 15 minutes or more. There are many interdependent services to bring up with two waves of contract deployment and initialisation. Recommended settings - 10 CPUs, 30 to 40 GB of memory. You can either inspect the Docker Dashboard>Containers/All>Ops for the progress of the ops_deployer or you can run this script to wait for the sequencer to be fully up:
If the command returns with no log output, the sequencer is up. Once the sequencer is up, you can inspect the Docker Dashboard>Containers/All>Ops for the progress of ops_boba_deployer or you can run the following script to wait for all the Boba contracts (e.g. the fast message relay system) to be deployed and up:
When the command returns with Pass: Found L2 Liquidity Pool contract address, the entire Boba stack has come up correctly.

Helpful commands

  • Running out of space on your Docker, or having other having hard to debug issues? Try running docker system prune -a --volumes and then rebuild the images.
  • To (re)build individual base services: docker-compose build -- l2geth
  • To (re)build individual Boba services: docker-compose -f "docker-compose.yml" build -- boba_message-relayer-fast Note: First you will have to comment out various dependencies in docker-compose.yml.

Running unit tests

To run unit tests for a specific package:
cd packages/package-to-test
yarn test

Running integration tests

Make sure you are in the ops folder and then run
docker-compose run integration_tests
Expect the full test suite to complete in between 30 minutes to two hours depending on your computer hardware.