Collator resources

Hardware requirements

  • CPU

    • x86-64 compatible;

    • Intel Ice Lake, or newer (Xeon or Core series); AMD Zen3, or newer (EPYC or Ryzen);

    • 4 physical cores @ 3.4GHz;

    • Simultaneous multithreading disabled (Hyper-Threading on Intel, SMT on AMD);

    • Prefer single-threaded performance over higher cores count. A comparison of single-threaded performance can be found here.

  • Storage

    • An NVMe SSD of 1 TB (As it should be reasonably sized to deal with blockchain growth). An estimation of current chain snapshot sizes can be found here. In general, the latency is more important than the throughput.

  • Memory

    • 16GB DDR4 ECC.

  • System

    • Linux Kernel 5.16 or newer.

  • Network

    • The minimum symmetric networking speed is set to 500 Mbit/s (= 62.5 MB/s). This is required to support a large number of parachains and allow for proper congestion control in busy network situations.

The specs posted above are not a hard requirement to run a validator, but are considered best practice. Running a validator is a responsible task; using professional hardware is a must in any way.

How to deploy parachain node

You need to pull the docker image of our node from the docker hub. By default for security reasons exposed only port 30333 for peering.

For equilibrium parachain testnet docker-compose.yml example:

version: '3'
services:
  parachain-collator:
    image: equilab/eq-node-testnet:latest
    container_name: parachain-collator
    command:
      - --execution=wasm
      - --wasm-execution=compiled
      - --prometheus-external
      - --rpc-methods=Unsafe
      - --offchain-worker=Always
      - --collator
      - --no-private-ipv4
      - --chain=/etc/eq-paraspec.json
      - -d=/data/parachain
      - --
      - --execution=wasm
      - --keep-blocks=10000
      - --sync=Fast
      - -d=/data/relaychain
      - --chain=/etc/polkadot-local-raw.json
    ports:
      - "30333:30333"
    volumes:
      - './data:/data'z// Some code

For equilibrium parachain mainnet docker-compose.yml example:

version: '3'
services:
  parachain-collator:
    image: equilab/eq-para:latest
    container_name parachain-collator
    command:
      - --execution=wasm
      - --wasm-execution=compiled
      - --prometheus-external
      - --rpc-methods=Unsafe
      - --offchain-worker=Always
      - --collator
      - --no-private-ipv4
      - --
      - --chain=polkadot
      - --execution=wasm
      - --keep-blocks=10000
      - --sync=Fast
    ports:
      - "30333:30333"
    volumes:
      - './data:/data'

Store this content into the file docker-compose.yml in your home directory and run sudo docker-compose up -d

Wait until your node is synced.

For the next step, you need polkadot extension for your browser https://polkadot.js.org/extension/

For mainnet please select URL from the list on the left pane, for testnet please open Development -> custom endpoint on the left pane and set as: wss://testnet.equilibrium.io/eq/collator/api/wss

Create an account and ask the account replenishment from the equilibrium team

Store your mnemonic seed and account id for further steps.

Create your collator keys for equilibrium parachain by command docker exec parachain-collator getkeys Your output will be like something:

{
  "aura": "0xd0f8adc669e563562958f6d50859cd72c4e900f67b2dbdcf8c29bde67f0a6148",
  "eqRate": "0x6055f6b23ba8479e8ab45771a0210f90ec51adfe5fbaabad97b5e9b5ab4269ad"
}

Return to the polkadot,js app, move to the Developer -> Extrinsics and select Session -> setKeys. Insert your keys from JSON result. In the proof field set 0x00 as in the picture below:

Sign the request with your account key and provide Equilibrium your the relevant Validator account

Last updated