Socket
Book a DemoInstallSign in
Socket

noise-network

Package Overview
Dependencies
Maintainers
2
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

noise-network

Authenticated P2P network backed by HyperSwarm and NOISE

latest
Source
npmnpm
Version
1.1.2
Version published
Maintainers
2
Created
Source

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

Keywords

noise

FAQs

Package last updated on 14 Jun 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts