diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 24aaf1e2f..12ffc5402 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -191,14 +191,18 @@ public: // path that worked was the node1..node5.dragonx.is -addnode injection in // hush_utils.h, which is almost certainly why that injection exists. // - // These are single-A-record hosts, so each contributes one address rather than - // the spread a real seeder returns. That is still strictly better than nothing; - // a dedicated seeder (or a round-robin A record over the seed set) would be the - // proper fix and needs only a DNS change, not a release. + // seed.dragonx.is is a round-robin A record over the seed set, so ONE lookup + // returns all of them and the set can be changed -- a node added, a node retired + // -- with a DNS edit instead of a release. That is the point of it: the previous + // arrangement hardcoded the seed list into the binary twice over (here and in the + // -addnode injection in hush_utils.h), so the network's entry points could only + // change by shipping a new version. + // + // node1/node5 stay as static fallbacks in case the round-robin record is ever + // mistyped or removed. They are the same hosts, so this is insurance against a + // DNS mistake rather than genuine redundancy. + vSeeds.push_back(CDNSSeedData("seed", "seed.dragonx.is")); vSeeds.push_back(CDNSSeedData("node1", "node1.dragonx.is")); - vSeeds.push_back(CDNSSeedData("node2", "node2.dragonx.is")); - vSeeds.push_back(CDNSSeedData("node3", "node3.dragonx.is")); - vSeeds.push_back(CDNSSeedData("node4", "node4.dragonx.is")); vSeeds.push_back(CDNSSeedData("node5", "node5.dragonx.is")); base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,60);