Skip to content
libp2p-noise / 6.0.0

libp2p-noise 6.0.0

Install from the command line:
Learn more about npm packages
$ npm install @web3-storage/libp2p-noise@6.0.0
Install via package.json:
"@web3-storage/libp2p-noise": "6.0.0"

About this version

js-libp2p-noise

npm CI

Discourse posts

Noise libp2p handshake for js-libp2p

This repository contains TypeScript implementation of noise protocol, an encryption protocol used in libp2p.

Warning: Even though this package works in browser, it will bundle around 600Kb (200Kb gzipped) of code

https://bundlephobia.com/result?p=@chainsafe/libp2p-noise@latest

Usage

Install with yarn add @chainsafe/libp2p-noise or npm i @chainsafe/libp2p-noise.

Example of using default noise configuration and passing it to the libp2p config:

import {NOISE, Noise} from "@chainsafe/libp2p-noise"


//custom noise configuration, pass it instead of NOISE instance
const noise = new Noise(privateKey, Buffer.alloc(x));

const libp2p = new Libp2p({
   modules: {
     connEncryption: [NOISE],
   },
});

Where parameters for Noise constructor are:

  • static Noise key - (optional) existing private Noise static key
  • early data - (optional) an early data payload to be sent in handshake messages

API

This module exposes a crypto interface, as defined in the repository js-interfaces.

» API Docs

Bring your own crypto

You can provide a custom crypto implementation (instead of the default, based on stablelib) by passing a third argument to the Noise constructor.

The implementation must conform to the ICryptoInterface, defined in https://github.com/ChainSafe/js-libp2p-noise/blob/master/src/crypto.ts

Contribute

Feel free to join in. All welcome. Open an issue!

License

MIT

Details


Assets

  • libp2p-noise-6.0.0-npm.tgz

Download activity

  • Total downloads 540
  • Last 30 days 0
  • Last week 0
  • Today 0

Recent versions

View all