Call for new DNS seed nodes, Mainnet and Testnet

One decent machine should be enough for a single DNS seed server that can run both Mainnet and Testnet. I rather avoid the costs of running additional machines.

I noticed inability to connect to last working seed node mainn-seed.grinnode.live from Germany, also I dont see last working IP (85.10.201.143:3414) here Grin Blockchain Explorer and one of IPs (217.173.235.116:3414) uses old Grin 5.0.4 node @mcm-mike .

grin seedcheck command returns this result for list above for now:

[
  {
    "url": "main.gri.mw",
    "dns_resolutions_found": true,
    "success": true,
    "successful_attempts": [
      {
        "ip_addr": "80.90.182.173:3414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.0",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | PIBD_HIST_1"
      }
    ],
    "unsuccessful_attempts": []
  },
  {
    "url": "grincoin.org",
    "dns_resolutions_found": true,
    "success": true,
    "successful_attempts": [
      {
        "ip_addr": "195.201.2.51:3414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.0",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | BLOCK_HIST | PIBD_HIST_1"
      }
    ],
    "unsuccessful_attempts": []
  },
  {
    "url": "mainnet.grinffindor.org",
    "dns_resolutions_found": true,
    "success": false,
    "successful_attempts": [],
    "unsuccessful_attempts": [
      {
        "ip_addr": "91.97.173.85:3414",
        "handshake_success": false,
        "user_agent": null,
        "capabilities": null
      }
    ]
  },
  {
    "url": "main-seed.grin.money",
    "dns_resolutions_found": true,
    "success": true,
    "successful_attempts": [
      {
        "ip_addr": "192.227.211.112:3414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.0",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | BLOCK_HIST | PIBD_HIST_1"
      },
      {
        "ip_addr": "64.69.36.59:3414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.0",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | BLOCK_HIST | PIBD_HIST_1"
      },
      {
        "ip_addr": "107.175.115.89:3414",
        "handshake_success": true,
        "user_agent": "MW/Grin 5.4.0",
        "capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | BLOCK_HIST | PIBD_HIST_1"
      }
    ],
    "unsuccessful_attempts": []
  },
  {
    "url": "mainnet-seed.grinnode.live",
    "dns_resolutions_found": true,
    "success": false,
    "successful_attempts": [],
    "unsuccessful_attempts": [
      {
        "ip_addr": "217.173.235.116:3414",
        "handshake_success": false,
        "user_agent": null,
        "capabilities": null
      },
      {
        "ip_addr": "213.239.217.14:3414",
        "handshake_success": false,
        "user_agent": null,
        "capabilities": null
      },
      {
        "ip_addr": "176.9.86.219:3414",
        "handshake_success": false,
        "user_agent": null,
        "capabilities": null
      },
      {
        "ip_addr": "85.10.201.143:3414",
        "handshake_success": false,
        "user_agent": null,
        "capabilities": null
      }
    ]
  }
]

to make initial sync work you need to edit ~/.grin/main/grin-server.toml and specify peers_preferred = ["main.gri.mw:3414", "grincoin.org:3414", "main-seed.grin.money:3414"] under [server.p2p_config] for now.

Will wait @stakerV and @wiesche to check their nodes and let’s make at PR to main repo.

1 Like

The Grinffindor DNS seed (main,test) is working and has been tested.

1 Like

Since there are very few seed nodes, could the foundation build its own nodes, for example, by establishing several super nodes globally, selecting well-known large cloud server operators, choosing high-bandwidth servers, and having the foundation be responsible for maintaining these super nodes?

Grin has no foundation, only some developers who is in favour to launch nodes to serve clients.

1 Like

Just wondering who you mean with “the foundation”? If you mean the Grin Governance Council (GGC), those are just a bunch of volunteers and regular community members. Grin is quite minimal, in practice even a DNS seed node only needs “reasonable specs and bandwidth”, see original post by Igno.

So best to keep things minimal and decentralized and let trusted community members volunteer their DNS seed nodes. @JasperKai We could use a few more of these seed nodes if you are willing to set on up?

On a side note, see how he recommend setting max_peers = 250, quite the optimist :face_with_tongue:

1 Like

Indeed, I noticed big slowdown of sync at server with low RAM amount (like 2GB), especially at PIBD step, also high load on disk at this case, even with disabled inbound peers.

@wiesche @hellogrin please share your contacts to fill the list for PR:

You can input support@grinily.com for grin.money

1 Like

support@grinffindor.org

1 Like
1 Like

Do not forget to add
mainnet.fountainoffairfortune.it
testnet.fountainoffairfortune.it

Contact is support@fountainoffairfortune.it

1 Like

Hey, please fix description at your website, peer_max_inbound_count must be replaced with peer_max_outbound_count.

1 Like

Sadly I could not connect to your seeds.

grin seedcheck command is showing an error:

Same for –testnet:

Make sure you opened 3414 and 13414 ports at firewall.

1 Like

I fixed the description on the website.
I see I have issues with grin being killed when my ssh connection is lost, since I use a VPN.
I will look for a way to run it in the background tomorrow.

You can use docker image from the Github repo, just create compose.yaml file with content like at screenshot:

Can be launched with docker compose up -d.

Then you can get statuses:
docker exec -it grin_main grin client status
docker exec -it grin_test grin --testnet client status

network_mode: host is necessary to run p2p server at container, otherwise your server will see every connected peer address as internal address of container (172.x.x.x). Ports 3414,13414 will be attached to all interfaces automatically, you can change or put configs at main, test dirs accordingly.

watchtower is needed to update containers automatically when new version of grin node will appear (building after every commit from master branch). Manually can be done with docker pull ghcr.io/mimblewimble/grin:latest, then docker compose down && docker compose up -d.

In the future I will add node deployment to the server with ssh key from the GUI. We can even change node config remotely from the API like @wiesche suggested.

1 Like

Few updates from my side, I created new page Grin Ecosystem Status — DNS Seeds, Services & Community to monitor the status of ecosystem of active grin progress right now, it’s for everyone to have the global view what’s going on in grin and future. @Anynomous I reserved two slots for dnsseed of grin.mw, I think it would be nice to have grin.mw in the pool of dnsseed, and I can pay for vps, someone just point A records to mine.

2 Likes

Nice overview page :+1:.
Thank you for the offer of a VPS. However, we should avoid having more than one DNS seed node in control of a single user.

Yeah, it makes sense, anyways, I hope the main domain of grin project would have DNSSeed.

I have both mainnet and testnet DNS seeding running stable as system service in the back @ardocrat.
What I do not understand is that I get a “no suitable outbound peer for header sync, considering inbound” in my logs for Testnet. The only possible explanation I could think of is the Testnet miner being down. Can anyone else check if they get a similar error for their testnet node?

I set the listed Mainnet and Testnet DNS seeders as preferred peers.
Ports are open (3414 and 13414) as can be verified :

nmap -Pn -p 13414 testnet.fountainoffairfortune.it
nmap -Pn -p 3414 mainnet.fountainoffairfortune.it