The Zora Mainnet archive node has a size of 693GB on October 10th, 2024
Zora
Zora operates within the Optimism Superchain ecosystem and is built using the OP stack, leveraging the scalability and security of Optimism's Layer 2 infrastructure.
In this guide, we are walking through the process of setting up a Zora Mainnet archive node using Optimism's op-gethand op-node.
Before you start, make sure that you have your own synced Ethereum L1 RPC URL (e.g. Erigon) and L1 Consensus Layer Beacon endpoint with all historical blobs data (e.g. Lighthouse) ready. A beacon endpoint meeting this criteria is essential for syncing to start.
cd#to return to /root/ directorygitclonehttps://github.com/mehdius1364/nodecdnodeexport CONDUIT_NETWORK=zora-mainnet-0./download-config.py $CONDUIT_NETWORK#move genesis.json and rollup.json into op-geth directory mv /root/node/networks/zora-mainnet-0/genesis.json /root/node/networks/zora-mainnet-0/rollup.json /root/data/zora/zora-op-geth/
Build op-node
cd/root/zora/gitclonehttps://github.com/ethereum-optimism/optimism.gitcdoptimismgitcheckoutv1.9.1makeop-node# The binary is built at /root/zora/optimism/op-node/bin/op-node
Create systemd service for op-node
sudonano/etc/systemd/system/zora-op-node.service
Paste the following configs replacing {L1 RPC},{L1 BEACON RPC},{SERVER IP},{JWT} with own values
cat/root/data/zora/zora-op-geth/jwt.hex#to retrieve {JWT} value
Build the Execution Engine (op-geth)
Build op-geth
cd/root/zora/gitclonehttps://github.com/ethereum-optimism/op-geth.gitcdop-gethgitcheckoutv1.101408.0makegeth# The binary is built at /root/github/op-geth/build/bin/geth
It's usually simpler to begin with startingop-geth before you start op-node. You can start op-geth even if op-node isn't running yet, but op-geth won't get any blocks until op-node starts.
sudosystemctldaemon-reload#refresh systemd configuration when changes madesudosystemctlenablezora-op-geth.service#enable zora-op-geth service at system startupsudosystemctlstartzora-op-geth.service#start op-gethsudonano/etc/systemd/system/zora-op-geth.service#make changes in zora-op-geth.service fi
Start op-node
Once you've started op-geth, you can start op-node. op-node will connect to op-geth and begin synchronizing the Zora network. op-node will begin sending block payloads to op-geth when it derives enough blocks from Ethereum
sudosystemctldaemon-reload#refresh systemd configuration when changes madesudosystemctlenablezora-op-node.service#enable zora-op-node service at system startupsudosystemctlstartzora-op-node.service#start zora-op-nodesudonano/etc/systemd/system/zora-op-node.service#make changes in zora-op-node.service file
Monitor the logs for errors
sudojournalctl-fuzora-op-node.service#follow logs of zora-op-node.servicesudojournalctl-fuzora-op-geth.service#follow logs of zora-op-geth.service
You are expected to get the following log messages from op-node