@achingbrain/libp2p-noise
v5.0.0
Published
![npm](https://img.shields.io/npm/v/libp2p-noise) [![CI](https://github.com/ChainSafe/js-libp2p-noise/actions/workflows/ci.yml/badge.svg?branch=master&event=push)](https://github.com/ChainSafe/js-libp2p-noise/actions/workflows/ci.yml)
Downloads
17
Readme
js-libp2p-noise
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.
Contribute
Feel free to join in. All welcome. Open an issue!