Skip to content

MetisProtocol/metis-ansible

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deploy RPC with Ansible

System requirement

  • Linux(x86_64)
  • docker
  • Ethereum node with full history
  • Ansible 9 and Python 3.12

Andromeda

Recommened hardware

  1. AWS c5.2xlarge with ipv4 network
  2. 500Gb ebs gp3 with 200 throughput
  3. open 30303 tcp/udp for p2p connnections

Steps

  1. update hosts.ini file, add your remote ip and eth mainnet rpc endpoint there
  2. install docker and docker-compose by ansible-playbook playbooks/docker.yaml
  3. spin up your andromeda rpc by ansible-playbook playbooks/andromeda.yaml
  4. install docker-autoheal by ansible-playbook playbooks/autoheal.yaml

snapshots

We provided public aws ebs snapshot for you if you need them.

l2geth

snap-0cffd87f09b9a723d

l1dtl

snap-0eab2d4b73661f9a4

You can use the snapshots on aws us-east-2 region, and copy them to another region you are using.

Sepolia

Recommened hardware

  1. AWS c5.xlarge with ipv4 network
  2. 50Gb free disk
  3. open 30303 tcp/udp for p2p connnections

Steps

  1. update hosts.ini file, add your remote ip and eth sepolia rpc endpoint there
  2. install docker and docker-compose by ansible-playbook playbooks/docker.yaml
  3. spin up your sepolia rpc by ansible-playbook playbooks/sepolia.yaml
  4. install docker-autoheal by ansible-playbook playbooks/autoheal.yaml

Snapshot

We provided public aws ebs snapshot for you if you need them.

l2geth

snap-07ed6398665bf62da

l1dtl

snap-0019089531bfd8990

You can use the snapshots on aws us-east-1 region, and copy them to another region you are using.

FAQ

  1. How to enable finalized param in the eth_getBlockByNumber rpc call and so on?

Use DATA_TRANSPORT_LAYER__SYNC_L1_BATCH=true env value in your dtl service instead.

By the way, you have to re-sync the data if you don't use it at first.

  1. l2geth panic: Refund counter below zero

It can happen when you have a new instace without the snapshots.

You can add --cache.noprefetch=true argument to your l2geth service

  1. How to update the default rpc port

if you don't want to use the default 8545 port, you need to update the LOCAL_L2_CLIENT_HTTP env as well.

e.g. if you want to use 8549 instead.

RPC_PORT=8549
LOCAL_L2_CLIENT_HTTP=http://localhost:8549
  1. Synchronisation failed, retrying err="element not found"

It means your l1dtl is syncing, you can just wait for its complete.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published