Have ideas to improve npm?Join in the discussion! »

    noise-network

    1.1.2 • Public • Published

    noise-network

    Authenticated network P2P backed by HyperSwarm and NOISE

    Usage

    First spin up a server

    const noise = require('noise-network')
     
    const server = noise.createServer()
     
    server.on('connection', function (encryptedStream) {
      console.log('new encrypted stream!')
     
      // encryptedStream is a noise-peer stream instance
      encryptedStream.on('data', function (data) {
        console.log('client wrote:', data)
      })
    })
     
    const keyPair = noise.keygen()
     
    // Announce ourself to the HyperSwarm DHT on the following keyPair's publicKey
    server.listen(keyPair, function () {
      console.log('Server is listening on:', server.publicKey.toString('hex'))
    })

    Then connect to the server by connecting to the public key

    // noise guarantees that we connect to the server in a E2E encrypted stream
    const client = noise.connect('{public key from above}')
     
    // client is a noise-peer stream instance
    client.write('hello server')

    API

    const server = noise.createServer([options])

    Create a new NOISE server.

    Options include:

    {
      // validate the remote client's public key before allowing them to connect
      validate (remoteKey, done) { ... },
      // you can add the onconnection handler here also
      onconnection (connection) { ... }
    }

    const client = noise.connect(serverPublicKey, [keyPair])

    Connect to a server. Does UDP hole punching if necessary. serverPublicKey must be of type Buffer or hex.

    License

    MIT

    Install

    npm i noise-network

    DownloadsWeekly Downloads

    4

    Version

    1.1.2

    License

    MIT

    Unpacked Size

    12.6 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar
    • avatar