I guess you should use build from master branch or docker compose file as described above, new seeds are already here: p2p: update seed list (#3828) · mimblewimble/grin@db2923a · GitHub
I am running the latest stable release. After seeing this discussion and post I realized I also needed to update my testnet DNS seed nodes since 5.4.0 did not have those updated. Looking forward to 5.5 @ardocrat ![]()
All is working fine now, so both Mainnet and Testnet seed can be added to the list
mainnet.fountainoffairfortune.it
testnet.fountainoffairfortune.it
Contact is support@fountainoffairfortune.it
New seed nodes for mainnet and testnet!
I’ve published a docker compose file for anyone who wants to run their own:
- Builds mainnet and testnet nodes from source
- Pre-defined configuration (easy to adapt)
- Automatic TLS renewal and reverse proxy via Caddy
- Two lines to edit, one command to run
| Setting | Mainnet | Testnet |
|---|---|---|
| P2P address | https://mainnet.grin-coffee.com |
https://testnet.grin-coffee.com |
| API address | https://mainnet.grin-coffee.com |
https://testnet.grin-coffee.com |
| Foreign API auth | Disabled | Disabled |
| Owner API auth | Enabled | Enabled |
Contact: grin-coffee@proton.me
forgot to post here, these are my DNS seed nodes: main.seed.grin.raubritter.org and test.seed.grin.raubritter.org
using this program i made in dynamic mode since i couldn’t get the GitHub - mimblewimble/seeder: DNS seed server for Grin · GitHub working for various reasons. i don’t know if there are any other program you guys are using.
also mainnet and testnet nodes, https://main.grin.raubritter.org and https://test.grin.raubritter.org are available.
contact email would be er@raubritter.org, even though it is not set up yet
I just added ipv4 support.
Could you provide me a link to the seed checker ?
Thanks
The seedchecker is part of the Grin node app. I extended it with the following PR. Please note that if you already have nodes running on the same IP where you execute the seedchecker, the handshake may fail.
Mainnet:
[
{
"url": "mainnet.grin-coffee.com",
"dns_resolutions_found": true,
"success": true,
"successful_attempts": [
{
"ip_addr": "51.79.54.217:3414",
"handshake_success": true,
"user_agent": "MW/Grin 5.4.1",
"capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | PIBD_HIST_1",
"error": null
}
],
"unsuccessful_attempts": []
}
]
Testnet:
[
{
"url": "testnet.grin-coffee.com",
"dns_resolutions_found": true,
"success": true,
"successful_attempts": [
{
"ip_addr": "51.79.54.217:13414",
"handshake_success": true,
"user_agent": "MW/Grin 5.4.1",
"capabilities": "HEADER_HIST | TXHASHSET_HIST | PEER_LIST | TX_KERNEL_HASH | PIBD_HIST | PIBD_HIST_1",
"error": null
}
],
"unsuccessful_attempts": []
}
]
Thanks!
Is there any reason Ipv6 would block handshake?
Edit: I did not map Ipv6 in docker compose
It’s more of a configuration issue (port forwarding, Docker setup, etc.). IPv6 already works with some seeders. You can test it with grin-seedcheck without specifying --seed. In that case, the tool will use the known seeders defined in the source code.
You have an issue with p2p at compose file, forwarding is not keeping source IP, so need to change network mode:
I do get the right IP from peers (masked on purpose).
{
"addr": "2*.9*.2**.2*:3414",
"capabilities": {
"bits": 95
},
"direction": "Outbound",
"height": 3888222,
"total_difficulty": 2354615815180216,
"user_agent": "MW/Grin 5.4.0",
"version": 1000
},
{
"addr": "[::ffff:1**.2**.9*.2**]:3414",
"capabilities": {
"bits": 95
},
"direction": "Inbound",
"height": 3888222,
"total_difficulty": 2354615815180216,
"user_agent": "MW/Grin 5.4.0",
"version": 1000
},
I added the IPv6 compatibility in config file with the host set to :: but it looks like it still block IPv6 from handshake mine and main-seed.grin.money as well.
main-seed.grin.money
[2607:f130:e080:2::13a3:fdf0]:3414 NetworkUnreachable
[2607:f130:0:13d::e6bb:aae1]:3414 NetworkUnreachable
[2607:f130:0:140::32a:abaa]:3414 NetworkUnreachable
mainnet.grin-coffee.com (mine)
[2607:5300:229:17::1]:3414 NetworkUnreachable
Not sure if it’s appropriate to say but being in dnsseed pool, I hope participators should have self-commitment to keep your own node alive/stable in next 4-5 years, the core developers won’t have to remove/update dead nodes too often.
I unfortunately don’t get any response on mainnet. It looks like the DNS name isn’t being resolved.
[
{
"url": "main.seed.grin.raubritter.org",
"dns_resolutions_found": false,
"success": false,
"successful_attempts": [],
"unsuccessful_attempts": []
}
]
Testnet resolution works. It looks like the seeder returns a list of known testnet peers. Is your own node included in that list as well?
Your domain looks good now for both mainnet and testnet on IPv4 and IPv6.
fountainoffairfortune.it works on mainnet, but on testnet the DNS resolves correctly and I get a Connection Refused error.
I checked. Indeed the node is not running and its data is corrupted, restarting it does not work meaning I have to do a full resync.
This is the last I could find in my log:
3: std::sys::backtrace::__rust_end_short_backtrace
4: __rustc::rust_begin_unwind
5: core::panicking::panic_fmt
6: core::result::unwrap_failed
7: grin::cmd::server::start_server_tui
8: grin::cmd::server::server_command
9: grin::real_main10: grin::main
11: std::sys::backtrace::__rust_begin_short_backtrace
12: std::rt::lang_start::{{closure}}
13: std::rt::lang_start_internal
14: main
15:
16: __libc_start_main
17: _start
Thread ‘main’ panicked with message:
“calledResult::unwrap()on anErrvalue: Chain(Other(“failed to find head hash”))”
Update: Both main and testnet DNS servers are online again (testnet after a resync), the archive snapshot has been updated.
Thank you for your feedback. Which node version were you running?
found issues about my DNS seeder fallbacking to TCP after about 24 records, fixed it by adding a cap. now my DNS seed servers work fine, and they provide 24 records of the online nodes they currently know of, using get_connected_peers.
so my DNS seed servers don’t only provide a few hardcoded nodes but up to 24 nodes they see online in Grin P2P network. that means as long as my server is up, it will always provide fresh info without manual updates.



