The deployment process is the same as a typical OP stack chain. The code snapshot this document based on is the master branch of the https://github.com/blast-io/blast repo.

This document is targeted at advanced users that want to build Blast from source. If you’d prefer to run prebuilt docker images, check out this repo here: https://github.com/blast-io/deployment

Initial setup

Download Blast genesis.json & rollup.json

In addition to the blast repo above containing blast-geth and blast-optimism, you’ll also need to grab the chain config files from this repo:

git clone [email protected]:blast-io/deployment.git

Use the genesis.json and rollup.json files from the mainnet or sepolia directories depending on the network you want to run.

<aside> 💡 If you’d like to run a sepolia node, you’ll need to use the sepolia-testnet branch of the blast repo. The master branch of the blast repo is not compatible with the Blast Sepolia testnet.

</aside>

Building the Docker Images

blast-geth

cd blast-geth/
docker build . -t blast-geth

op-node

cd blast-optimism/
# This will build image with tag: blast.io/blast-optimism/op-node:dev
REGISTRY=blast.io REPOSITORY=blast-optimism docker buildx bake --load -f docker-bake.hcl op-node

Generate the jwt secret

openssl rand -hex 32 | tr -d "\\n" > /jwt.txt

Initialize the blast-geth data directory

See below for instructions on where to download the genesis.json file.

geth init \\
  --datadir=$GETH_DATA_DIR \\
  config/genesis.json

Running