Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

Bedrock Full Devnet Setup

norswap edited this page Sep 6, 2022 · 3 revisions

This page explains how to get the Bedrock devnet running locally, starting from scratch on a fresh Linux cloud machine (in particular, we're running Debian 11.3 (Bullseye)).

sudo apt update
sudo apt upgrade
sudo apt install git make wget gcc jq

# nvm, node & yarn
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
bash # reload ~/.bashrc
nvm install v16.16.0
nvm use v16.16.0
echo "nvm use default" >> ~/.bashrc
sudo ln -s $(which node) /sbin/node # important for docker devnet
npm install --global yarn

# go
wget -c https://go.dev/dl/go1.18.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc

# foundry
curl -L https://foundry.paradigm.xyz/ | bash
bash # reload ~/.bashrc
foundryup

# build & test
git clone https://github.com/ethereum-optimism/optimism.git
cd optimism
make build
# make test-unit # verify everything is okay

# docker
# (There is theoretically an easier way to do this via adding a package repository, but it wouldn't work for me.)
# get proper package from https://download.docker.com/linux/
curl https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-ce_20.10.17~3-0~debian-bullseye_amd64.deb -o docker-ce-cli.deb
curl https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-ce-cli_20.10.17~3-0~debian-bullseye_amd64.deb -o docker-ce.deb
curl https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/containerd.io_1.6.6-1_amd64.deb -o containerd.deb
curl https://download.docker.com/linux/debian/dists/bullseye/pool/stable/amd64/docker-compose-plugin_2.6.0~debian-bullseye_amd64.deb -o docker-compose.deb
sudo dpkg -i docker-ce-cli.deb
sudo dpkg -i containerd.deb
sudo dpkg -i docker-ce.deb
sudo dpkg -i docker-compose.deb

sudo curl -SL https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

sudo groupadd docker
sudo usermod -aG docker ${USER}
# relog or su -s ${USER}

make devnet-clean # currently needs to be always be run before devnet-clean because of issues we have!
make devnet-up