1. 18 Feb, 2017 1 commit
    • Neil Booth's avatar
      Implement peer discovery protocol · 151da40d
      Neil Booth authored
      Closes #104
      
      DEFAULT_PORTS now a coin property
      A Peer object maintains peer information
      Revamp LocalRPC "peers" call to show a lot more information
      Have lib/jsonrpc.py take care of handling request timeouts
      Save and restore peers to a file
      Loosen JSON RPC rules so we work with electrum-server and beancurd which don't follow the spec.
      Handle incoming server.add_peer requests
      Send server.add_peer registrations if peer doesn't have us or correct ports
      Verify peers at regular intervals, forget stale peers, verify new peers or those with updated ports
      If connecting via one port fails, try the other
      Add socks.py for SOCKS4 and SOCKS5 proxying, so Tor servers can now be reached by TCP and SSL
      Put full licence boilerplate in lib/ files
      Disable IRC advertising on testnet
      Serve a Tor banner file if it seems like a connection came from your tor proxy (see ENVIONMENT.rst)
      Retry tor proxy hourly, and peers that are about to turn stale
      Report more onion peers to a connection that seems to be combing from your tor proxy
      Only report good peers to server.peers.subscribe; always report self if valid
      Handle peers on the wrong network robustly
      Default to 127.0.0.1 rather than localhost for Python <= 3.5.2 compatibility
      Put peer name in logs of connections to it
      Update docs
      151da40d
  2. 06 Nov, 2016 1 commit
  3. 08 Oct, 2016 1 commit