watcher-ts/packages/cli/README.md
prathamesh0 9d38306fe9
Federated relay nodes and limiting connections (#296)
* Pass relay node an optional list of relay peers to connect to

* Catch protocol selection failure on dialling to new relay nodes

* Restrict max number of connections for a peer

* Tag the relay node with a high value to avoid disconnects

* Use debug for connect/disconnect logs in relay nodes

* Ignore incomplete multiaddr on a peer discovery

* Increase max connections for a peer to 10

* Refactor and descriptive comments
2023-01-19 11:35:09 +05:30

1.4 KiB

cli

chat

A basic CLI to pass messages between peers using stdin/stdout

  • Install dependencies:

    yarn install
    
  • Build the peer package:

    cd packages/peer
    yarn build
    
  • (Optional) Run a local signalling server:

    # In packages/peer
    yarn signal-server
    
  • (Optional) Create and export a peer id for the relay node:

    # In packages/peer
    yarn create-peer --file [PEER_ID_FILE_PATH]
    
    • file (f): file path to export the peer id to (json) (default: logs to console)
  • (Optional) Run a local relay node:

    # In packages/peer
    yarn relay-node --signal-server [SIGNAL_SERVER_URL] --peer-id-file [PEER_ID_FILE_PATH] --relay-peers [RELAY_PEERS_FILE_PATH]
    
    • signal-server: multiaddr of a signalling server (default: local signalling server multiaddr)
    • peer-id-file: file path for peer id to be used (json)
    • relay-peers: file path for relay peer multiaddr(s) to dial on startup (json)
  • Start the node:

    # In packages/cli
    yarn chat --signal-server [SIGNAL_SERVER_URL] --relay-node [RELAY_NODE_URL]
    
    • signal-server: multiaddr of a signalling server (default: local signalling server multiaddr)
    • relay-node: multiaddr of a primary hop enabled relay node
  • The process starts reading from stdin and outputs messages from others peers to stdout.