Noise libp2p handshake for js-libp2p
npm install @chainsafe/libp2p-noise!npm










> Noise libp2p handshake for js-libp2p
This repository contains TypeScript implementation of noise protocol, an encryption protocol used in libp2p.
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:
``ts
import {createLibp2p} from "libp2p"
import {noise} from "@chainsafe/libp2p-noise"
//custom noise configuration, pass it instead of noise()
//x25519 private key
const n = noise({ staticNoiseKey });
const libp2p = await createLibp2p({
connectionEncrypters: [noise()],
//... other options
})
`
See the NoiseInit interface for noise configuration options.
This module exposes an implementation of the ConnectionEncrypter interface.
You can provide a custom crypto implementation (instead of the default, based on @noble) by adding a crypto field to the init argument passed to the Noise factory.
The implementation must conform to the ICryptoInterface, defined in
`console`
$ npm i @chainsafe/libp2p-noise
-
Licensed under either of
- Apache 2.0, (LICENSE-APACHE /
- MIT (LICENSE-MIT /
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.