Running BLAST Testnet from Source
Please follow these steps first if you have not done so already.
Create a shared secret between op-geth and bl-node
op-geth and bl-nodeNavigate into your
op-gethdirectory and run these commands:
openssl rand -hex 32 > jwt.txt
cp jwt.txt ../blast/bl-nodeScripts to start the different components
In the root of your working directory create a new directory: scripts.
# op-geth
op-gethCreate a new file:
touch run-op-geth.shMake it executable:
chmod +x run-op-geth.shInsert this snippet of code into
run-op-geth.shand modify the path to theop-gethdirectory.#! /usr/bin/bash SEQUENCER_URL=https://goerli-sequencer.blastblockchain.com/ cd <> ./build/bin/geth --datadir=./datadir --http --http.port=8545 --http.addr=0.0.0.0 --authrpc.addr=localhost --authrpc.jwtsecret=./jwt.txt --verbosity=3 --rollup.sequencerhttp=$SEQUENCER_URL --nodiscover --syncmode=full --maxpeers=0
Other Sequencer URLs can be found here: Networks, Public RPC Endpoints, & APIs.
Run the following command to start
op-geth:
op-node
op-nodeNavigate to the
scriptsdirectory you created.Create a new file:
Make it executable:
Insert this snippet of code into
run-bl-node.sh:
Change
<< L1 RPC URL >>to your local L1 node or a service provider's URL for the L1 node (L1 Ethereum). E.g. for Infura,https://goerli.infura.io/v3/API_KEY.Set
L1KINDto the network provider you are using (options: alchemy, quicknode, infura, parity, nethermind, debug_geth, erigon, basic, any).
Run the following command to start
op-node:
The initial synchronization
The datadir provided by Blast is not updated continuously, so before you can use the node you need a to synchronize it.
During that process you get log messages from bl-node, and nothing else appears to happen.
That is normal - it means that bl-node is looking for a location in the batch queue. After a few minutes it finds it, and then it can start synchronizing.
While it is synchronizing, you can expect log messages such as these from bl-node:
And log messages such as these from op-geth:
#How long will the synchronization take?
To estimate how long the synchronization will take, you need to first find out how many blocks you synchronize in a minute. You can use this Foundry (opens new window)script to get an estimated sync time.
Navigate to your
scriptsdirectoryCreate a new file:
Make it executable:
Insert this snippet of code into
run-estimate.sh:
Run the following command to get an estimate:
#Operations
It is best to start op-geth first and shut it down last.
Last updated