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
$ cd boba
$ 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

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.

  • 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.

To run unit tests for a specific package:

cd packages/package-to-test
yarn test

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.

Last updated