mirror of
https://github.com/status-im/js-waku.git
synced 2025-02-20 17:08:15 +00:00
Enhance addPeerToAddressBook
So that consumer does not need to import multiaddr and peer-id.
This commit is contained in:
parent
19e265c490
commit
6f7c1e0ca3
@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Changed
|
||||
- Enable passing `string`s to `addPeerToAddressBook`.
|
||||
- Use `addPeerToAddressBook` in examples.
|
||||
|
||||
## [0.1.0] - 2021-05-12
|
||||
|
||||
### Added
|
||||
|
@ -24,11 +24,9 @@ Connect to a new peer:
|
||||
import { multiaddr } from 'multiaddr';
|
||||
import PeerId from 'peer-id';
|
||||
|
||||
waku.libp2p.peerStore.addressBook.add(
|
||||
PeerId.createFromB58String(
|
||||
'16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ'
|
||||
),
|
||||
[multiaddr('/dns4/node-01.do-ams3.jdev.misc.statusim.net/tcp/7010/wss')]
|
||||
waku.addPeerToAddressBook(
|
||||
'16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ',
|
||||
['/dns4/node-01.do-ams3.jdev.misc.statusim.net/tcp/7010/wss']
|
||||
);
|
||||
```
|
||||
|
||||
|
@ -1,4 +1,3 @@
|
||||
import { multiaddr } from 'multiaddr';
|
||||
import PeerId from 'peer-id';
|
||||
import { useEffect, useState } from 'react';
|
||||
import './App.css';
|
||||
@ -147,17 +146,13 @@ async function initWaku(setter: (waku: Waku) => void) {
|
||||
|
||||
setter(waku);
|
||||
|
||||
waku.libp2p.peerStore.addressBook.add(
|
||||
PeerId.createFromB58String(
|
||||
'16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ'
|
||||
),
|
||||
[multiaddr('/dns4/node-01.do-ams3.jdev.misc.statusim.net/tcp/7010/wss')]
|
||||
waku.addPeerToAddressBook(
|
||||
'16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ',
|
||||
['/dns4/node-01.do-ams3.jdev.misc.statusim.net/tcp/7010/wss']
|
||||
);
|
||||
waku.libp2p.peerStore.addressBook.add(
|
||||
PeerId.createFromB58String(
|
||||
'16Uiu2HAmSyrYVycqBCWcHyNVQS6zYQcdQbwyov1CDijboVRsQS37'
|
||||
),
|
||||
[multiaddr('/dns4/node-01.do-ams3.jdev.misc.statusim.net/tcp/7009/wss')]
|
||||
waku.addPeerToAddressBook(
|
||||
'16Uiu2HAmSyrYVycqBCWcHyNVQS6zYQcdQbwyov1CDijboVRsQS37',
|
||||
['/dns4/node-01.do-ams3.jdev.misc.statusim.net/tcp/7009/wss']
|
||||
);
|
||||
} catch (e) {
|
||||
console.log('Issue starting waku ', e);
|
||||
|
@ -4,7 +4,7 @@ import { bytes } from 'libp2p-noise/dist/src/@types/basic';
|
||||
import { Noise } from 'libp2p-noise/dist/src/noise';
|
||||
import Websockets from 'libp2p-websockets';
|
||||
import filters from 'libp2p-websockets/src/filters';
|
||||
import { Multiaddr } from 'multiaddr';
|
||||
import { Multiaddr, multiaddr } from 'multiaddr';
|
||||
import PeerId from 'peer-id';
|
||||
|
||||
import { RelayCodec, WakuRelay } from './waku_relay';
|
||||
@ -92,6 +92,7 @@ export class Waku {
|
||||
|
||||
/**
|
||||
* Dials to the provided peer.
|
||||
*
|
||||
* @param peer The peer to dial
|
||||
*/
|
||||
async dial(
|
||||
@ -103,8 +104,27 @@ export class Waku {
|
||||
return this.libp2p.dialProtocol(peer, [RelayCodec, StoreCodec]);
|
||||
}
|
||||
|
||||
addPeerToAddressBook(peerId: PeerId, multiaddr: Multiaddr[]): void {
|
||||
this.libp2p.peerStore.addressBook.set(peerId, multiaddr);
|
||||
/**
|
||||
* Add peer to address book, it will be auto-dialed in the background.
|
||||
*/
|
||||
addPeerToAddressBook(
|
||||
peerId: PeerId | string,
|
||||
multiaddrs: Multiaddr[] | string[]
|
||||
): void {
|
||||
let peer;
|
||||
if (typeof peerId === 'string') {
|
||||
peer = PeerId.createFromB58String(peerId);
|
||||
} else {
|
||||
peer = peerId;
|
||||
}
|
||||
const addresses = multiaddrs.map((addr: Multiaddr | string) => {
|
||||
if (typeof addr === 'string') {
|
||||
return multiaddr(addr);
|
||||
} else {
|
||||
return addr;
|
||||
}
|
||||
});
|
||||
this.libp2p.peerStore.addressBook.set(peer, addresses);
|
||||
}
|
||||
|
||||
async stop(): Promise<void> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user