# 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](https://www.cpubenchmark.net/singleThread.html).
* **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](https://paranodes.io/DBSize). 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`&#x20;

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

![](/files/OrI6AoMmvOMgzYE5jy3y)

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:

![](/files/xurnpmxKCxDVkZWSUh3Z)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.equilibrium.io/resources/collator-resources.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
