Skip to content

Files

Latest commit

Aleksandr Tgitbook-bot
Aleksandr T
and
May 14, 2024
ad966e7 · May 14, 2024

History

History
126 lines (95 loc) · 3.18 KB

docker.md

File metadata and controls

126 lines (95 loc) · 3.18 KB

🐳 Docker

[Author: Dood]

System Requirements

CPU OS RAM DISK
4c/8t Debian 12 >=16GB >= 1TB SSD/NVME

{% hint style="info" %} The archive node size was 300G as of 29.02.2024 {% endhint %}

{% hint style="success" %} This guide was tested with Debian 12 but, should run on every OS that can run Docker {% endhint %}

📜 Scroll

Unofficial Docs & Support:

Prerequisites

If not already installed, install Docker

Setting Up a Firewall

Add a rule to block all traffic on the port:

iptables -I DOCKER-USER -p tcp --dport 8545 -j DROP

Add a rule for access:

iptables -I DOCKER-USER -p tcp --dport 8545 -s $YOURIP$ -j ACCEPT

Replace Y O U R I P with the ip you want to access the RPC from.

Create docker-compose.yml

If possible, replace '--l1.endpoint "https://eth.llamarpc.com"' with your own L1 Ethereum endpoint.

nano docker-compose.yml

{% tabs %} {% tab title="JavaScript" %}

version: "3.1"
services:
  scroll:
    container_name: scroll
    image: scrolltech/l2geth:scroll-v5.1.10
    restart: unless-stopped
    volumes:
      - scroll:/scroll-datadir
    ports:
      - 8545:8545
    command: |
      --scroll
      --datadir "./scroll-datadir"
      --gcmode archive
      --syncmode full
      --cache.noprefetch
      --http
      --http.corsdomain "*"
      --http.vhosts "*"
      --http.addr "0.0.0.0"
      --http.port 8545
      --http.api "eth,net,web3,debug,scroll"
      --l1.endpoint "https://eth.llamarpc.com"
      --rollup.verify
      --l1.confirmations finalized
      --verbosity=3
      --metrics
      --metrics.addr "0.0.0.0"
      --metrics.port 6060
      --maxpeers 100
      --nat "extip:0.0.0.0"
      --port 30303

volumes:
  scroll:

{% endtab %} {% endtabs %}

Start the container

docker compose up -d 

Useful tips

View Logs via

docker logs -f scroll

Get Sync status via curl

Replace Y O U R I P with the IP of your server

curl -H "Content-type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' $YOURIP$:8545
curl -H "Content-type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"scroll_syncStatus","params":[],"id":1}' $YOURIP$:8545

References