| 1 | import { inspectorMetrics } from '@ipshipyard/libp2p-inspector-metrics' |
| 2 | import { webRTCDirect } from '@libp2p/webrtc' |
| 3 | import { createLibp2p } from 'libp2p' |
| 4 | import type { Libp2p, Libp2pOptions } from 'libp2p' |
| 5 | |
| 6 | export function getLibp2p (config: Libp2pOptions = {}): Promise<Libp2p> { |
| 7 | return createLibp2p({ |
| 8 | metrics: inspectorMetrics(), |
| 9 | addresses: { |
| 10 | listen: [ |
| 11 | '/ip4/0.0.0.0/udp/0/webrtc-direct' |
| 12 | ] |
| 13 | }, |
| 14 | transports: [ |
| 15 | webRTCDirect() |
| 16 | ], |
| 17 | ...config |
| 18 | }) |
| 19 | } |