Skip to content
This repository was archived by the owner on Aug 29, 2023. It is now read-only.

Commit 2924414

Browse files
authored
feat: update to latest interfaces (#184)
BREAKING CHANGE: uses new single-issue libp2p interface modules
1 parent 499a137 commit 2924414

8 files changed

+36
-34
lines changed

README.md

+20-22
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,33 @@
1-
# js-libp2p-tcp <!-- omit in toc -->
1+
# @libp2p/tcp <!-- omit in toc -->
22

3-
[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://protocol.ai)
4-
[![](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
5-
[![](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p)
6-
[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)
7-
[![](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-tcp.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-tcp)
8-
[![Build Status](https://github.com/libp2p/js-libp2p-tcp/actions/workflows/js-test-and-release.yml/badge.svg?branch=main)](https://github.com/libp2p/js-libp2p-tcp/actions/workflows/js-test-and-release.yml)
9-
[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-tcp.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-tcp)
10-
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)
3+
[![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
4+
[![IRC](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p)
5+
[![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)
6+
[![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-tcp.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-tcp)
7+
[![CI](https://img.shields.io/github/workflow/status/libp2p/js-libp2p-interfaces/test%20&%20maybe%20release/master?style=flat-square)](https://github.com/libp2p/js-libp2p-tcp/actions/workflows/js-test-and-release.yml)
118

12-
[![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/src/transport/img/badge.png)](https://github.com/libp2p/js-libp2p-interfaces/tree/master/src/transport)
13-
[![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/src/connection/img/badge.png)](https://github.com/libp2p/js-libp2p-interfaces/tree/master/src/connection)
9+
> Node.js implementation of the TCP module that libp2p uses, which implements the interface-connection and interface-transport interfaces
1410
15-
> JavaScript implementation of the TCP module for libp2p. It exposes the [interface-transport](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/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 transports.
16-
17-
## Table of Contents <!-- omit in toc -->
11+
## Table of contents <!-- omit in toc -->
1812

1913
- [Install](#install)
20-
- [npm](#npm)
2114
- [Usage](#usage)
2215
- [API](#api)
2316
- [Transport](#transport)
2417
- [Connection](#connection)
2518
- [Contribute](#contribute)
2619
- [Contribute](#contribute-1)
2720
- [License](#license)
28-
- [Contribution](#contribution)
21+
- [Contribution](#contribution)
2922

3023
## Install
3124

32-
### npm
25+
```console
26+
$ npm i @libp2p/tcp
27+
```
28+
29+
[![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/src/transport/img/badge.png)](https://github.com/libp2p/js-libp2p-interfaces/tree/master/src/transport)
30+
[![](https://raw.githubusercontent.com/libp2p/js-libp2p-interfaces/master/src/connection/img/badge.png)](https://github.com/libp2p/js-libp2p-interfaces/tree/master/src/connection)
3331

3432
```sh
3533
> npm install @libp2p/tcp
@@ -117,16 +115,16 @@ Small note: If editing the README, please conform to the [standard-readme](https
117115

118116
The libp2p implementation in JavaScript is a work in progress. As such, there are a few things you can do right now to help out:
119117

120-
- Go through the modules and **check out existing issues**. This is especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
121-
- **Perform code reviews**. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.
118+
- Go through the modules and **check out existing issues**. This is especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrastructure behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
119+
- **Perform code reviews**. More eyes will help a) speed the project along b) ensure quality and c) reduce possible future bugs.
122120

123121
## License
124122

125123
Licensed under either of
126124

127-
* Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / http://www.apache.org/licenses/LICENSE-2.0)
128-
* MIT ([LICENSE-MIT](LICENSE-MIT) / http://opensource.org/licenses/MIT)
125+
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
126+
- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
129127

130-
### Contribution
128+
## Contribution
131129

132130
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

package.json

+6-2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
],
3535
"exports": {
3636
".": {
37+
"types": "./src/index.d.ts",
3738
"import": "./dist/src/index.js"
3839
}
3940
},
@@ -135,7 +136,9 @@
135136
"release": "aegir release"
136137
},
137138
"dependencies": {
138-
"@libp2p/interfaces": "^2.0.1",
139+
"@libp2p/interface-connection": "^1.0.1",
140+
"@libp2p/interface-transport": "^1.0.0",
141+
"@libp2p/interfaces": "^3.0.2",
139142
"@libp2p/logger": "^1.1.2",
140143
"@libp2p/utils": "^1.0.9",
141144
"@multiformats/mafmt": "^11.0.2",
@@ -145,7 +148,8 @@
145148
"stream-to-it": "^0.2.2"
146149
},
147150
"devDependencies": {
148-
"@libp2p/interface-compliance-tests": "^2.0.1",
151+
"@libp2p/interface-mocks": "^1.0.1",
152+
"@libp2p/interface-transport-compliance-tests": "^1.0.0",
149153
"aegir": "^37.0.4",
150154
"it-all": "^1.0.6",
151155
"it-pipe": "^2.0.3",

src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { createListener } from './listener.js'
77
import { multiaddrToNetConfig } from './utils.js'
88
import { AbortError } from '@libp2p/interfaces/errors'
99
import { CODE_CIRCUIT, CODE_P2P } from './constants.js'
10-
import { CreateListenerOptions, DialOptions, symbol, Transport } from '@libp2p/interfaces/transport'
10+
import { CreateListenerOptions, DialOptions, symbol, Transport } from '@libp2p/interface-transport'
1111
import type { Multiaddr } from '@multiformats/multiaddr'
1212
import type { Socket } from 'net'
1313
import type { AbortOptions } from '@libp2p/interfaces'

src/listener.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import {
77
multiaddrToNetConfig
88
} from './utils.js'
99
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'
10-
import type { Connection } from '@libp2p/interfaces/connection'
11-
import type { MultiaddrConnection, Upgrader, Listener } from '@libp2p/interfaces/transport'
10+
import type { MultiaddrConnection, Connection } from '@libp2p/interface-connection'
11+
import type { Upgrader, Listener } from '@libp2p/interface-transport'
1212
import type { Server } from 'net'
1313
import type { Multiaddr } from '@multiformats/multiaddr'
1414

src/socket-to-conn.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multi
66
import { CLOSE_TIMEOUT } from './constants.js'
77
import type { Socket } from 'net'
88
import type { Multiaddr } from '@multiformats/multiaddr'
9-
import type { MultiaddrConnection } from '@libp2p/interfaces/transport'
9+
import type { MultiaddrConnection } from '@libp2p/interface-connection'
1010

1111
const log = logger('libp2p:tcp:socket')
1212

test/compliance.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import sinon from 'sinon'
2-
import tests from '@libp2p/interface-compliance-tests/transport'
2+
import tests from '@libp2p/interface-transport-compliance-tests'
33
import { Multiaddr } from '@multiformats/multiaddr'
44
import net from 'net'
55
import { TCP } from '../src/index.js'

test/connection.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { expect } from 'aegir/chai'
22
import { TCP } from '../src/index.js'
33
import { Multiaddr } from '@multiformats/multiaddr'
4-
import { mockUpgrader } from '@libp2p/interface-compliance-tests/mocks'
5-
import type { Connection } from '@libp2p/interfaces/connection'
6-
import type { Upgrader } from '@libp2p/interfaces/transport'
4+
import { mockUpgrader } from '@libp2p/interface-mocks'
5+
import type { Connection } from '@libp2p/interface-connection'
6+
import type { Upgrader } from '@libp2p/interface-transport'
77

88
describe('valid localAddr and remoteAddr', () => {
99
let tcp: TCP

test/listen-dial.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import path from 'path'
55
import { Multiaddr } from '@multiformats/multiaddr'
66
import { pipe } from 'it-pipe'
77
import all from 'it-all'
8-
import { mockRegistrar, mockUpgrader } from '@libp2p/interface-compliance-tests/mocks'
8+
import { mockRegistrar, mockUpgrader } from '@libp2p/interface-mocks'
99
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string'
10-
import type { Upgrader } from '@libp2p/interfaces/transport'
10+
import type { Upgrader } from '@libp2p/interface-transport'
1111

1212
const isCI = process.env.CI
1313

0 commit comments

Comments
 (0)