feat: keybook

This commit is contained in:
Vasco Santos
2020-04-28 15:03:16 +02:00
committed by Jacob Heun
parent 3f2b06dc26
commit ce38033c10
12 changed files with 364 additions and 73 deletions

View File

@ -26,6 +26,9 @@
* [`peerStore.addressBook.get`](#peerstoreaddressbookget)
* [`peerStore.addressBook.getMultiaddrsForPeer`](#peerstoreaddressbookgetmultiaddrsforpeer)
* [`peerStore.addressBook.set`](#peerstoreaddressbookset)
* [`peerStore.keyBook.delete`](#peerstorekeybookdelete)
* [`peerStore.keyBook.get`](#peerstorekeybookget)
* [`peerStore.keyBook.set`](#peerstorekeybookset)
* [`peerStore.protoBook.add`](#peerstoreprotobookadd)
* [`peerStore.protoBook.delete`](#peerstoreprotobookdelete)
* [`peerStore.protoBook.get`](#peerstoreprotobookget)
@ -811,6 +814,89 @@ Add known `protocols` of a given peer.
peerStore.protoBook.add(peerId, protocols)
```
* [`peerStore.keyBook.get`](#peerstorekeybookget)
* [`peerStore.keyBook.set`](#peerstorekeybookset)
### peerStore.keyBook.delete
Delete the provided peer from the book.
`peerStore.keyBook.delete(peerId)`
#### Parameters
| Name | Type | Description |
|------|------|-------------|
| peerId | [`PeerId`][peer-id] | peerId to remove |
#### Returns
| Type | Description |
|------|-------------|
| `boolean` | true if found and removed |
#### Example
```js
peerStore.keyBook.delete(peerId)
// false
peerStore.keyBook.set(peerId)
peerStore.keyBook.delete(peerId)
// true
```
### peerStore.keyBook.get
Get the known `PublicKey` of a provided peer.
`peerStore.keyBook.get(peerId)`
#### Parameters
| Name | Type | Description |
|------|------|-------------|
| peerId | [`PeerId`][peer-id] | peerId to get |
#### Returns
| Type | Description |
|------|-------------|
| `RsaPublicKey|Ed25519PublicKey|Secp256k1PublicKey` | Peer PublicKey |
#### Example
```js
peerStore.keyBook.get(peerId)
// undefined
peerStore.keyBook.set(peerId) // with inline public key
peerStore.keyBook.get(peerId)
// PublicKey
```
### peerStore.keyBook.set
Set known `peerId`. This can include its Public Key.
`peerStore.keyBook.set(peerId)`
#### Parameters
| Name | Type | Description |
|------|------|-------------|
| peerId | [`PeerId`][peer-id] | peerId to set |
#### Returns
| Type | Description |
|------|-------------|
| `KeyBook` | Returns the Key Book component |
#### Example
```js
peerStore.keyBook.set(peerId)
```
### peerStore.protoBook.delete
Delete the provided peer from the book.