mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-07-12 15:21:38 +00:00
Compare commits
27 Commits
v0.32.2
...
chore/use-
Author | SHA1 | Date | |
---|---|---|---|
7781075a7a | |||
01a8b8da9b | |||
77d7cb8f08 | |||
a335fda852 | |||
43e3af0c12 | |||
2c9c3cf6d5 | |||
4d6587539c | |||
83734ef520 | |||
1c2e4d89ac | |||
c635b08d2f | |||
3aedf55115 | |||
ede653cad9 | |||
2ab811d708 | |||
122c89dd0d | |||
97107c4ef7 | |||
d3f78edffe | |||
f8e3cf10b0 | |||
f342c1ff50 | |||
fe63990a16 | |||
e82b6e414b | |||
1d62ead8e5 | |||
3d25ff7fd0 | |||
0f389a7828 | |||
9f0582f372 | |||
266f2c3c86 | |||
7783edb059 | |||
ba2b4d4b28 |
@ -7,7 +7,7 @@ const Peers = require('./test/fixtures/peers')
|
|||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const WebSockets = require('libp2p-websockets')
|
const WebSockets = require('libp2p-websockets')
|
||||||
const Muxer = require('libp2p-mplex')
|
const Muxer = require('libp2p-mplex')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
let libp2p
|
let libp2p
|
||||||
|
|
||||||
|
8
.github/dependabot.yml
vendored
Normal file
8
.github/dependabot.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: npm
|
||||||
|
directory: "/"
|
||||||
|
schedule:
|
||||||
|
interval: daily
|
||||||
|
time: "11:00"
|
||||||
|
open-pull-requests-limit: 10
|
24
.github/workflows/examples.yml
vendored
24
.github/workflows/examples.yml
vendored
@ -22,81 +22,81 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- auto-relay
|
- run: cd examples && npm install && npm run test -- auto-relay
|
||||||
test-chat-example:
|
test-chat-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- chat
|
- run: cd examples && npm install && npm run test -- chat
|
||||||
test-connection-encryption-example:
|
test-connection-encryption-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- connection-encryption
|
- run: cd examples && npm install && npm run test -- connection-encryption
|
||||||
test-discovery-mechanisms-example:
|
test-discovery-mechanisms-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- discovery-mechanisms
|
- run: cd examples && npm install && npm run test -- discovery-mechanisms
|
||||||
test-echo-example:
|
test-echo-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- echo
|
- run: cd examples && npm install && npm run test -- echo
|
||||||
test-libp2p-in-the-browser-example:
|
test-libp2p-in-the-browser-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- libp2p-in-the-browser
|
- run: cd examples && npm install && npm run test -- libp2p-in-the-browser
|
||||||
test-peer-and-content-routing-example:
|
test-peer-and-content-routing-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- peer-and-content-routing
|
- run: cd examples && npm install && npm run test -- peer-and-content-routing
|
||||||
test-pnet-example:
|
test-pnet-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- pnet
|
- run: cd examples && npm install && npm run test -- pnet
|
||||||
test-protocol-and-stream-muxing-example:
|
test-protocol-and-stream-muxing-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- protocol-and-stream-muxing
|
- run: cd examples && npm install && npm run test -- protocol-and-stream-muxing
|
||||||
test-pubsub-example:
|
test-pubsub-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- pubsub
|
- run: cd examples && npm install && npm run test -- pubsub
|
||||||
test-transports-example:
|
test-transports-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- transports
|
- run: cd examples && npm install && npm run test -- transports
|
||||||
test-webrtc-direct-example:
|
test-webrtc-direct-example:
|
||||||
needs: check
|
needs: check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd examples && yarn && npm run test -- webrtc-direct
|
- run: cd examples && npm install && npm run test -- webrtc-direct
|
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@ -20,7 +20,7 @@ jobs:
|
|||||||
- uses: gozala/typescript-error-reporter-action@v1.0.8
|
- uses: gozala/typescript-error-reporter-action@v1.0.8
|
||||||
- run: npx aegir build
|
- run: npx aegir build
|
||||||
- run: npx aegir dep-check
|
- run: npx aegir dep-check
|
||||||
- uses: ipfs/aegir/actions/bundle-size@master
|
- uses: ipfs/aegir/actions/bundle-size@v32.1.0
|
||||||
name: size
|
name: size
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@ -67,4 +67,4 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- run: npm install
|
- run: npm install
|
||||||
- run: cd node_modules/interop-libp2p && yarn && LIBP2P_JS=${GITHUB_WORKSPACE}/src/index.js npx aegir test -t node --bail
|
- run: cd node_modules/interop-libp2p && yarn && LIBP2P_JS=${GITHUB_WORKSPACE}/src/index.js npx aegir test -t node --bail -- --exit
|
||||||
|
36
CHANGELOG.md
36
CHANGELOG.md
@ -1,3 +1,39 @@
|
|||||||
|
# [0.33.0](https://github.com/libp2p/js-libp2p/compare/v0.32.5...v0.33.0) (2021-09-24)
|
||||||
|
|
||||||
|
|
||||||
|
### chore
|
||||||
|
|
||||||
|
* update datastore ([#990](https://github.com/libp2p/js-libp2p/issues/990)) ([83734ef](https://github.com/libp2p/js-libp2p/commit/83734ef52061ad61ddb5ca49aae27e3a8b937058))
|
||||||
|
|
||||||
|
|
||||||
|
### BREAKING CHANGES
|
||||||
|
|
||||||
|
* datastore implementations provided to libp2p must be compliant with interface-datastore@6.0.0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [0.32.5](https://github.com/libp2p/js-libp2p/compare/v0.32.4...v0.32.5) (2021-09-21)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* move abortable-iterator to dependencies ([#992](https://github.com/libp2p/js-libp2p/issues/992)) ([122c89d](https://github.com/libp2p/js-libp2p/commit/122c89dd0df55a59edaae078e3dc7c31b5603715)), closes [#986](https://github.com/libp2p/js-libp2p/issues/986)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [0.32.4](https://github.com/libp2p/js-libp2p/compare/v0.32.3...v0.32.4) (2021-08-20)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## [0.32.3](https://github.com/libp2p/js-libp2p/compare/v0.32.2...v0.32.3) (2021-08-16)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* uint8arrays is a dep ([#964](https://github.com/libp2p/js-libp2p/issues/964)) ([ba2b4d4](https://github.com/libp2p/js-libp2p/commit/ba2b4d4b28f1d9940b457de344aed44537f9eabd))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [0.32.2](https://github.com/libp2p/js-libp2p/compare/v0.32.1...v0.32.2) (2021-08-13)
|
## [0.32.2](https://github.com/libp2p/js-libp2p/compare/v0.32.1...v0.32.2) (2021-08-13)
|
||||||
|
|
||||||
|
|
||||||
|
@ -163,9 +163,9 @@ List of packages currently in existence for libp2p
|
|||||||
| [`libp2p-kad-dht`](//github.com/libp2p/js-libp2p-kad-dht) | [](//github.com/libp2p/js-libp2p-kad-dht/releases) | [](https://david-dm.org/libp2p/js-libp2p-kad-dht) | [](https://travis-ci.com/libp2p/js-libp2p-kad-dht) | [](https://codecov.io/gh/libp2p/js-libp2p-kad-dht) | [Vasco Santos](mailto:vasco.santos@moxy.studio) |
|
| [`libp2p-kad-dht`](//github.com/libp2p/js-libp2p-kad-dht) | [](//github.com/libp2p/js-libp2p-kad-dht/releases) | [](https://david-dm.org/libp2p/js-libp2p-kad-dht) | [](https://travis-ci.com/libp2p/js-libp2p-kad-dht) | [](https://codecov.io/gh/libp2p/js-libp2p-kad-dht) | [Vasco Santos](mailto:vasco.santos@moxy.studio) |
|
||||||
| **utilities** |
|
| **utilities** |
|
||||||
| [`libp2p-crypto`](//github.com/libp2p/js-libp2p-crypto) | [](//github.com/libp2p/js-libp2p-crypto/releases) | [](https://david-dm.org/libp2p/js-libp2p-crypto) | [](https://travis-ci.com/libp2p/js-libp2p-crypto) | [](https://codecov.io/gh/libp2p/js-libp2p-crypto) | [Jacob Heun](mailto:jacobheun@gmail.com) |
|
| [`libp2p-crypto`](//github.com/libp2p/js-libp2p-crypto) | [](//github.com/libp2p/js-libp2p-crypto/releases) | [](https://david-dm.org/libp2p/js-libp2p-crypto) | [](https://travis-ci.com/libp2p/js-libp2p-crypto) | [](https://codecov.io/gh/libp2p/js-libp2p-crypto) | [Jacob Heun](mailto:jacobheun@gmail.com) |
|
||||||
| [`libp2p-crypto-secp256k1`](//github.com/libp2p/js-libp2p-crypto-secp256k1) | [](//github.com/libp2p/js-libp2p-crypto-secp256k1/releases) | [](https://david-dm.org/libp2p/js-libp2p-crypto-secp256k1) | [](https://travis-ci.com/libp2p/js-libp2p-crypto-secp256k1) | [](https://codecov.io/gh/libp2p/js-libp2p-crypto-secp256k1) | [Friedel Ziegelmayer](mailto:dignifiedquire@gmail.com) |
|
|
||||||
| **data types** |
|
| **data types** |
|
||||||
| [`peer-id`](//github.com/libp2p/js-peer-id) | [](//github.com/libp2p/js-peer-id/releases) | [](https://david-dm.org/libp2p/js-peer-id) | [](https://travis-ci.com/libp2p/js-peer-id) | [](https://codecov.io/gh/libp2p/js-peer-id) | [Vasco Santos](mailto:santos.vasco10@gmail.com) |
|
| [`peer-id`](//github.com/libp2p/js-peer-id) | [](//github.com/libp2p/js-peer-id/releases) | [](https://david-dm.org/libp2p/js-peer-id) | [](https://travis-ci.com/libp2p/js-peer-id) | [](https://codecov.io/gh/libp2p/js-peer-id) | [Vasco Santos](mailto:santos.vasco10@gmail.com) |
|
||||||
|
| [`libp2p-record`](//github.com/libp2p/js-libp2p-record) | [](//github.com/libp2p/js-libp2p-record/releases) | [](https://david-dm.org/libp2p/js-libp2p-record) | [](https://travis-ci.com/libp2p/js-libp2p-record) | [](https://codecov.io/gh/libp2p/js-libp2p-record) | [Jacob Heun](mailto:santos.vasco10@gmail.com) |
|
||||||
| **pubsub** |
|
| **pubsub** |
|
||||||
| [`libp2p-floodsub`](//github.com/libp2p/js-libp2p-floodsub) | [](//github.com/libp2p/js-libp2p-floodsub/releases) | [](https://david-dm.org/libp2p/js-libp2p-floodsub) | [](https://travis-ci.com/libp2p/js-libp2p-floodsub) | [](https://codecov.io/gh/libp2p/js-libp2p-floodsub) | [Vasco Santos](mailto:vasco.santos@moxy.studio) |
|
| [`libp2p-floodsub`](//github.com/libp2p/js-libp2p-floodsub) | [](//github.com/libp2p/js-libp2p-floodsub/releases) | [](https://david-dm.org/libp2p/js-libp2p-floodsub) | [](https://travis-ci.com/libp2p/js-libp2p-floodsub) | [](https://codecov.io/gh/libp2p/js-libp2p-floodsub) | [Vasco Santos](mailto:vasco.santos@moxy.studio) |
|
||||||
| [`libp2p-gossipsub`](//github.com/ChainSafe/js-libp2p-gossipsub) | [](//github.com/ChainSafe/js-libp2p-gossipsub/releases) | [](https://david-dm.org/ChainSafe/js-libp2p-gossipsub) | [](https://travis-ci.com/ChainSafe/js-libp2p-gossipsub) | [](https://codecov.io/gh/ChainSafe/js-libp2p-gossipsub) | [Cayman Nava](mailto:caymannava@gmail.com) |
|
| [`libp2p-gossipsub`](//github.com/ChainSafe/js-libp2p-gossipsub) | [](//github.com/ChainSafe/js-libp2p-gossipsub/releases) | [](https://david-dm.org/ChainSafe/js-libp2p-gossipsub) | [](https://travis-ci.com/ChainSafe/js-libp2p-gossipsub) | [](https://codecov.io/gh/ChainSafe/js-libp2p-gossipsub) | [Cayman Nava](mailto:caymannava@gmail.com) |
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Configuration
|
#
|
||||||
|
|
||||||
- [Configuration](#configuration)
|
- [Configuration](#configuration)
|
||||||
- [Overview](#overview)
|
- [Overview](#overview)
|
||||||
@ -210,7 +210,7 @@ const modules = {
|
|||||||
Moreover, the majority of the modules can be customized via option parameters. This way, it is also possible to provide this options through a `config` object. This config object should have the property name of each building block to configure, the same way as the modules specification.
|
Moreover, the majority of the modules can be customized via option parameters. This way, it is also possible to provide this options through a `config` object. This config object should have the property name of each building block to configure, the same way as the modules specification.
|
||||||
|
|
||||||
Besides the `modules` and `config`, libp2p allows other internal options and configurations:
|
Besides the `modules` and `config`, libp2p allows other internal options and configurations:
|
||||||
- `datastore`: an instance of [ipfs/interface-datastore](https://github.com/ipfs/interface-datastore/) modules.
|
- `datastore`: an instance of [ipfs/interface-datastore](https://github.com/ipfs/js-ipfs-interfaces/tree/master/packages/interface-datastore) modules.
|
||||||
- This is used in modules such as the DHT. If it is not provided, `js-libp2p` will use an in memory datastore.
|
- This is used in modules such as the DHT. If it is not provided, `js-libp2p` will use an in memory datastore.
|
||||||
- `peerId`: the identity of the node, an instance of [libp2p/js-peer-id](https://github.com/libp2p/js-peer-id).
|
- `peerId`: the identity of the node, an instance of [libp2p/js-peer-id](https://github.com/libp2p/js-peer-id).
|
||||||
- This is particularly useful if you want to reuse the same `peer-id`, as well as for modules like `libp2p-delegated-content-routing`, which need a `peer-id` in their instantiation.
|
- This is particularly useful if you want to reuse the same `peer-id`, as well as for modules like `libp2p-delegated-content-routing`, which need a `peer-id` in their instantiation.
|
||||||
@ -503,6 +503,9 @@ const MPLEX = require('libp2p-mplex')
|
|||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('libp2p-noise')
|
||||||
const LevelStore = require('datastore-level')
|
const LevelStore = require('datastore-level')
|
||||||
|
|
||||||
|
const datastore = new LevelStore('path/to/store')
|
||||||
|
await datastore.open()
|
||||||
|
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
modules: {
|
modules: {
|
||||||
transport: [TCP],
|
transport: [TCP],
|
||||||
@ -511,7 +514,7 @@ const node = await Libp2p.create({
|
|||||||
},
|
},
|
||||||
keychain: {
|
keychain: {
|
||||||
pass: 'notsafepassword123456789',
|
pass: 'notsafepassword123456789',
|
||||||
datastore: new LevelStore('path/to/store')
|
datastore: dsInstant,
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -673,16 +676,18 @@ const Libp2p = require('libp2p')
|
|||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('libp2p-noise')
|
||||||
|
|
||||||
const LevelStore = require('datastore-level')
|
const LevelStore = require('datastore-level')
|
||||||
|
|
||||||
|
const datastore = new LevelStore('path/to/store')
|
||||||
|
const dsInstant = await datastore.open()
|
||||||
|
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
modules: {
|
modules: {
|
||||||
transport: [TCP],
|
transport: [TCP],
|
||||||
streamMuxer: [MPLEX],
|
streamMuxer: [MPLEX],
|
||||||
connEncryption: [NOISE]
|
connEncryption: [NOISE]
|
||||||
},
|
},
|
||||||
datastore: new LevelStore('path/to/store'),
|
datastore: dsInstant,
|
||||||
peerStore: {
|
peerStore: {
|
||||||
persistence: true,
|
persistence: true,
|
||||||
threshold: 5
|
threshold: 5
|
||||||
|
14
doc/migrations/v0.32-v0.33.md
Normal file
14
doc/migrations/v0.32-v0.33.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<!--Specify versions for migration below-->
|
||||||
|
# Migrating to libp2p@33
|
||||||
|
|
||||||
|
A migration guide for refactoring your application code from libp2p v0.32.x to v0.33.0.
|
||||||
|
|
||||||
|
## Table of Contents
|
||||||
|
|
||||||
|
- [Module Updates](#module-updates)
|
||||||
|
|
||||||
|
## Module Updates
|
||||||
|
|
||||||
|
Libp2p uses a datastore implementation for Peerstore persistence and for the DHT state. While libp2p defaults to a datastore implementation, it can receive any implementation of a datastore compliant with the [interface-datastore](https://github.com/ipfs/js-ipfs-interfaces/tree/master/packages/interface-datastore) via its configuration.
|
||||||
|
|
||||||
|
In this release, we updated to `interface-datastore@6.0.0`. As a result, libp2p users relying on a configured datastore should update it to a compliant implementation for updating libp2p.
|
@ -18,7 +18,7 @@ The relay node will need to have its relay subsystem enabled, as well as its HOP
|
|||||||
```js
|
```js
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const Websockets = require('libp2p-websockets')
|
const Websockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
@ -76,7 +76,7 @@ One of the typical use cases for Auto Relay is nodes behind a NAT or browser nod
|
|||||||
```js
|
```js
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const Websockets = require('libp2p-websockets')
|
const Websockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
const relayAddr = process.argv[2]
|
const relayAddr = process.argv[2]
|
||||||
@ -125,7 +125,7 @@ As you can see in the code, we need to provide the relay address, `relayAddr`, a
|
|||||||
You should now run the following to start the node running Auto Relay:
|
You should now run the following to start the node running Auto Relay:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
node listener.js /ip4/192.168.1.120/tcp/58941/ws/p2p/QmQKCBm87HQMbFqy14oqC85pMmnRrj6iD46ggM6reqNpsd
|
node listener.js /ip4/192.168.1.120/tcp/61592/ws/p2p/QmWDn2LY8nannvSWJzruUYoLZ4vV83vfCBwd8DipvdgQc3
|
||||||
```
|
```
|
||||||
|
|
||||||
This should print out something similar to the following:
|
This should print out something similar to the following:
|
||||||
@ -147,7 +147,7 @@ Now that you have a relay node and a node bound to that relay, you can test conn
|
|||||||
```js
|
```js
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const Websockets = require('libp2p-websockets')
|
const Websockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
const autoRelayNodeAddr = process.argv[2]
|
const autoRelayNodeAddr = process.argv[2]
|
||||||
@ -173,7 +173,7 @@ console.log(`Connected to the auto relay node via ${conn.remoteAddr.toString()}`
|
|||||||
You should now run the following to start the relay node using the listen address from step 2:
|
You should now run the following to start the relay node using the listen address from step 2:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
node dialer.js /ip4/192.168.1.120/tcp/58941/ws/p2p/QmQKCBm87HQMbFqy14oqC85pMmnRrj6iD46ggM6reqNpsd
|
node dialer.js /ip4/192.168.1.120/tcp/61592/ws/p2p/QmWDn2LY8nannvSWJzruUYoLZ4vV83vfCBwd8DipvdgQc3
|
||||||
```
|
```
|
||||||
|
|
||||||
Once you start your test node, it should print out something similar to the following:
|
Once you start your test node, it should print out something similar to the following:
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const Websockets = require('libp2p-websockets')
|
const Websockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
async function main () {
|
async function main () {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const Websockets = require('libp2p-websockets')
|
const Websockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
async function main () {
|
async function main () {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const Websockets = require('libp2p-websockets')
|
const Websockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
async function main () {
|
async function main () {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
function startProcess (name, args = []) {
|
function startProcess (name, args = []) {
|
||||||
return execa('node', [path.join(__dirname, name), ...args], {
|
return execa('node', [path.join(__dirname, name), ...args], {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const WS = require('libp2p-websockets')
|
const WS = require('libp2p-websockets')
|
||||||
const mplex = require('libp2p-mplex')
|
const mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const defaultsDeep = require('@nodeutils/defaults-deep')
|
const defaultsDeep = require('@nodeutils/defaults-deep')
|
||||||
const libp2p = require('../../..')
|
const libp2p = require('../../..')
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
function startProcess(name) {
|
function startProcess(name) {
|
||||||
return execa('node', [path.join(__dirname, name)], {
|
return execa('node', [path.join(__dirname, name)], {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const Libp2p = require('../..')
|
const Libp2p = require('../..')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
|
||||||
|
@ -8,13 +8,13 @@ A byproduct of having these encrypted communications modules is that we can auth
|
|||||||
|
|
||||||
# 1. Set up encrypted communications
|
# 1. Set up encrypted communications
|
||||||
|
|
||||||
We will build this example on top of example for [Protocol and Stream Multiplexing](../protocol-and-stream-multiplexing). You will need the `libp2p-noise` module to complete it, go ahead and `npm install libp2p-noise`.
|
We will build this example on top of example for [Protocol and Stream Multiplexing](../protocol-and-stream-multiplexing). You will need the `@chainsafe/libp2p-noise` module to complete it, go ahead and `npm install @chainsafe/libp2p-noise`.
|
||||||
|
|
||||||
To add them to your libp2p configuration, all you have to do is:
|
To add them to your libp2p configuration, all you have to do is:
|
||||||
|
|
||||||
```JavaScript
|
```JavaScript
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const createNode = () => {
|
const createNode = () => {
|
||||||
return Libp2p.create({
|
return Libp2p.create({
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const messageReceived = pDefer()
|
const messageReceived = pDefer()
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Bootstrap = require('libp2p-bootstrap')
|
const Bootstrap = require('libp2p-bootstrap')
|
||||||
|
|
||||||
const bootstrapers = require('./bootstrapers')
|
const bootstrapers = require('./bootstrapers')
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MulticastDNS = require('libp2p-mdns')
|
const MulticastDNS = require('libp2p-mdns')
|
||||||
|
|
||||||
const createNode = async () => {
|
const createNode = async () => {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Gossipsub = require('libp2p-gossipsub')
|
const Gossipsub = require('libp2p-gossipsub')
|
||||||
const Bootstrap = require('libp2p-bootstrap')
|
const Bootstrap = require('libp2p-bootstrap')
|
||||||
const PubsubPeerDiscovery = require('libp2p-pubsub-peer-discovery')
|
const PubsubPeerDiscovery = require('libp2p-pubsub-peer-discovery')
|
||||||
|
@ -168,7 +168,7 @@ You can create your libp2p nodes as follows:
|
|||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Gossipsub = require('libp2p-gossipsub')
|
const Gossipsub = require('libp2p-gossipsub')
|
||||||
const Bootstrap = require('libp2p-bootstrap')
|
const Bootstrap = require('libp2p-bootstrap')
|
||||||
const PubsubPeerDiscovery = require('libp2p-pubsub-peer-discovery')
|
const PubsubPeerDiscovery = require('libp2p-pubsub-peer-discovery')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
const bootstrapers = require('./bootstrapers')
|
const bootstrapers = require('./bootstrapers')
|
||||||
|
|
||||||
const discoveredCopy = 'Discovered:'
|
const discoveredCopy = 'Discovered:'
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const discoveredCopy = 'Discovered:'
|
const discoveredCopy = 'Discovered:'
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const discoveredCopy = 'discovered:'
|
const discoveredCopy = 'discovered:'
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const WS = require('libp2p-websockets')
|
const WS = require('libp2p-websockets')
|
||||||
const mplex = require('libp2p-mplex')
|
const mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const defaultsDeep = require('@nodeutils/defaults-deep')
|
const defaultsDeep = require('@nodeutils/defaults-deep')
|
||||||
const libp2p = require('../../..')
|
const libp2p = require('../../..')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
function startProcess(name) {
|
function startProcess(name) {
|
||||||
return execa('node', [path.join(__dirname, name)], {
|
return execa('node', [path.join(__dirname, name)], {
|
||||||
|
@ -2,7 +2,7 @@ import 'babel-polyfill'
|
|||||||
import Libp2p from 'libp2p'
|
import Libp2p from 'libp2p'
|
||||||
import Websockets from 'libp2p-websockets'
|
import Websockets from 'libp2p-websockets'
|
||||||
import WebRTCStar from 'libp2p-webrtc-star'
|
import WebRTCStar from 'libp2p-webrtc-star'
|
||||||
import { NOISE } from 'libp2p-noise'
|
import { NOISE } from '@chainsafe/libp2p-noise'
|
||||||
import Mplex from 'libp2p-mplex'
|
import Mplex from 'libp2p-mplex'
|
||||||
import Bootstrap from 'libp2p-bootstrap'
|
import Bootstrap from 'libp2p-bootstrap'
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
"libp2p": "../../",
|
"libp2p": "../../",
|
||||||
"libp2p-bootstrap": "^0.13.0",
|
"libp2p-bootstrap": "^0.13.0",
|
||||||
"libp2p-mplex": "^0.10.4",
|
"libp2p-mplex": "^0.10.4",
|
||||||
"libp2p-noise": "^4.0.0",
|
"@chainsafe/libp2p-noise": "^4.1.0",
|
||||||
"libp2p-webrtc-star": "^0.23.0",
|
"libp2p-webrtc-star": "^0.23.0",
|
||||||
"libp2p-websockets": "^0.16.1"
|
"libp2p-websockets": "^0.16.1"
|
||||||
},
|
},
|
||||||
|
@ -10,10 +10,12 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"execa": "^2.1.0",
|
"execa": "^2.1.0",
|
||||||
"fs-extra": "^8.1.0",
|
"fs-extra": "^8.1.0",
|
||||||
|
"libp2p": "../src",
|
||||||
"libp2p-pubsub-peer-discovery": "^4.0.0",
|
"libp2p-pubsub-peer-discovery": "^4.0.0",
|
||||||
"libp2p-relay-server": "^0.2.0",
|
"libp2p-relay-server": "^0.3.0",
|
||||||
"libp2p-gossipsub": "^0.9.1",
|
"libp2p-gossipsub": "^0.11.0",
|
||||||
"p-defer": "^3.0.0",
|
"p-defer": "^3.0.0",
|
||||||
|
"uint8arrays": "^3.0.0",
|
||||||
"which": "^2.0.1"
|
"which": "^2.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const KadDHT = require('libp2p-kad-dht')
|
const KadDHT = require('libp2p-kad-dht')
|
||||||
|
|
||||||
const delay = require('delay')
|
const delay = require('delay')
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const { CID } = require('multiformats/cid')
|
const { CID } = require('multiformats/cid')
|
||||||
const KadDHT = require('libp2p-kad-dht')
|
const KadDHT = require('libp2p-kad-dht')
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test() {
|
async function test() {
|
||||||
process.stdout.write('1.js\n')
|
process.stdout.write('1.js\n')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const providedCopy = 'is providing'
|
const providedCopy = 'is providing'
|
||||||
const foundCopy = 'Found provider:'
|
const foundCopy = 'Found provider:'
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Protector = require('libp2p/src/pnet')
|
const Protector = require('libp2p/src/pnet')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const messageReceived = pDefer()
|
const messageReceived = pDefer()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test() {
|
async function test() {
|
||||||
const messageDefer = pDefer()
|
const messageDefer = pDefer()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const messages = [
|
const messages = [
|
||||||
'protocol (a)',
|
'protocol (a)',
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const messages = [
|
const messages = [
|
||||||
'from 1 to 2',
|
'from 1 to 2',
|
||||||
|
@ -4,10 +4,10 @@
|
|||||||
const Libp2p = require('../../')
|
const Libp2p = require('../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Gossipsub = require('libp2p-gossipsub')
|
const Gossipsub = require('libp2p-gossipsub')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const createNode = async () => {
|
const createNode = async () => {
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
|
@ -4,10 +4,10 @@
|
|||||||
const Libp2p = require('../../../')
|
const Libp2p = require('../../../')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Gossipsub = require('libp2p-gossipsub')
|
const Gossipsub = require('libp2p-gossipsub')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const createNode = async () => {
|
const createNode = async () => {
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const stdout = [
|
const stdout = [
|
||||||
{
|
{
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const defer = pDefer()
|
const defer = pDefer()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
const Libp2p = require('../..')
|
const Libp2p = require('../..')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const createNode = async () => {
|
const createNode = async () => {
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
const Libp2p = require('../..')
|
const Libp2p = require('../..')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../..')
|
const Libp2p = require('../..')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const WebSockets = require('libp2p-websockets')
|
const WebSockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const Libp2p = require('../..')
|
const Libp2p = require('../..')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const WebSockets = require('libp2p-websockets')
|
const WebSockets = require('libp2p-websockets')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
@ -13,7 +13,7 @@ When using libp2p, you need properly configure it, that is, pick your set of mod
|
|||||||
You will need 4 dependencies total, so go ahead and install all of them with:
|
You will need 4 dependencies total, so go ahead and install all of them with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
> npm install libp2p libp2p-tcp libp2p-noise
|
> npm install libp2p libp2p-tcp @chainsafe/libp2p-noise
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, in your favorite text editor create a file with the `.js` extension. I've called mine `1.js`.
|
Then, in your favorite text editor create a file with the `.js` extension. I've called mine `1.js`.
|
||||||
@ -25,7 +25,7 @@ First thing is to create our own libp2p node! Insert:
|
|||||||
|
|
||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const TCP = require('libp2p-tcp')
|
const TCP = require('libp2p-tcp')
|
||||||
const { NOISE } = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const createNode = async () => {
|
const createNode = async () => {
|
||||||
const node = await Libp2p.create({
|
const node = await Libp2p.create({
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const deferStarted = pDefer()
|
const deferStarted = pDefer()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const defer = pDefer()
|
const defer = pDefer()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const deferNode1 = pDefer()
|
const deferNode1 = pDefer()
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
async function test () {
|
async function test () {
|
||||||
const deferNode1 = pDefer()
|
const deferNode1 = pDefer()
|
||||||
|
@ -2,7 +2,7 @@ import 'babel-polyfill'
|
|||||||
const Libp2p = require('libp2p')
|
const Libp2p = require('libp2p')
|
||||||
const WebRTCDirect = require('libp2p-webrtc-direct')
|
const WebRTCDirect = require('libp2p-webrtc-direct')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const {NOISE} = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const Bootstrap = require('libp2p-bootstrap')
|
const Bootstrap = require('libp2p-bootstrap')
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', async () => {
|
document.addEventListener('DOMContentLoaded', async () => {
|
||||||
|
@ -2,7 +2,7 @@ const Libp2p = require('libp2p')
|
|||||||
const Bootstrap = require('libp2p-bootstrap')
|
const Bootstrap = require('libp2p-bootstrap')
|
||||||
const WebRTCDirect = require('libp2p-webrtc-direct')
|
const WebRTCDirect = require('libp2p-webrtc-direct')
|
||||||
const Mplex = require('libp2p-mplex')
|
const Mplex = require('libp2p-mplex')
|
||||||
const {NOISE} = require('libp2p-noise')
|
const { NOISE } = require('@chainsafe/libp2p-noise')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
|
|
||||||
;(async () => {
|
;(async () => {
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
"libp2p": "../../",
|
"libp2p": "../../",
|
||||||
"libp2p-bootstrap": "^0.13.0",
|
"libp2p-bootstrap": "^0.13.0",
|
||||||
"libp2p-mplex": "^0.10.4",
|
"libp2p-mplex": "^0.10.4",
|
||||||
"libp2p-noise": "^4.0.0",
|
"@chainsafe/libp2p-noise": "^4.1.0",
|
||||||
"libp2p-webrtc-direct": "^0.7.0",
|
"libp2p-webrtc-direct": "^0.7.0",
|
||||||
"peer-id": "^0.15.0"
|
"peer-id": "^0.15.0"
|
||||||
},
|
},
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const path = require('path')
|
const path = require('path')
|
||||||
const execa = require('execa')
|
const execa = require('execa')
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
const { chromium } = require('playwright');
|
const { chromium } = require('playwright');
|
||||||
|
|
||||||
function startNode (name, args = []) {
|
function startNode (name, args = []) {
|
||||||
|
@ -44,10 +44,10 @@
|
|||||||
|
|
||||||
"utilities",
|
"utilities",
|
||||||
["libp2p/js-libp2p-crypto", "libp2p-crypto"],
|
["libp2p/js-libp2p-crypto", "libp2p-crypto"],
|
||||||
["libp2p/js-libp2p-crypto-secp256k1", "libp2p-crypto-secp256k1"],
|
|
||||||
|
|
||||||
"data types",
|
"data types",
|
||||||
["libp2p/js-peer-id", "peer-id"],
|
["libp2p/js-peer-id", "peer-id"],
|
||||||
|
["libp2p/js-libp2p-record", "libp2p-record"],
|
||||||
|
|
||||||
"pubsub",
|
"pubsub",
|
||||||
["libp2p/js-libp2p-floodsub", "libp2p-floodsub"],
|
["libp2p/js-libp2p-floodsub", "libp2p-floodsub"],
|
||||||
|
108
package.json
108
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "libp2p",
|
"name": "libp2p",
|
||||||
"version": "0.32.2",
|
"version": "0.33.0",
|
||||||
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
||||||
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
|
"leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
|
||||||
"main": "src/index.js",
|
"main": "src/index.js",
|
||||||
@ -78,6 +78,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"abortable-iterator": "^3.0.0",
|
||||||
"@motrix/nat-api": "^0.3.1",
|
"@motrix/nat-api": "^0.3.1",
|
||||||
"@vascosantos/moving-average": "^1.1.0",
|
"@vascosantos/moving-average": "^1.1.0",
|
||||||
"abort-controller": "^3.0.0",
|
"abort-controller": "^3.0.0",
|
||||||
@ -87,10 +88,10 @@
|
|||||||
"class-is": "^1.1.0",
|
"class-is": "^1.1.0",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"err-code": "^3.0.0",
|
"err-code": "^3.0.0",
|
||||||
"es6-promisify": "^6.1.1",
|
"es6-promisify": "^7.0.0",
|
||||||
"events": "^3.3.0",
|
"events": "^3.3.0",
|
||||||
"hashlru": "^2.3.0",
|
"hashlru": "^2.3.0",
|
||||||
"interface-datastore": "^5.1.1",
|
"interface-datastore": "^6.0.2",
|
||||||
"it-all": "^1.0.4",
|
"it-all": "^1.0.4",
|
||||||
"it-buffer": "^0.1.2",
|
"it-buffer": "^0.1.2",
|
||||||
"it-drain": "^1.0.3",
|
"it-drain": "^1.0.3",
|
||||||
@ -124,23 +125,25 @@
|
|||||||
"set-delayed-interval": "^1.0.0",
|
"set-delayed-interval": "^1.0.0",
|
||||||
"streaming-iterables": "^6.0.0",
|
"streaming-iterables": "^6.0.0",
|
||||||
"timeout-abort-controller": "^1.1.1",
|
"timeout-abort-controller": "^1.1.1",
|
||||||
|
"uint8arrays": "^3.0.0",
|
||||||
"varint": "^6.0.0",
|
"varint": "^6.0.0",
|
||||||
"wherearewe": "^1.0.0",
|
"wherearewe": "^1.0.0",
|
||||||
"xsalsa20": "^1.1.0"
|
"xsalsa20": "^1.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@chainsafe/libp2p-noise": "^4.0.0",
|
||||||
"@nodeutils/defaults-deep": "^1.1.0",
|
"@nodeutils/defaults-deep": "^1.1.0",
|
||||||
"@types/es6-promisify": "^6.0.0",
|
"@types/es6-promisify": "^6.0.0",
|
||||||
"@types/node": "^16.0.1",
|
"@types/node": "^16.0.1",
|
||||||
"@types/node-forge": "^0.10.1",
|
"@types/node-forge": "^0.10.1",
|
||||||
"@types/varint": "^6.0.0",
|
"@types/varint": "^6.0.0",
|
||||||
"abortable-iterator": "^3.0.0",
|
|
||||||
"aegir": "^33.1.1",
|
"aegir": "^33.1.1",
|
||||||
"buffer": "^6.0.3",
|
"buffer": "^6.0.3",
|
||||||
|
"datastore-core": "^6.0.7",
|
||||||
"delay": "^5.0.0",
|
"delay": "^5.0.0",
|
||||||
"interop-libp2p": "^0.4.0",
|
"interop-libp2p": "^0.4.0",
|
||||||
"into-stream": "^6.0.0",
|
"into-stream": "^7.0.0",
|
||||||
"ipfs-http-client": "^50.1.1",
|
"ipfs-http-client": "^52.0.2",
|
||||||
"it-concat": "^2.0.0",
|
"it-concat": "^2.0.0",
|
||||||
"it-pair": "^1.0.0",
|
"it-pair": "^1.0.0",
|
||||||
"it-pushable": "^1.4.0",
|
"it-pushable": "^1.4.0",
|
||||||
@ -149,23 +152,20 @@
|
|||||||
"libp2p-delegated-content-routing": "^0.11.0",
|
"libp2p-delegated-content-routing": "^0.11.0",
|
||||||
"libp2p-delegated-peer-routing": "^0.10.0",
|
"libp2p-delegated-peer-routing": "^0.10.0",
|
||||||
"libp2p-floodsub": "^0.27.0",
|
"libp2p-floodsub": "^0.27.0",
|
||||||
"libp2p-gossipsub": "^0.10.0",
|
"libp2p-gossipsub": "^0.11.0",
|
||||||
"libp2p-interfaces-compliance-tests": "^1.0.0",
|
"libp2p-interfaces-compliance-tests": "^1.0.0",
|
||||||
"libp2p-kad-dht": "^0.23.0",
|
"libp2p-kad-dht": "^0.24.2",
|
||||||
"libp2p-mdns": "^0.17.0",
|
"libp2p-mdns": "^0.17.0",
|
||||||
"libp2p-mplex": "^0.10.1",
|
"libp2p-mplex": "^0.10.1",
|
||||||
"libp2p-noise": "^4.0.0",
|
|
||||||
"libp2p-tcp": "^0.17.0",
|
"libp2p-tcp": "^0.17.0",
|
||||||
"libp2p-webrtc-star": "^0.23.0",
|
"libp2p-webrtc-star": "^0.23.0",
|
||||||
"libp2p-websockets": "^0.16.0",
|
"libp2p-websockets": "^0.16.0",
|
||||||
"multihashes": "^4.0.2",
|
|
||||||
"nock": "^13.0.3",
|
"nock": "^13.0.3",
|
||||||
"p-defer": "^3.0.0",
|
"p-defer": "^3.0.0",
|
||||||
"p-times": "^3.0.0",
|
"p-times": "^3.0.0",
|
||||||
"p-wait-for": "^3.2.0",
|
"p-wait-for": "^3.2.0",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"sinon": "^11.1.1",
|
"sinon": "^11.1.1",
|
||||||
"uint8arrays": "^2.1.3",
|
|
||||||
"util": "^0.12.3"
|
"util": "^0.12.3"
|
||||||
},
|
},
|
||||||
"contributors": [
|
"contributors": [
|
||||||
@ -179,22 +179,56 @@
|
|||||||
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
|
"Friedel Ziegelmayer <dignifiedquire@gmail.com>",
|
||||||
"Maciej Krüger <mkg20001@gmail.com>",
|
"Maciej Krüger <mkg20001@gmail.com>",
|
||||||
"Hugo Dias <mail@hugodias.me>",
|
"Hugo Dias <mail@hugodias.me>",
|
||||||
"Volker Mische <volker.mische@gmail.com>",
|
|
||||||
"Chris Dostert <chrisdostert@users.noreply.github.com>",
|
"Chris Dostert <chrisdostert@users.noreply.github.com>",
|
||||||
"dirkmc <dirkmdev@gmail.com>",
|
"dirkmc <dirkmdev@gmail.com>",
|
||||||
"Richard Littauer <richard.littauer@gmail.com>",
|
"Volker Mische <volker.mische@gmail.com>",
|
||||||
"zeim839 <50573884+zeim839@users.noreply.github.com>",
|
"zeim839 <50573884+zeim839@users.noreply.github.com>",
|
||||||
"Ryan Bell <ryan@piing.net>",
|
"Richard Littauer <richard.littauer@gmail.com>",
|
||||||
"a1300 <matthias-knopp@gmx.net>",
|
"a1300 <matthias-knopp@gmx.net>",
|
||||||
|
"Ryan Bell <ryan@piing.net>",
|
||||||
"ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ <victorbjelkholm@gmail.com>",
|
"ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ <victorbjelkholm@gmail.com>",
|
||||||
"Andrew Nesbitt <andrewnez@gmail.com>",
|
|
||||||
"Elven <mon.samuel@qq.com>",
|
|
||||||
"Franck Royer <franck@royer.one>",
|
"Franck Royer <franck@royer.one>",
|
||||||
"Giovanni T. Parra <fiatjaf@gmail.com>",
|
|
||||||
"Samlior <samlior@foxmail.com>",
|
|
||||||
"Thomas Eizinger <thomas@eizinger.io>",
|
"Thomas Eizinger <thomas@eizinger.io>",
|
||||||
|
"Giovanni T. Parra <fiatjaf@gmail.com>",
|
||||||
"acolytec3 <17355484+acolytec3@users.noreply.github.com>",
|
"acolytec3 <17355484+acolytec3@users.noreply.github.com>",
|
||||||
"Didrik Nordström <didrik@betamos.se>",
|
"Elven <mon.samuel@qq.com>",
|
||||||
|
"Andrew Nesbitt <andrewnez@gmail.com>",
|
||||||
|
"Samlior <samlior@foxmail.com>",
|
||||||
|
"Didrik Nordström <didrik.nordstrom@gmail.com>",
|
||||||
|
"RasmusErik Voel Jensen <github@solsort.com>",
|
||||||
|
"Robert Kiel <robert.kiel@hoprnet.org>",
|
||||||
|
"Smite Chow <xiaopengyou@live.com>",
|
||||||
|
"Soeren <nikorpoulsen@gmail.com>",
|
||||||
|
"Sönke Hahn <soenkehahn@gmail.com>",
|
||||||
|
"TJKoury <TJKoury@gmail.com>",
|
||||||
|
"Tiago Alves <alvesjtiago@gmail.com>",
|
||||||
|
"XiaoZhang <zxinmyth@gmail.com>",
|
||||||
|
"Yusef Napora <yusef@napora.org>",
|
||||||
|
"Zane Starr <zcstarr@gmail.com>",
|
||||||
|
"ebinks <elizabethjbinks@gmail.com>",
|
||||||
|
"Aditya Bose <13054902+adbose@users.noreply.github.com>",
|
||||||
|
"isan_rivkin <isanrivkin@gmail.com>",
|
||||||
|
"mayerwin <mayerwin@users.noreply.github.com>",
|
||||||
|
"mcclure <andi.m.mcclure@gmail.com>",
|
||||||
|
"phillmac <phillmac@users.noreply.github.com>",
|
||||||
|
"robertkiel <robert.kiel@validitylabs.org>",
|
||||||
|
"shresthagrawal <34920931+shresthagrawal@users.noreply.github.com>",
|
||||||
|
"swedneck <40505480+swedneck@users.noreply.github.com>",
|
||||||
|
"greenSnot <greenSnot@users.noreply.github.com>",
|
||||||
|
"Aleksei <vozhdb@gmail.com>",
|
||||||
|
"Bernd Strehl <bernd.strehl@gmail.com>",
|
||||||
|
"Chris Bratlien <chrisbratlien@gmail.com>",
|
||||||
|
"Cindy Wu <ciindy.wu@gmail.com>",
|
||||||
|
"Daijiro Wachi <daijiro.wachi@gmail.com>",
|
||||||
|
"Diogo Silva <fsdiogo@gmail.com>",
|
||||||
|
"Dmitriy Ryajov <dryajov@gmail.com>",
|
||||||
|
"Ethan Lam <elmemphis2000@gmail.com>",
|
||||||
|
"Fei Liu <liu.feiwood@gmail.com>",
|
||||||
|
"Felipe Martins <felipebrasil93@gmail.com>",
|
||||||
|
"Florian-Merle <florian.david.merle@gmail.com>",
|
||||||
|
"Francis Gulotta <wizard@roborooter.com>",
|
||||||
|
"Guy Sviry <32539816+guysv@users.noreply.github.com>",
|
||||||
|
"Henrique Dias <hacdias@gmail.com>",
|
||||||
"Irakli Gozalishvili <rfobic@gmail.com>",
|
"Irakli Gozalishvili <rfobic@gmail.com>",
|
||||||
"Joel Gustafson <joelg@mit.edu>",
|
"Joel Gustafson <joelg@mit.edu>",
|
||||||
"John Rees <johnrees@users.noreply.github.com>",
|
"John Rees <johnrees@users.noreply.github.com>",
|
||||||
@ -203,43 +237,11 @@
|
|||||||
"Kevin Kwok <antimatter15@gmail.com>",
|
"Kevin Kwok <antimatter15@gmail.com>",
|
||||||
"Kevin Lacker <lacker@gmail.com>",
|
"Kevin Lacker <lacker@gmail.com>",
|
||||||
"Lars Gierth <lgierth@users.noreply.github.com>",
|
"Lars Gierth <lgierth@users.noreply.github.com>",
|
||||||
"Ethan Lam <elmemphis2000@gmail.com>",
|
"Leask Wong <i@leaskh.com>",
|
||||||
"Marcin Tojek <mtojek@users.noreply.github.com>",
|
"Marcin Tojek <mtojek@users.noreply.github.com>",
|
||||||
"Michael Burns <5170+mburns@users.noreply.github.com>",
|
"Michael Burns <5170+mburns@users.noreply.github.com>",
|
||||||
"Miguel Mota <miguelmota2@gmail.com>",
|
"Miguel Mota <miguelmota2@gmail.com>",
|
||||||
"Nuno Nogueira <nunofmn@gmail.com>",
|
"Nuno Nogueira <nunofmn@gmail.com>",
|
||||||
"Dmitriy Ryajov <dryajov@gmail.com>",
|
"Philipp Muens <raute1337@gmx.de>"
|
||||||
"Philipp Muens <raute1337@gmx.de>",
|
|
||||||
"RasmusErik Voel Jensen <github@solsort.com>",
|
|
||||||
"Diogo Silva <fsdiogo@gmail.com>",
|
|
||||||
"Robert Kiel <robert.kiel@hoprnet.org>",
|
|
||||||
"phillmac <phillmac@users.noreply.github.com>",
|
|
||||||
"robertkiel <robert.kiel@validitylabs.org>",
|
|
||||||
"Smite Chow <xiaopengyou@live.com>",
|
|
||||||
"Soeren <nikorpoulsen@gmail.com>",
|
|
||||||
"Sönke Hahn <soenkehahn@gmail.com>",
|
|
||||||
"TJKoury <TJKoury@gmail.com>",
|
|
||||||
"shresthagrawal <34920931+shresthagrawal@users.noreply.github.com>",
|
|
||||||
"Tiago Alves <alvesjtiago@gmail.com>",
|
|
||||||
"Daijiro Wachi <daijiro.wachi@gmail.com>",
|
|
||||||
"Yusef Napora <yusef@napora.org>",
|
|
||||||
"Zane Starr <zcstarr@gmail.com>",
|
|
||||||
"swedneck <40505480+swedneck@users.noreply.github.com>",
|
|
||||||
"Aleksei <vozhdb@gmail.com>",
|
|
||||||
"Cindy Wu <ciindy.wu@gmail.com>",
|
|
||||||
"Aditya Bose <13054902+adbose@users.noreply.github.com>",
|
|
||||||
"Chris Bratlien <chrisbratlien@gmail.com>",
|
|
||||||
"ebinks <elizabethjbinks@gmail.com>",
|
|
||||||
"greenSnot <greenSnot@users.noreply.github.com>",
|
|
||||||
"Bernd Strehl <bernd.strehl@gmail.com>",
|
|
||||||
"Francis Gulotta <wizard@roborooter.com>",
|
|
||||||
"isan_rivkin <isanrivkin@gmail.com>",
|
|
||||||
"Florian-Merle <florian.david.merle@gmail.com>",
|
|
||||||
"mayerwin <mayerwin@users.noreply.github.com>",
|
|
||||||
"Guy Sviry <32539816+guysv@users.noreply.github.com>",
|
|
||||||
"Henrique Dias <hacdias@gmail.com>",
|
|
||||||
"mcclure <andi.m.mcclure@gmail.com>",
|
|
||||||
"Felipe Martins <felipebrasil93@gmail.com>",
|
|
||||||
"Fei Liu <liu.feiwood@gmail.com>"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,8 @@ const log = Object.assign(debug('libp2p:auto-relay'), {
|
|||||||
error: debug('libp2p:auto-relay:err')
|
error: debug('libp2p:auto-relay:err')
|
||||||
})
|
})
|
||||||
|
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ const errCode = require('err-code')
|
|||||||
const lp = require('it-length-prefixed')
|
const lp = require('it-length-prefixed')
|
||||||
const { pipe } = require('it-pipe')
|
const { pipe } = require('it-pipe')
|
||||||
const { collect, take, consume } = require('streaming-iterables')
|
const { collect, take, consume } = require('streaming-iterables')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
|
@ -8,8 +8,8 @@ require('node-forge/lib/pbe')
|
|||||||
const forge = require('node-forge/lib/forge')
|
const forge = require('node-forge/lib/forge')
|
||||||
const { certificateForKey, findAsync } = require('./util')
|
const { certificateForKey, findAsync } = require('./util')
|
||||||
const errcode = require('err-code')
|
const errcode = require('err-code')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const privates = new WeakMap()
|
const privates = new WeakMap()
|
||||||
|
|
||||||
|
@ -7,11 +7,11 @@ const log = Object.assign(debug('libp2p:keychain'), {
|
|||||||
const sanitize = require('sanitize-filename')
|
const sanitize = require('sanitize-filename')
|
||||||
const mergeOptions = require('merge-options')
|
const mergeOptions = require('merge-options')
|
||||||
const crypto = require('libp2p-crypto')
|
const crypto = require('libp2p-crypto')
|
||||||
const { Key } = require('interface-datastore')
|
const { Key } = require('interface-datastore/key')
|
||||||
const CMS = require('./cms')
|
const CMS = require('./cms')
|
||||||
const errcode = require('err-code')
|
const errcode = require('err-code')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
// @ts-ignore node-forge sha512 types not exported
|
// @ts-ignore node-forge sha512 types not exported
|
||||||
require('node-forge/lib/sha512')
|
require('node-forge/lib/sha512')
|
||||||
|
@ -10,7 +10,6 @@ const log = Object.assign(debug('libp2p:nat'), {
|
|||||||
})
|
})
|
||||||
const { isBrowser } = require('wherearewe')
|
const { isBrowser } = require('wherearewe')
|
||||||
const retry = require('p-retry')
|
const retry = require('p-retry')
|
||||||
// @ts-ignore private-api does not export types
|
|
||||||
const isPrivateIp = require('private-ip')
|
const isPrivateIp = require('private-ip')
|
||||||
const pkg = require('../package.json')
|
const pkg = require('../package.json')
|
||||||
const errcode = require('err-code')
|
const errcode = require('err-code')
|
||||||
@ -115,6 +114,7 @@ class NatManager {
|
|||||||
const client = this._getClient()
|
const client = this._getClient()
|
||||||
const publicIp = this._externalIp || await client.externalIp()
|
const publicIp = this._externalIp || await client.externalIp()
|
||||||
|
|
||||||
|
// @ts-ignore isPrivate has no call signatures
|
||||||
if (isPrivateIp(publicIp)) {
|
if (isPrivateIp(publicIp)) {
|
||||||
throw new Error(`${publicIp} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`)
|
throw new Error(`${publicIp} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`)
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ const log = Object.assign(debug('libp2p:peer-store:proto-book'), {
|
|||||||
error: debug('libp2p:peer-store:proto-book:err')
|
error: debug('libp2p:peer-store:proto-book:err')
|
||||||
})
|
})
|
||||||
const errcode = require('err-code')
|
const errcode = require('err-code')
|
||||||
const uint8ArrayEquals = require('uint8arrays/equals')
|
const { equals: uint8ArrayEquals } = require('uint8arrays/equals')
|
||||||
|
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ const debug = require('debug')
|
|||||||
const log = Object.assign(debug('libp2p:persistent-peer-store'), {
|
const log = Object.assign(debug('libp2p:persistent-peer-store'), {
|
||||||
error: debug('libp2p:persistent-peer-store:err')
|
error: debug('libp2p:persistent-peer-store:err')
|
||||||
})
|
})
|
||||||
const { Key } = require('interface-datastore')
|
const { Key } = require('interface-datastore/key')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const { base32 } = require('multiformats/bases/base32')
|
const { base32 } = require('multiformats/bases/base32')
|
||||||
|
@ -11,7 +11,7 @@ const { pipe } = require('it-pipe')
|
|||||||
// @ts-ignore it-buffer has no types exported
|
// @ts-ignore it-buffer has no types exported
|
||||||
const { toBuffer } = require('it-buffer')
|
const { toBuffer } = require('it-buffer')
|
||||||
const { collect, take } = require('streaming-iterables')
|
const { collect, take } = require('streaming-iterables')
|
||||||
const equals = require('uint8arrays/equals')
|
const { equals } = require('uint8arrays/equals')
|
||||||
|
|
||||||
const { PROTOCOL_NAME, PING_LENGTH, PROTOCOL_VERSION } = require('./constants')
|
const { PROTOCOL_NAME, PING_LENGTH, PROTOCOL_VERSION } = require('./constants')
|
||||||
|
|
||||||
|
@ -10,8 +10,8 @@ const Errors = require('./errors')
|
|||||||
// @ts-ignore xsalsa20 has no types exported
|
// @ts-ignore xsalsa20 has no types exported
|
||||||
const xsalsa20 = require('xsalsa20')
|
const xsalsa20 = require('xsalsa20')
|
||||||
const KEY_LENGTH = require('./key-generator').KEY_LENGTH
|
const KEY_LENGTH = require('./key-generator').KEY_LENGTH
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a stream iterable to encrypt messages in a private network
|
* Creates a stream iterable to encrypt messages in a private network
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
const crypto = require('libp2p-crypto')
|
const crypto = require('libp2p-crypto')
|
||||||
const KEY_LENGTH = 32
|
const KEY_LENGTH = 32
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a PSK that can be used in a libp2p-pnet private network
|
* Generates a PSK that can be used in a libp2p-pnet private network
|
||||||
|
@ -17,7 +17,7 @@ You can read further about the envelope in [libp2p/specs#217](https://github.com
|
|||||||
```js
|
```js
|
||||||
// interface-record implementation example with the "libp2p-example" namespace
|
// interface-record implementation example with the "libp2p-example" namespace
|
||||||
const Record = require('libp2p-interfaces/src/record')
|
const Record = require('libp2p-interfaces/src/record')
|
||||||
const fromString = require('uint8arrays/from-string')
|
const { fromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
class ExampleRecord extends Record {
|
class ExampleRecord extends Record {
|
||||||
constructor () {
|
constructor () {
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const errCode = require('err-code')
|
const errCode = require('err-code')
|
||||||
const uint8arraysConcat = require('uint8arrays/concat')
|
const { concat: uint8arraysConcat } = require('uint8arrays/concat')
|
||||||
const uint8arraysFromString = require('uint8arrays/from-string')
|
const { fromString: uint8arraysFromString } = require('uint8arrays/from-string')
|
||||||
// @ts-ignore libp2p-crypto does not support types
|
// @ts-ignore libp2p-crypto does not support types
|
||||||
const cryptoKeys = require('libp2p-crypto/src/keys')
|
const cryptoKeys = require('libp2p-crypto/src/keys')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const varint = require('varint')
|
const varint = require('varint')
|
||||||
const uint8arraysEquals = require('uint8arrays/equals')
|
const { equals: uint8arraysEquals } = require('uint8arrays/equals')
|
||||||
|
|
||||||
const { codes } = require('../../errors')
|
const { codes } = require('../../errors')
|
||||||
const { Envelope: Protobuf } = require('./envelope')
|
const { Envelope: Protobuf } = require('./envelope')
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const Pubsub = require('libp2p-interfaces/src/pubsub')
|
const Pubsub = require('libp2p-interfaces/src/pubsub')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
const Muxer = require('libp2p-mplex')
|
const Muxer = require('libp2p-mplex')
|
||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const filters = require('libp2p-websockets/src/filters')
|
const filters = require('libp2p-websockets/src/filters')
|
||||||
|
@ -6,7 +6,7 @@ const { expect } = require('aegir/utils/chai')
|
|||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const mergeOptions = require('merge-options')
|
const mergeOptions = require('merge-options')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const { create } = require('../../../src')
|
const { create } = require('../../../src')
|
||||||
const { subsystemOptions, subsystemMulticodecs } = require('./utils')
|
const { subsystemOptions, subsystemMulticodecs } = require('./utils')
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
/* eslint-env mocha */
|
/* eslint-env mocha */
|
||||||
|
|
||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const Libp2p = require('../../src')
|
const Libp2p = require('../../src')
|
||||||
const { createPeerId } = require('../utils/creators/peer')
|
const { createPeerId } = require('../utils/creators/peer')
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const { expect } = require('aegir/utils/chai')
|
const { expect } = require('aegir/utils/chai')
|
||||||
|
|
||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const Libp2p = require('../../src')
|
const Libp2p = require('../../src')
|
||||||
const { codes: ErrorCodes } = require('../../src/errors')
|
const { codes: ErrorCodes } = require('../../src/errors')
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
const { expect } = require('aegir/utils/chai')
|
const { expect } = require('aegir/utils/chai')
|
||||||
|
|
||||||
const Transport = require('libp2p-tcp')
|
const Transport = require('libp2p-tcp')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const { create } = require('../../src')
|
const { create } = require('../../src')
|
||||||
const peerUtils = require('../utils/creators/peer')
|
const peerUtils = require('../utils/creators/peer')
|
||||||
|
@ -5,7 +5,7 @@ const { expect } = require('aegir/utils/chai')
|
|||||||
const sinon = require('sinon')
|
const sinon = require('sinon')
|
||||||
const Transport = require('libp2p-tcp')
|
const Transport = require('libp2p-tcp')
|
||||||
const Muxer = require('libp2p-mplex')
|
const Muxer = require('libp2p-mplex')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const delay = require('delay')
|
const delay = require('delay')
|
||||||
@ -17,7 +17,7 @@ const pushable = require('it-pushable')
|
|||||||
const AggregateError = require('aggregate-error')
|
const AggregateError = require('aggregate-error')
|
||||||
const { Connection } = require('libp2p-interfaces/src/connection')
|
const { Connection } = require('libp2p-interfaces/src/connection')
|
||||||
const { AbortError } = require('libp2p-interfaces/src/transport/errors')
|
const { AbortError } = require('libp2p-interfaces/src/transport/errors')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const Libp2p = require('../../src')
|
const Libp2p = require('../../src')
|
||||||
const Dialer = require('../../src/dialer')
|
const Dialer = require('../../src/dialer')
|
||||||
|
@ -9,7 +9,7 @@ const delay = require('delay')
|
|||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const filters = require('libp2p-websockets/src/filters')
|
const filters = require('libp2p-websockets/src/filters')
|
||||||
const Muxer = require('libp2p-mplex')
|
const Muxer = require('libp2p-mplex')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const AggregateError = require('aggregate-error')
|
const AggregateError = require('aggregate-error')
|
||||||
const { AbortError } = require('libp2p-interfaces/src/transport/errors')
|
const { AbortError } = require('libp2p-interfaces/src/transport/errors')
|
||||||
|
@ -9,7 +9,7 @@ const PeerId = require('peer-id')
|
|||||||
const duplexPair = require('it-pair/duplex')
|
const duplexPair = require('it-pair/duplex')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const pWaitFor = require('p-wait-for')
|
const pWaitFor = require('p-wait-for')
|
||||||
const unit8ArrayToString = require('uint8arrays/to-string')
|
const { toString: unit8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const { codes: Errors } = require('../../src/errors')
|
const { codes: Errors } = require('../../src/errors')
|
||||||
const IdentifyService = require('../../src/identify')
|
const IdentifyService = require('../../src/identify')
|
||||||
|
@ -3,9 +3,9 @@
|
|||||||
'use strict'
|
'use strict'
|
||||||
|
|
||||||
const { expect } = require('aegir/utils/chai')
|
const { expect } = require('aegir/utils/chai')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
const { MemoryDatastore } = require('interface-datastore')
|
const { MemoryDatastore } = require('datastore-core/memory')
|
||||||
const Keychain = require('../../src/keychain')
|
const Keychain = require('../../src/keychain')
|
||||||
|
|
||||||
describe('cms interop', () => {
|
describe('cms interop', () => {
|
||||||
|
@ -4,12 +4,13 @@
|
|||||||
|
|
||||||
const { expect } = require('aegir/utils/chai')
|
const { expect } = require('aegir/utils/chai')
|
||||||
const fail = expect.fail
|
const fail = expect.fail
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const peerUtils = require('../utils/creators/peer')
|
const peerUtils = require('../utils/creators/peer')
|
||||||
|
|
||||||
const { MemoryDatastore, Key } = require('interface-datastore')
|
const { Key } = require('interface-datastore/key')
|
||||||
|
const { MemoryDatastore } = require('datastore-core/memory')
|
||||||
const Keychain = require('../../src/keychain')
|
const Keychain = require('../../src/keychain')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const crypto = require('libp2p-crypto')
|
const crypto = require('libp2p-crypto')
|
||||||
|
@ -7,7 +7,7 @@ const { base58btc } = require('multiformats/bases/base58')
|
|||||||
const crypto = require('libp2p-crypto')
|
const crypto = require('libp2p-crypto')
|
||||||
const rsaUtils = require('libp2p-crypto/src/keys/rsa-utils')
|
const rsaUtils = require('libp2p-crypto/src/keys/rsa-utils')
|
||||||
const rsaClass = require('libp2p-crypto/src/keys/rsa-class')
|
const rsaClass = require('libp2p-crypto/src/keys/rsa-class')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const sample = {
|
const sample = {
|
||||||
id: '122019318b6e5e0cf93a2314bf01269a2cc23cd3dcd452d742cdb9379d8646f6e4a9',
|
id: '122019318b6e5e0cf93a2314bf01269a2cc23cd3dcd452d742cdb9379d8646f6e4a9',
|
||||||
|
@ -11,7 +11,7 @@ const crypto = require('libp2p-crypto')
|
|||||||
const KadDht = require('libp2p-kad-dht')
|
const KadDht = require('libp2p-kad-dht')
|
||||||
const MulticastDNS = require('libp2p-mdns')
|
const MulticastDNS = require('libp2p-mdns')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const uint8ArrayToString = require('uint8arrays/to-string')
|
const { toString: uint8ArrayToString } = require('uint8arrays/to-string')
|
||||||
|
|
||||||
const Libp2p = require('../../src')
|
const Libp2p = require('../../src')
|
||||||
const baseOptions = require('../utils/base-options')
|
const baseOptions = require('../utils/base-options')
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
/* eslint-env mocha */
|
/* eslint-env mocha */
|
||||||
|
|
||||||
const { expect } = require('aegir/utils/chai')
|
const { expect } = require('aegir/utils/chai')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const pDefer = require('p-defer')
|
const pDefer = require('p-defer')
|
||||||
const PeerStore = require('../../src/peer-store')
|
const PeerStore = require('../../src/peer-store')
|
||||||
|
@ -5,7 +5,7 @@ const { expect } = require('aegir/utils/chai')
|
|||||||
|
|
||||||
const PeerStore = require('../../src/peer-store')
|
const PeerStore = require('../../src/peer-store')
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const peerUtils = require('../utils/creators/peer')
|
const peerUtils = require('../utils/creators/peer')
|
||||||
|
|
||||||
|
@ -9,8 +9,8 @@ const PeerRecord = require('../../src/record/peer-record')
|
|||||||
const PeerStore = require('../../src/peer-store/persistent')
|
const PeerStore = require('../../src/peer-store/persistent')
|
||||||
|
|
||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const { MemoryDatastore } = require('interface-datastore')
|
const { MemoryDatastore } = require('datastore-core/memory')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const peerUtils = require('../utils/creators/peer')
|
const peerUtils = require('../utils/creators/peer')
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ const { expect } = require('aegir/utils/chai')
|
|||||||
const duplexPair = require('it-pair/duplex')
|
const duplexPair = require('it-pair/duplex')
|
||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
const { collect } = require('streaming-iterables')
|
const { collect } = require('streaming-iterables')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const Protector = require('../../src/pnet')
|
const Protector = require('../../src/pnet')
|
||||||
const Errors = Protector.errors
|
const Errors = Protector.errors
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
/* eslint-env mocha */
|
/* eslint-env mocha */
|
||||||
|
|
||||||
const { expect } = require('aegir/utils/chai')
|
const { expect } = require('aegir/utils/chai')
|
||||||
const uint8arrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8arrayFromString } = require('uint8arrays/from-string')
|
||||||
const uint8arrayEquals = require('uint8arrays/equals')
|
const { equals: uint8arrayEquals } = require('uint8arrays/equals')
|
||||||
const Envelope = require('../../src/record/envelope')
|
const Envelope = require('../../src/record/envelope')
|
||||||
const { codes: ErrorCodes } = require('../../src/errors')
|
const { codes: ErrorCodes } = require('../../src/errors')
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@ const { collect } = require('streaming-iterables')
|
|||||||
const pipe = require('it-pipe')
|
const pipe = require('it-pipe')
|
||||||
const AggregateError = require('aggregate-error')
|
const AggregateError = require('aggregate-error')
|
||||||
const PeerId = require('peer-id')
|
const PeerId = require('peer-id')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
|
|
||||||
const { createPeerId } = require('../utils/creators/peer')
|
const { createPeerId } = require('../utils/creators/peer')
|
||||||
const baseOptions = require('../utils/base-options')
|
const baseOptions = require('../utils/base-options')
|
||||||
|
@ -7,7 +7,7 @@ const sinon = require('sinon')
|
|||||||
const { Multiaddr } = require('multiaddr')
|
const { Multiaddr } = require('multiaddr')
|
||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const filters = require('libp2p-websockets/src/filters')
|
const filters = require('libp2p-websockets/src/filters')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
const AddressManager = require('../../src/address-manager')
|
const AddressManager = require('../../src/address-manager')
|
||||||
const TransportManager = require('../../src/transport-manager')
|
const TransportManager = require('../../src/transport-manager')
|
||||||
const mockUpgrader = require('../utils/mockUpgrader')
|
const mockUpgrader = require('../utils/mockUpgrader')
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
"libp2p-interfaces": "^1.0.1",
|
"libp2p-interfaces": "^1.0.1",
|
||||||
"libp2p-kad-dht": "^0.23.1",
|
"libp2p-kad-dht": "^0.23.1",
|
||||||
"libp2p-mplex": "^0.10.4",
|
"libp2p-mplex": "^0.10.4",
|
||||||
"libp2p-noise": "^4.0.0",
|
"@chainsafe/libp2p-noise": "^4.1.0",
|
||||||
"libp2p-record": "^0.10.4",
|
"libp2p-record": "^0.10.4",
|
||||||
"libp2p-tcp": "^0.17.1",
|
"libp2p-tcp": "^0.17.1",
|
||||||
"libp2p-websockets": "^0.16.1",
|
"libp2p-websockets": "^0.16.1",
|
||||||
|
@ -3,7 +3,7 @@ import Libp2pRecord = require('libp2p-record')
|
|||||||
import TCP = require('libp2p-tcp')
|
import TCP = require('libp2p-tcp')
|
||||||
|
|
||||||
const WEBSOCKETS = require('libp2p-websockets')
|
const WEBSOCKETS = require('libp2p-websockets')
|
||||||
const NOISE = require('libp2p-noise')
|
const NOISE = require('@chainsafe/libp2p-noise')
|
||||||
const MPLEX = require('libp2p-mplex')
|
const MPLEX = require('libp2p-mplex')
|
||||||
const Gossipsub = require('libp2p-gossipsub')
|
const Gossipsub = require('libp2p-gossipsub')
|
||||||
const DHT = require('libp2p-kad-dht')
|
const DHT = require('libp2p-kad-dht')
|
||||||
|
@ -10,9 +10,9 @@ const pipe = require('it-pipe')
|
|||||||
const { collect } = require('streaming-iterables')
|
const { collect } = require('streaming-iterables')
|
||||||
const pSettle = require('p-settle')
|
const pSettle = require('p-settle')
|
||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
const Protector = require('../../src/pnet')
|
const Protector = require('../../src/pnet')
|
||||||
const uint8ArrayFromString = require('uint8arrays/from-string')
|
const { fromString: uint8ArrayFromString } = require('uint8arrays/from-string')
|
||||||
const swarmKeyBuffer = uint8ArrayFromString(require('../fixtures/swarm.key'))
|
const swarmKeyBuffer = uint8ArrayFromString(require('../fixtures/swarm.key'))
|
||||||
|
|
||||||
const Libp2p = require('../../src')
|
const Libp2p = require('../../src')
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
const Transport = require('libp2p-websockets')
|
const Transport = require('libp2p-websockets')
|
||||||
const filters = require('libp2p-websockets/src/filters')
|
const filters = require('libp2p-websockets/src/filters')
|
||||||
const Muxer = require('libp2p-mplex')
|
const Muxer = require('libp2p-mplex')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
const transportKey = Transport.prototype[Symbol.toStringTag]
|
const transportKey = Transport.prototype[Symbol.toStringTag]
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const Transport = require('libp2p-tcp')
|
const Transport = require('libp2p-tcp')
|
||||||
const Muxer = require('libp2p-mplex')
|
const Muxer = require('libp2p-mplex')
|
||||||
const { NOISE: Crypto } = require('libp2p-noise')
|
const { NOISE: Crypto } = require('@chainsafe/libp2p-noise')
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
modules: {
|
modules: {
|
||||||
|
Reference in New Issue
Block a user