Compare commits

...

27 Commits

Author SHA1 Message Date
7781075a7a chore: use npm install for examples 2021-11-12 17:48:09 +01:00
01a8b8da9b chore: example docs for auto-relay with correct port 2021-11-12 10:50:11 +01:00
77d7cb8f08 fix: private ip ts compile has no call signatures (#1020) 2021-11-12 10:34:44 +01:00
a335fda852 docs: fix datastore link (#999) 2021-09-27 12:42:53 +02:00
43e3af0c12 chore: add migration guide to 0.33 (#997) 2021-09-24 11:33:59 +02:00
2c9c3cf6d5 chore: release version v0.33.0 2021-09-24 10:32:46 +02:00
4d6587539c chore: update contributors 2021-09-24 10:32:45 +02:00
83734ef520 chore: update datastore (#990)
`interface-datastore` now only contains the interface definition,
`datastore-core` has the various implementations.

BREAKING CHANGE: datastore implementations provided to libp2p must be compliant with interface-datastore@6.0.0
2021-09-24 10:24:29 +02:00
1c2e4d89ac chore: release version v0.32.5 2021-09-21 09:47:01 +02:00
c635b08d2f chore: update contributors 2021-09-21 09:47:01 +02:00
3aedf55115 chore(deps): bump es6-promisify from 6.1.1 to 7.0.0 (#974)
Bumps [es6-promisify](https://github.com/mikehall314/es6-promisify) from 6.1.1 to 7.0.0.
- [Release notes](https://github.com/mikehall314/es6-promisify/releases)
- [Commits](https://github.com/mikehall314/es6-promisify/compare/v6.1.1...v7.0.0)

---
updated-dependencies:
- dependency-name: es6-promisify
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-21 09:40:36 +02:00
ede653cad9 chore(deps-dev): bump into-stream from 6.0.0 to 7.0.0 (#972)
Bumps [into-stream](https://github.com/sindresorhus/into-stream) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/sindresorhus/into-stream/releases)
- [Commits](https://github.com/sindresorhus/into-stream/compare/v6.0.0...v7.0.0)

---
updated-dependencies:
- dependency-name: into-stream
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-21 09:39:58 +02:00
2ab811d708 chore(deps-dev): bump libp2p-kad-dht from 0.23.4 to 0.24.2 (#991)
Bumps [libp2p-kad-dht](https://github.com/libp2p/js-libp2p-kad-dht) from 0.23.4 to 0.24.2.
- [Release notes](https://github.com/libp2p/js-libp2p-kad-dht/releases)
- [Changelog](https://github.com/libp2p/js-libp2p-kad-dht/blob/master/CHANGELOG.md)
- [Commits](https://github.com/libp2p/js-libp2p-kad-dht/compare/v0.23.4...v0.24.2)

---
updated-dependencies:
- dependency-name: libp2p-kad-dht
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-21 09:39:25 +02:00
122c89dd0d fix: move abortable-iterator to dependencies (#992)
fix #986
2021-09-21 09:36:37 +02:00
97107c4ef7 chore: update datastore usage in CONFIGURATION.md (#982)
Co-authored-by: Vasco Santos <vasco.santos@ua.pt>
2021-08-31 11:51:51 +02:00
d3f78edffe chore(deps-dev): bump ipfs-http-client from 50.1.2 to 52.0.2 (#973)
Bumps [ipfs-http-client](https://github.com/ipfs/js-ipfs) from 50.1.2 to 52.0.2.
- [Release notes](https://github.com/ipfs/js-ipfs/releases)
- [Changelog](https://github.com/ipfs/js-ipfs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ipfs/js-ipfs/compare/ipfs-http-client@50.1.2...ipfs-http-client@52.0.2)

---
updated-dependencies:
- dependency-name: ipfs-http-client
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-26 12:28:44 +02:00
f8e3cf10b0 chore: add dependabot (#968) 2021-08-26 12:02:28 +02:00
f342c1ff50 docs: update package list (#969) 2021-08-26 12:02:17 +02:00
fe63990a16 chore: libp2p interop job needs exit for aegir (#971) 2021-08-26 11:19:13 +02:00
e82b6e414b chore: release version v0.32.4 2021-08-20 09:25:15 +02:00
1d62ead8e5 chore: update contributors 2021-08-20 09:25:14 +02:00
3d25ff7fd0 chore: use new libp2p-noise 2021-08-20 09:13:21 +02:00
0f389a7828 chore: update uint8arrays 2021-08-20 09:13:21 +02:00
9f0582f372 chore: remove unused dev dep (#966) 2021-08-19 09:38:39 +02:00
266f2c3c86 chore: release version v0.32.3 2021-08-16 18:20:41 +02:00
7783edb059 chore: update contributors 2021-08-16 18:20:40 +02:00
ba2b4d4b28 fix: uint8arrays is a dep (#964) 2021-08-16 17:54:24 +02:00
97 changed files with 257 additions and 189 deletions

View File

@ -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
View File

@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: daily
time: "11:00"
open-pull-requests-limit: 10

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -163,9 +163,9 @@ List of packages currently in existence for libp2p
| [`libp2p-kad-dht`](//github.com/libp2p/js-libp2p-kad-dht) | [![npm](https://img.shields.io/npm/v/libp2p-kad-dht.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-kad-dht/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-kad-dht.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-kad-dht) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-kad-dht/master)](https://travis-ci.com/libp2p/js-libp2p-kad-dht) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-kad-dht/branch/master/graph/badge.svg?style=flat-square)](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) | [![npm](https://img.shields.io/npm/v/libp2p-kad-dht.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-kad-dht/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-kad-dht.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-kad-dht) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-kad-dht/master)](https://travis-ci.com/libp2p/js-libp2p-kad-dht) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-kad-dht/branch/master/graph/badge.svg?style=flat-square)](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) | [![npm](https://img.shields.io/npm/v/libp2p-crypto.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-crypto/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-crypto.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-crypto) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-crypto/master)](https://travis-ci.com/libp2p/js-libp2p-crypto) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-crypto/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-crypto) | [Jacob Heun](mailto:jacobheun@gmail.com) | | [`libp2p-crypto`](//github.com/libp2p/js-libp2p-crypto) | [![npm](https://img.shields.io/npm/v/libp2p-crypto.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-crypto/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-crypto.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-crypto) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-crypto/master)](https://travis-ci.com/libp2p/js-libp2p-crypto) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-crypto/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-crypto) | [Jacob Heun](mailto:jacobheun@gmail.com) |
| [`libp2p-crypto-secp256k1`](//github.com/libp2p/js-libp2p-crypto-secp256k1) | [![npm](https://img.shields.io/npm/v/libp2p-crypto-secp256k1.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-crypto-secp256k1/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-crypto-secp256k1.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-crypto-secp256k1) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-crypto-secp256k1/master)](https://travis-ci.com/libp2p/js-libp2p-crypto-secp256k1) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-crypto-secp256k1/branch/master/graph/badge.svg?style=flat-square)](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) | [![npm](https://img.shields.io/npm/v/peer-id.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-peer-id/releases) | [![Deps](https://david-dm.org/libp2p/js-peer-id.svg?style=flat-square)](https://david-dm.org/libp2p/js-peer-id) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-peer-id/master)](https://travis-ci.com/libp2p/js-peer-id) | [![codecov](https://codecov.io/gh/libp2p/js-peer-id/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-peer-id) | [Vasco Santos](mailto:santos.vasco10@gmail.com) | | [`peer-id`](//github.com/libp2p/js-peer-id) | [![npm](https://img.shields.io/npm/v/peer-id.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-peer-id/releases) | [![Deps](https://david-dm.org/libp2p/js-peer-id.svg?style=flat-square)](https://david-dm.org/libp2p/js-peer-id) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-peer-id/master)](https://travis-ci.com/libp2p/js-peer-id) | [![codecov](https://codecov.io/gh/libp2p/js-peer-id/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-peer-id) | [Vasco Santos](mailto:santos.vasco10@gmail.com) |
| [`libp2p-record`](//github.com/libp2p/js-libp2p-record) | [![npm](https://img.shields.io/npm/v/libp2p-record.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-record/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-record.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-record) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-record/master)](https://travis-ci.com/libp2p/js-libp2p-record) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-record/branch/master/graph/badge.svg?style=flat-square)](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) | [![npm](https://img.shields.io/npm/v/libp2p-floodsub.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-floodsub/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-floodsub.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-floodsub) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-floodsub/master)](https://travis-ci.com/libp2p/js-libp2p-floodsub) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-floodsub/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-floodsub) | [Vasco Santos](mailto:vasco.santos@moxy.studio) | | [`libp2p-floodsub`](//github.com/libp2p/js-libp2p-floodsub) | [![npm](https://img.shields.io/npm/v/libp2p-floodsub.svg?maxAge=86400&style=flat-square)](//github.com/libp2p/js-libp2p-floodsub/releases) | [![Deps](https://david-dm.org/libp2p/js-libp2p-floodsub.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-floodsub) | [![Travis CI](https://flat.badgen.net/travis/libp2p/js-libp2p-floodsub/master)](https://travis-ci.com/libp2p/js-libp2p-floodsub) | [![codecov](https://codecov.io/gh/libp2p/js-libp2p-floodsub/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-floodsub) | [Vasco Santos](mailto:vasco.santos@moxy.studio) |
| [`libp2p-gossipsub`](//github.com/ChainSafe/js-libp2p-gossipsub) | [![npm](https://img.shields.io/npm/v/libp2p-gossipsub.svg?maxAge=86400&style=flat-square)](//github.com/ChainSafe/js-libp2p-gossipsub/releases) | [![Deps](https://david-dm.org/ChainSafe/js-libp2p-gossipsub.svg?style=flat-square)](https://david-dm.org/ChainSafe/js-libp2p-gossipsub) | [![Travis CI](https://flat.badgen.net/travis/ChainSafe/js-libp2p-gossipsub/master)](https://travis-ci.com/ChainSafe/js-libp2p-gossipsub) | [![codecov](https://codecov.io/gh/ChainSafe/js-libp2p-gossipsub/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/ChainSafe/js-libp2p-gossipsub) | [Cayman Nava](mailto:caymannava@gmail.com) | | [`libp2p-gossipsub`](//github.com/ChainSafe/js-libp2p-gossipsub) | [![npm](https://img.shields.io/npm/v/libp2p-gossipsub.svg?maxAge=86400&style=flat-square)](//github.com/ChainSafe/js-libp2p-gossipsub/releases) | [![Deps](https://david-dm.org/ChainSafe/js-libp2p-gossipsub.svg?style=flat-square)](https://david-dm.org/ChainSafe/js-libp2p-gossipsub) | [![Travis CI](https://flat.badgen.net/travis/ChainSafe/js-libp2p-gossipsub/master)](https://travis-ci.com/ChainSafe/js-libp2p-gossipsub) | [![codecov](https://codecov.io/gh/ChainSafe/js-libp2p-gossipsub/branch/master/graph/badge.svg?style=flat-square)](https://codecov.io/gh/ChainSafe/js-libp2p-gossipsub) | [Cayman Nava](mailto:caymannava@gmail.com) |

View File

@ -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

View 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.

View File

@ -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:

View File

@ -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 () {

View File

@ -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 () {

View File

@ -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 () {

View File

@ -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], {

View File

@ -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('../../..')

View File

@ -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)], {

View File

@ -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')

View File

@ -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({

View File

@ -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()

View File

@ -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')

View File

@ -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 () => {

View File

@ -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')

View File

@ -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')

View File

@ -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:'

View File

@ -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:'

View File

@ -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:'

View File

@ -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('../../..')

View File

@ -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)], {

View File

@ -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'

View File

@ -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"
}, },

View File

@ -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": {

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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:'

View File

@ -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')
/** /**

View File

@ -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()

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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()

View File

@ -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)',

View File

@ -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',

View File

@ -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({

View File

@ -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({

View File

@ -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 = [
{ {

View File

@ -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()

View File

@ -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({

View File

@ -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')

View File

@ -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')

View File

@ -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');

View File

@ -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({

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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()

View File

@ -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 () => {

View File

@ -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 () => {

View File

@ -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"
}, },

View File

@ -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 = []) {

View File

@ -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"],

View File

@ -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>"
] ]
} }

View File

@ -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')

View File

@ -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')

View File

@ -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()

View File

@ -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')

View File

@ -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`)
} }

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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

View File

@ -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

View File

@ -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 () {

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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', () => {

View File

@ -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')

View File

@ -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',

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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

View File

@ -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')

View File

@ -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')

View File

@ -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')

View File

@ -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",

View File

@ -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')

View File

@ -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')

View File

@ -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]

View File

@ -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: {