2018-02-20 10:27:17 +00:00
2018-02-07 06:40:00 +00:00
2018-02-07 06:40:00 +00:00
2017-10-13 17:17:54 +02:00
2016-05-09 11:14:40 +02:00
2018-02-07 05:59:57 +00:00
2016-09-06 09:16:32 -04:00
2018-02-20 10:27:17 +00:00
2018-02-20 10:25:18 +00:00

js-libp2p-tcp

Build Status Coverage Status Dependency Status js-standard-style

JavaScript implementation of the TCP module for libp2p. It exposes the interface-transport for dial/listen. libp2p-tcp is a very thin shim that adds support for dialing to a multiaddr. This small shim will enable libp2p to use other different transports.

Table of Contents

Install

npm

> npm install libp2p-tcp

Usage

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

API

Transport

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.

Connection

Contribute

Contributions are welcome! The libp2p implementation in JavaScript is a work in progress. As such, there's a few things you can do right now to help out:

Please be aware that all interactions related to libp2p are subject to the IPFS Code of Conduct.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © 2015-2016 David Dias

Description
No description provided
Readme 1.6 MiB
Languages
JavaScript 100%