From e2bc68de1af27d3459878f43c40061d0c30d09d7 Mon Sep 17 00:00:00 2001 From: Bitflash-sh Date: Fri, 24 Jul 2026 14:46:49 -0300 Subject: Automatic relay discovery over Nostr + call-to-action Relay operators announce their relay with -announcerelay=host:port; every node discovers announced relays (kind 38502) and adds them to its failover list, so volunteer relays join with no maintainer edit or approval. Anti-spam cap + validation; relays are trustless (echan makes a bad relay unable to read/MITM). README: automatic relay-volunteer guide, 'don't let the network die' section. --- src/headless.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/headless.cpp') diff --git a/src/headless.cpp b/src/headless.cpp index 646476f..cdb8ac9 100644 --- a/src/headless.cpp +++ b/src/headless.cpp @@ -80,6 +80,7 @@ int main(int argc, char* argv[]) " -datadir= data directory (default ~/.bitflash)\n" " -port= P2P listen port (default 8433)\n" " -rvrelay=host:port rendezvous meeting relay (has a seed default)\n" + " -announcerelay=h:p announce a relay you run so nodes discover it\n" " -connectbtf=.btf keep a connection to a specific .btf peer\n" " -solomine mine without waiting for a peer (testing)\n" " -debug verbose logging\n", @@ -96,6 +97,8 @@ int main(int argc, char* argv[]) addrProxy = CAddress(mapArgs["/proxy"].c_str()); if (mapArgs.count("/rvrelay")) vBtfMeetingRelays = { mapArgs["/rvrelay"] }; + if (mapArgs.count("/announcerelay")) + strBtfAnnounceRelay = mapArgs["/announcerelay"]; if (mapArgs.count("/connectbtf")) strBtfConnect = mapArgs["/connectbtf"]; if (mapArgs.count("/debug")) -- cgit v1.2.3