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 https://sepolia.boba.network. Clone the repository, open it, and install nodejs packages with yarn:

$ git clone git@github.com:bobanetwork/boba.git
$ 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
$ BUILD=1 DAEMON=0 ./up_local.sh

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:

./scripts/wait-for-sequencer.sh

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:

./scripts/wait-for-boba.sh

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