decred.org/dcrdex@v1.0.5/server/noderelay/README.md (about)

     1  # NodeRelay
     2  
     3  NodeRelay is a system for connecting to nodes on remote private machines.
     4  This is done through a WebSockets-based reverse tunnel.
     5  
     6  1. Run a full node on a home or otherwise private server. Coordinate credentials
     7  for RPC requests (`rcpuser`, `rpcpassword`) with the server operator.
     8  
     9  2. The server operator will expose the NodeRelay through an external IP address.
    10  
    11  1. The server operator generates a **relay ID**, which can be any string without
    12  whitespace. Each asset backend that will connect through NodeRelay will need its
    13  own **relay ID**.
    14  
    15  1. The server operator modifies the asset configuration to specify a relay ID
    16  for each asset for which a noderelay is needed.
    17  
    18  1. The server operator specifies a `noderelayaddr` in as part of the dcrdex
    19  configuration. This is the external address at which source nodes will contact
    20  the server.
    21  
    22  1. Upon starting, the server will generate and store a **relayfile** to a
    23  directory located by default at `~/.dcrdex/data/mainnet/noderelay/relay-files/`,
    24  with a file name of e.g. `btc_0405f1069d352a0f.relayfile`. Send this file to
    25  the private server. The **relayfile** is good until the relay ID is changed or
    26  a new TLS key-cert pair is generated.
    27  
    28  1. On the private server, run `sourcenode`, pointing at the relay file with
    29  `--relayfile` and setting the node RPC port with `--port`. Specify a TLS
    30  certificate for full node RPC with `--localcert`, if required.
    31      ```
    32      ./sourcenode --relayfile btc_0405f1069d352a0f.relayfile --port 8332
    33      ```