roll-op
is an open-source script that allows to spin up an OP stack rollup infrastructure by running only a few commands, and using a single configuration file. The package supports spinning a block explorer (Blockscout).
In this branch roll-op has been modified to
- consume 0 gas
- write data to a database as a Data Availability layer insted of the L1 chain.
The roll-op project was supported by an Optimism governance grant.
The current version deploys software pinned to the following branches:
- Optimism Monorepo:
op-node/feat/da-db-v2
- op-geth:
op-geth/feat/0gas
- Python >= 3.10 (to run the
roll.py
script) with pipsudo apt install python3-pip
on Debian-based systemsbrew install python
on macOS with Homebrew
You also need the following installed, rollop
will warn you if these are missing:
- Some common command line utilities:
make
,curl
,tar
,awk
andgrep
. logrotate
sudo apt install logrotate
on Debian-based systemsbrew install logrotate
on macOS with Homebrew
- Git
- Docker (if you wish to run the Blockscout block explorer)
rollop
will check the following dependencies and install them for you if needed (the script will
always ask for your permission before installing anything outside the current directory):
- Python libraries
- Node.js 20.9.0
- pnpm (
pnpm install -g pnpm
) - Yarn (for account abstraction support)
(
npm install -g yarn
โ the old one, not yarn v3 aka yarn berry) - Geth >= 1.13.4 (but only if you want to run a devnet L1 node)
- The
jq
command line utility - Foundry
- Go >= 1.21
The docker compose plugin
is required. Note this differs from docker-compose
. The presence of the plugin can be checked with
docker compose version
For manual installation refer the bottom of the official instalation description.
For a complete usage guide refer the original README. Here we only list the below examples.
./rollop setup --yes && ./rollop --clean --name=myTestnet --preset=dev --config=config.toml.example devnet --yes
The following starts network but sometimes the network is not fully responsive
./rollop --name=myTestnet --preset=dev --config=config.toml.example devnet
To check balances and send a tx run
npm install ethers
node myTestScripts.js
A blockscout explorer is provided. To start the explorer clean, use
./rollop explorer --clean
For a simple restart use
./rollop explorer --config=config.toml.example