How to use the network.NetUniqueId function in network

To help you get started, we’ve selected a few network examples, based on popular ways it is used in public projects.

github samuelmaddock / metastream / packages / metastream-app / src / platform / web / rtc-coordinator.ts View on Github external
private async authenticatePeer(peer: SimplePeer.Instance, peerId?: string) {
    const peerPublicKey = peerId ? sodium.from_hex(peerId) : undefined
    const userPublicKey = await mutualHandshake(peer, localUser().id, peerPublicKey)

    if (!userPublicKey) {
      const addr = `${(peer as any).remoteAddress}:${(peer as any).remotePort}`
      peer.destroy()
      throw new NetworkError(
        NetworkErrorCode.PeerAuthenticationFailure,
        `Failed to authenticate with peer [${addr}]`
      )
    }

    const userId = sodium.to_hex(userPublicKey)
    const netId = new NetUniqueId(userPublicKey)
    const conn = new RTCPeerConn(netId, peer)

    console.debug(`Authenticated peer ${userId}`, conn)
    this.emit('connection', conn)
  }
}
github samuelmaddock / metastream / packages / metastream-app / src / platform / web / index.ts View on Github external
this.ready = initIdentity().then(keyPair => {
      this.id = new NetUniqueId(keyPair.publicKey, keyPair.privateKey)
    })
  }