diff options
| author | Bitflash-sh <btf01@proton.me> | 2026-07-24 14:46:49 -0300 |
|---|---|---|
| committer | Bitflash-sh <btf01@proton.me> | 2026-07-24 14:46:49 -0300 |
| commit | e2bc68de1af27d3459878f43c40061d0c30d09d7 (patch) | |
| tree | 40bffb13573ff9fe4a3c114883d10f533aa7e803 /src/headless.cpp | |
| parent | 2b10d4a64fd17ad6320055935d76ab6beca3b9b3 (diff) | |
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.
Diffstat (limited to 'src/headless.cpp')
| -rw-r--r-- | src/headless.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
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[]) | |||
| 80 | " -datadir=<dir> data directory (default ~/.bitflash)\n" | 80 | " -datadir=<dir> data directory (default ~/.bitflash)\n" |
| 81 | " -port=<n> P2P listen port (default 8433)\n" | 81 | " -port=<n> P2P listen port (default 8433)\n" |
| 82 | " -rvrelay=host:port rendezvous meeting relay (has a seed default)\n" | 82 | " -rvrelay=host:port rendezvous meeting relay (has a seed default)\n" |
| 83 | " -announcerelay=h:p announce a relay you run so nodes discover it\n" | ||
| 83 | " -connectbtf=<a>.btf keep a connection to a specific .btf peer\n" | 84 | " -connectbtf=<a>.btf keep a connection to a specific .btf peer\n" |
| 84 | " -solomine mine without waiting for a peer (testing)\n" | 85 | " -solomine mine without waiting for a peer (testing)\n" |
| 85 | " -debug verbose logging\n", | 86 | " -debug verbose logging\n", |
| @@ -96,6 +97,8 @@ int main(int argc, char* argv[]) | |||
| 96 | addrProxy = CAddress(mapArgs["/proxy"].c_str()); | 97 | addrProxy = CAddress(mapArgs["/proxy"].c_str()); |
| 97 | if (mapArgs.count("/rvrelay")) | 98 | if (mapArgs.count("/rvrelay")) |
| 98 | vBtfMeetingRelays = { mapArgs["/rvrelay"] }; | 99 | vBtfMeetingRelays = { mapArgs["/rvrelay"] }; |
| 100 | if (mapArgs.count("/announcerelay")) | ||
| 101 | strBtfAnnounceRelay = mapArgs["/announcerelay"]; | ||
| 99 | if (mapArgs.count("/connectbtf")) | 102 | if (mapArgs.count("/connectbtf")) |
| 100 | strBtfConnect = mapArgs["/connectbtf"]; | 103 | strBtfConnect = mapArgs["/connectbtf"]; |
| 101 | if (mapArgs.count("/debug")) | 104 | if (mapArgs.count("/debug")) |