Seeders

A seed node is a validator with a stable public IP or DNS name. Seeds are the first contact point for new nodes and SDK clients joining the mesh. When the SDK calls Client.connect(), it loads seeds.json to find its first validator to bootstrap into the network.

What seeders do

Requirements

How to become a seeder

Step 1: Find your peer ID

Your peer ID is logged when your validator starts:

[INFO] peer_id=12D3KooW...

You can also find it in ~/.arknet/ or via curl http://localhost:26657/v1/status.

Step 2: Build your multiaddr

Combine your public IP (or DNS name) with the P2P port and peer ID:

# Static IP
/ip4/203.0.113.50/tcp/26656/p2p/12D3KooWFKNZj7VaophcMVbA7QCRexAm7tg9dnADSJ8SxW4sLE1f

# DNS name
/dns4/seed.mynode.com/tcp/26656/p2p/12D3KooWFKNZj7VaophcMVbA7QCRexAm7tg9dnADSJ8SxW4sLE1f

Step 3: Submit a PR

Add your entry to docs-site/seeds.json:

{
  "version": 2,
  "chain_id": "arknet-1",
  "seeds": [
    {
      "multiaddr": "/dns4/arknet.arkengel.com/udp/26656/quic-v1/p2p/12D3KooWFKNZj7VaophcMVbA7QCRexAm7tg9dnADSJ8SxW4sLE1f",
      "operator": "st-hannibal"
    },
    {
      "multiaddr": "/ip4/203.0.113.50/tcp/26656/p2p/YOUR_PEER_ID",
      "operator": "your-github-username"
    }
  ]
}

Step 4: PR review

Your PR will be reviewed and merged once verified. The entry format is:

FieldDescription
multiaddrYour full libp2p multiaddr including peer ID
operatorYour name or GitHub username (for contact)

Hardcoded fallback: The SDK binary has a hardcoded copy of seeds.json compiled at build time. Once your seed is merged and a new SDK version is released, your node becomes a fallback bootstrap point even if arknet.arkengel.com is unreachable.

Current seeds

The live seed list is always at arknet.arkengel.com/seeds.json.