Skip to content

Commit 5edcc16

Browse files
feat!: update to latest spec, added peer name, announces all multiaddrs (#157)
BREAKING CHANGE: service name now defaults to `_p2p._udp.local` and no longer uses A and AAA records -> replaced by TXT records Added random peer name option resolves #101 --------- Co-authored-by: Alex Potsides <[email protected]>
1 parent 28c668e commit 5edcc16

15 files changed

+127
-1261
lines changed

README.md

+18-11
Original file line numberDiff line numberDiff line change
@@ -24,27 +24,34 @@ $ npm i @libp2p/mdns
2424

2525
## Usage
2626

27-
```JavaScript
28-
import { MDNS } from '@libp2p/mdns'
27+
```Typescript
28+
import { mdns } from '@libp2p/mdns'
2929

30-
const mdns = new MDNS(options)
30+
const options = {
31+
peerDiscovery: [
32+
mdns()
33+
]
34+
}
35+
36+
async function start () {
37+
const libp2p = await createLibp2p(options)
3138

32-
mdns.on('peer', (peerData) => {
33-
console.log('Found a peer in the local network', peerData.id.toString(), peerData.multiaddrs)
34-
})
39+
libp2p.on('peer:discovery', function (peerId) {
40+
console.log('found peer: ', peerId.toB58String())
41+
})
42+
43+
await libp2p.start()
44+
}
3545

36-
// Broadcast for 20 seconds
37-
mdns.start()
38-
setTimeout(() => mdns.stop(), 20 * 1000)
3946
```
4047

4148
- options
42-
- `peerId` - PeerId to announce
49+
- `peerName` - Peer name to announce (should not be peeer id), default random string
4350
- `multiaddrs` - multiaddrs to announce
4451
- `broadcast` - (true/false) announce our presence through mDNS, default `false`
4552
- `interval` - query interval, default 10 \* 1000 (10 seconds)
4653
- `serviceTag` - name of the service announce , default 'ipfs.local\`
47-
- `compat` - enable/disable compatibility with go-libp2p-mdns, default `true`
54+
4855

4956
## MDNS messages
5057

package.json

+11-13
Original file line numberDiff line numberDiff line change
@@ -135,24 +135,22 @@
135135
"docs": "aegir docs"
136136
},
137137
"dependencies": {
138-
"@libp2p/interface-peer-discovery": "^1.0.1",
139-
"@libp2p/interface-peer-id": "^2.0.0",
140-
"@libp2p/interface-peer-info": "^1.0.3",
141-
"@libp2p/interfaces": "^3.0.3",
142-
"@libp2p/logger": "^2.0.1",
143-
"@libp2p/peer-id": "^2.0.0",
144-
"@multiformats/multiaddr": "^11.0.0",
138+
"@libp2p/interface-peer-discovery": "^1.0.5",
139+
"@libp2p/interface-peer-id": "^2.0.1",
140+
"@libp2p/interface-peer-info": "^1.0.8",
141+
"@libp2p/interfaces": "^3.3.1",
142+
"@libp2p/logger": "^2.0.5",
143+
"@libp2p/peer-id": "^2.0.1",
144+
"@multiformats/multiaddr": "^11.0.7",
145145
"@types/multicast-dns": "^7.2.1",
146-
"dns-packet": "^5.4.0",
147-
"multicast-dns": "^7.2.0"
146+
"multicast-dns": "^7.2.5",
147+
"dns-packet": "^5.4.0"
148148
},
149149
"devDependencies": {
150-
"@libp2p/interface-address-manager": "^2.0.0",
151-
"@libp2p/interface-peer-discovery-compliance-tests": "^2.0.0",
150+
"@libp2p/interface-address-manager": "^2.0.1",
151+
"@libp2p/interface-peer-discovery-compliance-tests": "^2.0.1",
152152
"@libp2p/peer-id-factory": "^2.0.0",
153153
"aegir": "^38.1.2",
154-
"delay": "^5.0.0",
155-
"p-defer": "^4.0.0",
156154
"p-wait-for": "^5.0.0",
157155
"ts-sinon": "^2.0.2"
158156
}

src/compat/constants.ts

-4
This file was deleted.

src/compat/index.ts

-71
This file was deleted.

src/compat/querier.ts

-171
This file was deleted.

0 commit comments

Comments
 (0)