mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-25 04:32:26 +00:00
js-libp2p-tcp
Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection interface for dial/listen.
Description
libp2p-tcp
in Node.js is a very thin shim that adds support for dialing to a
multiaddr
. This small shim will enable libp2p to use other different
transports.
Note: This module uses pull-streams for all stream based interfaces.
Example
const TCP = require('libp2p-tcp')
const multiaddr = require('multiaddr')
const pull = require('pull-stream')
const mh1 = multiaddr('/ip4/127.0.0.1/tcp/9090')
const mh2 = multiaddr('/ip6/::/tcp/9092')
const tcp = new TCP()
const listener = tcp.createListener(mh1, (socket) => {
console.log('new connection opened')
pull(
pull.values(['hello']),
socket
)
})
listener.listen(() => {
console.log('listening')
pull(
tcp.dial(mh1),
pull.log,
pull.onEnd(() => {
tcp.close()
})
)
})
outputs
listening
new connection opened
hello
Installation
npm
> npm i libp2p-tcp
API
libp2p-tcp
accepts TCP addresses both IPFS and non IPFS encapsulated addresses, i.e:
/ip4/127.0.0.1/tcp/4001
/ip4/127.0.0.1/tcp/4001/ipfs/QmHash
Both for dialing and listening.
License
MIT
Description
Languages
JavaScript
100%