Open
Description
We a user lands on the https://github.com/libp2p/js-libp2p/blob/master/doc/GETTING_STARTED.md page, they should primarily see a defaultConfig
that would allow them to get started on most networking setups. Here's an example
import { createLibp2p } from 'libp2p'
import { webSockets } from '@libp2p/websockets'
import { noise } from '@chainsafe/libp2p-noise'
import { mplex } from '@libp2p/mplex'
import { yamux } from '@chainsafe/libp2p-yamux',
import { bootstrap } from '@libp2p/bootstrap'
// Known peers addresses
const bootstrapMultiaddrs = [
'/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb',
'/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN'
]
const node = await createLibp2p({
transports: [webSockets()],
connectionEncryption: [noise()],
streamMuxers: [yamux(), mplex()],
peerDiscovery: [
bootstrap({
list: bootstrapMultiaddrs, // provide array of multiaddrs
})
]
})
node.addEventListener('peer:discovery', (evt) => {
console.log('Discovered %s', evt.detail.id.toString()) // Log discovered peer
})
node.addEventListener('peer:connect', (evt) => {
console.log('Connected to %s', evt.detail.remotePeer.toString()) // Log connected peer
})
The user can then go through the remaining sections to learn more about peer discovery, connection encryption, transports, pubsub, stream muxers etc.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
🛠️ Todo