Skip to content

Commit 3a6b8a1

Browse files
dignifiedquiredaviddias
authored andcommitted
feat: add support for Peer and Content Routing (DHT)
* feat: Peer and Content Routing Support (DHT) - first round * feat: support for DHT and without DHT at the same time * refactor(tests): make tests independent without require global set up steps * feat: move libp2p just to the network, take libp2p as a whole and not pieces * docs: Update README Documentation * feat: factor notifications out * fix: getMany call * feat: add id to loggers * feat(engine): improve message sending * test: skip webworker tests
1 parent dc143e8 commit 3a6b8a1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1866
-1361
lines changed

.circleci/config.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
version: 2
2+
jobs:
3+
build:
4+
working_directory: ~/js-ipfs-bitswap
5+
docker:
6+
- image: circleci/node:6-browsers
7+
environment:
8+
CHROME_BIN: "/usr/bin/google-chrome"
9+
steps:
10+
- checkout
11+
- restore_cache:
12+
key: dependency-cache-{{ checksum "package.json" }}
13+
- run:
14+
name: install-deps
15+
command: npm install
16+
- save_cache:
17+
key: dependency-cache-{{ checksum "package.json" }}
18+
paths:
19+
- ./node_modules
20+
- run:
21+
name: lint
22+
command: npm run lint
23+
- run:
24+
name: test:node
25+
command: npm run test:node
26+
- run:
27+
name: test:browser
28+
command: npm run test:browser
29+
- run:
30+
name: coverage
31+
command: npm run coverage

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# While testing new npm
22
package-lock.json
3+
yarn.lock
34

45
# Logs
56
logs

README.md

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,7 @@
3434
> npm install ipfs-bitswap
3535
```
3636

37-
### Use in Node.js
38-
39-
```js
40-
const Bitswap = require('ipfs-bitswap')
41-
```
42-
43-
### Use in a browser with browserify, webpack or any other bundler
37+
### Use in Node.js or in the browser with browserify, webpack or any other bundler
4438

4539
```js
4640
const Bitswap = require('ipfs-bitswap')
@@ -56,10 +50,6 @@ Loading this module through a script tag will make the `IpfsBitswap` object avai
5650
<script src="https://unpkg.com/ipfs-bitswap/dist/index.js"></script>
5751
```
5852

59-
## Usage
60-
61-
See https://ipfs.github.io/js-ipfs-bitswap
62-
6353
## API
6454

6555
See https://ipfs.github.io/js-ipfs-bitswap
@@ -73,24 +63,22 @@ See https://ipfs.github.io/js-ipfs-bitswap
7363
```sh
7464
» tree src
7565
src
76-
├── components
77-
│   ├── decision
78-
│   │   ├── engine.js
79-
│   │   ├── index.js
80-
│   │   └── ledger.js
81-
│   ├── network # Handles peerSet and open new conns
82-
│   │   └── index.js
83-
│   └── want-manager # Keeps track of all blocks the peer wants (not the others which it is connected)
84-
│   ├── index.js
85-
│   └── msg-queue.js # Messages to send queue, one per peer
8666
├── constants.js
67+
├── decision-engine
68+
│   ├── index.js
69+
│   └── ledger.js
8770
├── index.js
88-
└── types
89-
├── message # (Type) message that is put in the wire
71+
├── network.js # Handles peerSet and open new conns
72+
├── notifications.js # Handles tracking of incomning blocks and wants/unwants.
73+
├─── want-manager # Keeps track of all blocks the peer (self) wants
74+
│   ├── index.js
75+
│   └── msg-queue.js # Messages to send queue, one per peer
76+
└─── types
77+
├── message # (Type) message that is put in the wire
9078
│   ├── entry.js
9179
│   ├── index.js
9280
│   └── message.proto.js
93-
└── wantlist # (Type) track wanted blocks
81+
└── wantlist # (Type) track wanted blocks
9482
├── entry.js
9583
└── index.js
9684
```

circle.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

package.json

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,21 @@
44
"description": "Node.js implementation of the Bitswap data exchange protocol used by IPFS",
55
"main": "src/index.js",
66
"browser": {
7-
"./test/libp2p-bundle": false
7+
"./test/utils/create-libp2p-node": false,
8+
"./test/utils/create-temp-repo-nodejs.js": "./test/utils/create-temp-repo-browser.js"
89
},
910
"scripts": {
10-
"test": "aegir-test",
11-
"test:browser": "aegir-test browser",
12-
"test:node": "aegir-test node",
13-
"lint": "aegir-lint",
14-
"release": "aegir-release --docs",
15-
"release-minor": "aegir-release --type minor --docs",
16-
"release-major": "aegir-release --type major --docs",
11+
"test": "aegir test --target node --target browser",
12+
"test:browser": "aegir test --target browser",
13+
"test:node": "aegir test --target node",
14+
"lint": "aegir lint",
15+
"release": "aegir release",
16+
"release-minor": "aegir release --type minor",
17+
"release-major": "aegir release --type major",
1718
"bench": "node benchmarks/index",
18-
"build": "aegir-build",
19-
"coverage": "aegir-coverage",
20-
"coverage-publish": "aegir-coverage publish",
21-
"docs": "aegir-docs"
19+
"build": "aegir build",
20+
"coverage": "aegir coverage -u",
21+
"docs": "aegir docs"
2222
},
2323
"repository": {
2424
"type": "git",
@@ -37,12 +37,13 @@
3737
},
3838
"homepage": "https://github.com/ipfs/js-ipfs-bitswap#readme",
3939
"devDependencies": {
40-
"aegir": "^11.0.2",
40+
"aegir": "ipfs/aegir",
4141
"benchmark": "^2.1.4",
42-
"chai": "^4.1.0",
42+
"chai": "^4.1.1",
4343
"dirty-chai": "^2.0.1",
4444
"ipfs-repo": "~0.17.0",
4545
"libp2p": "^0.11.0",
46+
"libp2p-kad-dht": "^0.4.1",
4647
"libp2p-multiplex": "^0.4.4",
4748
"libp2p-secio": "^0.7.1",
4849
"libp2p-tcp": "^0.10.2",
@@ -58,7 +59,7 @@
5859
"dependencies": {
5960
"async": "^2.5.0",
6061
"cids": "~0.5.1",
61-
"debug": "^2.6.8",
62+
"debug": "^3.0.0",
6263
"ipfs-block": "~0.6.0",
6364
"lodash.debounce": "^4.0.8",
6465
"lodash.find": "^4.6.0",
@@ -75,6 +76,7 @@
7576
"pull-length-prefixed": "^1.3.0",
7677
"pull-pushable": "^2.1.1",
7778
"pull-stream": "^3.6.0",
79+
"safe-buffer": "^5.1.1",
7880
"varint-decoder": "^0.1.1"
7981
},
8082
"contributors": [

src/components/network/index.js

Lines changed: 0 additions & 194 deletions
This file was deleted.

0 commit comments

Comments
 (0)