Suggesting that bitcoind be able to bind to multiple anonymous (and regular) networks at once. Inbound queries would reply out the same bind they were received on. Outbound initiates/broadcasts might be sent from all binds, or if impossible or out of context, to a specified one. Goal: Allow one daemon to service all networks [1] at once. [1] IPv4, IPv6, Tor, I2P, Phantom
Note it should always be made possible option to not bind to ‘*’ (all addresses), but only to ones supplied.
I’m not certain if -externalip can do this. -discover in doc/Tor.txt says: ‘If you want to run a dual stack, reachable from both Tor and IPv4 (or IPv6), you’ll need to either pass your other addresses using -externalip’ which implies maybe it can, but offers no syntax. Maybe it is a doc bug.
-externalip=foo.onion (or Tor’s OnionCat IPv6 /48) -externalip=bar.i2p (or I2P’s GarliCat IPv6 /48) -externalip=6addr (.phantom / interpreted from its IPv6 /48 prefix) -externalip=6addr -externalip=4addr
Also, since socks context via -proxy breaks down with more than one such anonymous net, there would also need to be: -tor=host:port (in Tor, in bitcoin) -i2p=host:port (in I2P, not in bitcoin) -phantom=host:port (not in Phantom, not in bitcoin) and maybe -proxyipv4=host:port -proxyipv6=host:port