Skip to content
This repository has been archived by the owner on Jun 26, 2023. It is now read-only.

Commit

Permalink
chore: update content and peer routing interfaces removing peer-info (#…
Browse files Browse the repository at this point in the history
…43)

* chore: update content and peer routing interfaces removing peer-info

BREAKING CHANGE: content-routing and peer-routing APIs return an object with relevant properties instead of peer-info
  • Loading branch information
vasco-santos authored and jacobheun committed Jun 5, 2020
1 parent 5bcfc96 commit 87e2e89
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 7 deletions.
30 changes: 28 additions & 2 deletions src/content-routing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,32 @@ TBD

A valid (read: that follows this abstraction) Content Routing module must implement the following API.

### `.findProviders`
### findProviders

### `.provide`
- `findProviders(cid)`

Find peers in the network that can provide a specific value, given a key.

**Parameters**
- [CID](https://github.com/multiformats/js-cid)

**Returns**

It returns an `AsyncIterable` containing the identification and addresses of the peers providing the given key, as follows:

`AsyncIterable<{ id: PeerId, addrs: Multiaddr[] }>`

### provide

- `provide(cid)`

Announce to the network that we are providing the given value.

**Parameters**
- [CID](https://github.com/multiformats/js-cid)

**Returns**

It returns a promise that is resolved on the success of the operation.

`Promise<void>`
15 changes: 10 additions & 5 deletions src/peer-routing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,17 @@ TBD

A valid (read: that follows this abstraction) Peer Routing module must implement the following API.

### `.findPeers` - Find peers 'responsible' or 'closest' to a given key
### findPeer

- `Node.js` peerRouting.findPeers(key, function (err, peersPriorityQueue) {})
- `findPeer(peerId)`

In a peer to peer context, the concept of 'responsability' or 'closeness' for a given key translates to having a way to find deterministically or that at least there is a significant overlap between searches, the same group of peers when searching for the same given key.
Query the network for all multiaddresses associated with a `PeerId`.

This method will query the network (route it) and return a Priority Queue data structure with a list of PeerInfo objects, ordered by 'closeness'.
**Parameters**
- [peerId](https://github.com/libp2p/js-peer-id).

key is a multihash
**Returns**

It returns the [peerId](https://github.com/libp2p/js-peer-id) together with the known peers [multiaddrs](https://github.com/multiformats/js-multiaddr), as follows:

`Promise<{ id: PeerId, addrs: Multiaddr[] }>`

0 comments on commit 87e2e89

Please sign in to comment.