OP-NODE and OP-GETH specifically require GO v1.22.0.
OP-NODE requires an L1 and an L1 Beacon.
# Remove previous installation of GO
rm -rf /usr/local/go # For GO installations locacated within /usr/local/go
rm -rf /usr/local/bin/go # For GO installations located within /usr/local/bin/go
# Download GO
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
# Extract and place within /usr/local
tar -xzf go1.22.0.linux-amd64.tar.gz -C /usr/local && rm go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
cd /root/chain
# Clone Optimism Repo
git clone https://github.com/ethereum-optimism/optimism.git
cd optimism
# Check out Latest Git version
git checkout v1.10.0
# Build OP-Node
make op-node
Set up OP-Geth
cd /root/chain
# Clone OP-Geth repo
git clone https://github.com/ethereum-optimism/op-geth.git
cd op-geth
# Check out latest Git version
git checkout v1.101500.1
# Build OP-Geth
make geth
curl -H "Content-Type: application/json" \
-X POST --data '{"jsonrpc":"2.0", "method":"eth_syncing", "params":[], "id":1}' \
http://localhost:8545
# If node is done syncing - the response should resemble the below.
{"jsonrpc":"2.0","id":1,"result":false}
Check Block Number
curl -H "Content-Type: application/json" \
-X POST --data '{"jsonrpc":"2.0", "method":"eth_blockNumber", "params":[], "id":1}' \
http://localhost:8545
# Response should resemble the below.
{"jsonrpc":"2.0","id":1,"result":"0x17c07de"}