Skip to content

Solana Nations Validator Spec

fikunmi edited this page Jun 3, 2024 · 16 revisions

Node Requirements

Hardware Recommendations

The hardware recommendations below are provided as a guide. Operators are encouraged to do their own performance testing.

NOTE: These recommendations may be out of date as the network grows and resource requirements change.

Ref: https://docs.solanalabs.com/operations/requirements

  • Motherboard with 512GB RAM capacity suggested

  • CPU

    • 12 cores / 24 threads, or more (16/32 recommended)
    • 2.8GHz base clock speed, or faster (3.0Ghz+ recommended)
    • SHA extensions instruction support
    • AVX2 instruction support (to use official release binaries, self-compile otherwise)
    • Support for AVX512f is helpful
  • AMD Gen 3 or newer

    • Known to work
      • Bare minimum: Epyc Gen 2: 7402
      • Current baseline: Epyc Gen 3: 7443p, 7313, 74F3
      • Recommended for Futureproofing: Epyc Gen 4: 9554, 9354, 9274, 9174. TR: 7965wx
  • Intel Ice Lake or newer

    • Should work: Xeon Gold 6[45]xx, and Xeon Platinum
  • RAM

    • 256GB DDR4 or more
    • Error Correction Code (ECC) memory is suggested
  • Disk

    • PCIe Gen3 x4 NVME SSD, or better
      • Accounts: 500GB, or larger. High TBW (Total Bytes Written)

      • Ledger: 1TB or larger. High TBW suggested

      • Snapshots: 250GB or larger. High TBW suggested

      • OS: (Optional) 500GB, or larger. SATA OK

      • The OS may be installed on the ledger disk, though testing has shown better performance with the ledger on its own disk.

      • Accounts and ledger can be stored on the same disk, however due to high IOPS, this is not recommended.

The Samsung 970 and 980 Pro series SSDs are popular with the validator community.

  • GPUs
    • Not necessary at this time
    • Operators in the validator community do not use GPUs currently

Software

Prebuilt binaries are available for Linux x86_64 on CPUs supporting AVX2 (Ubuntu 20.04 recommended). MacOS or WSL users may build from source.

Networking

Internet service should be at least 1GBbit/s symmetric, commercial. 10GBit/s preferred (especially for mainnet-beta). A typical node pushes 100tb+ (50tb+ egress) a month to keep up with the chain, which increases with the size of your stake.

Port Forwarding

The following ports need to be open to the internet for both inbound and outbound

It is not recommended to run a validator behind a NAT. Operators who choose to do so should be comfortable configuring their networking equipment and debugging any traversal issues on their own.

Required

  • 8000-10000 TCP/UDP - P2P protocols (gossip, turbine, repair, etc). This can be limited to any free 13 port range with --dynamic-port-range

Optional

For security purposes, it is not suggested that the following ports be open to the internet on staked, mainnet-beta validators.

  • 8899 TCP - JSONRPC over HTTP. Change with `--rpc-port RPC_PORT``
  • 8900 TCP - JSONRPC over Websockets. Derived. Uses RPC_PORT + 1

Here is where to order it

Here are the datacenters

Here is how much it costs