libp2p 0.41.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/index.min.js +58 -0
- package/dist/src/address-manager/index.d.ts +8 -0
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/circuit/index.d.ts +11 -1
- package/dist/src/circuit/index.d.ts.map +1 -1
- package/dist/src/circuit/index.js.map +1 -1
- package/dist/src/circuit/transport.d.ts +1 -1
- package/dist/src/circuit/transport.d.ts.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +9 -28
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +23 -12
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/fetch/index.d.ts +14 -0
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +14 -0
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/identify/index.d.ts +4 -1
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +123 -137
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +34 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts +23 -0
- package/dist/src/insecure/index.d.ts.map +1 -1
- package/dist/src/insecure/index.js +23 -0
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/keychain/index.d.ts +2 -2
- package/dist/src/keychain/index.d.ts.map +1 -1
- package/dist/src/libp2p.d.ts +5 -2
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +16 -0
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/nat-manager.d.ts.map +1 -1
- package/dist/src/nat-manager.js +5 -1
- package/dist/src/nat-manager.js.map +1 -1
- package/dist/src/peer-routing.d.ts +1 -1
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +1 -1
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/pnet/index.d.ts +23 -0
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +23 -0
- package/dist/src/pnet/index.js.map +1 -1
- package/dist/src/pnet/key-generator.d.ts +3 -2
- package/dist/src/pnet/key-generator.d.ts.map +1 -1
- package/dist/src/pnet/key-generator.js +7 -10
- package/dist/src/pnet/key-generator.js.map +1 -1
- package/dist/src/transport-manager.d.ts +1 -13
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +1 -14
- package/dist/src/transport-manager.js.map +1 -1
- package/package.json +30 -32
- package/src/address-manager/index.ts +8 -0
- package/src/circuit/index.ts +13 -1
- package/src/circuit/transport.ts +1 -1
- package/src/config.ts +1 -1
- package/src/connection-manager/index.ts +49 -56
- package/src/fetch/README.md +7 -2
- package/src/fetch/index.ts +14 -0
- package/src/identify/index.ts +1 -1
- package/src/index.ts +130 -149
- package/src/insecure/index.ts +24 -0
- package/src/keychain/index.ts +2 -2
- package/src/libp2p.ts +22 -2
- package/src/nat-manager.ts +6 -1
- package/src/peer-routing.ts +2 -2
- package/src/pnet/README.md +31 -29
- package/src/pnet/index.ts +24 -0
- package/src/pnet/key-generator.ts +7 -12
- package/src/transport-manager.ts +1 -15
- package/src/version.ts +1 -1
package/dist/src/index.d.ts
CHANGED
|
@@ -1,184 +1,151 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* Use the `createLibp2p` function to create a libp2p node.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { createLibp2p } from 'libp2p'
|
|
10
|
+
*
|
|
11
|
+
* const node = await createLibp2p({
|
|
12
|
+
* // ...other options
|
|
13
|
+
* })
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import type { RecursivePartial } from '@libp2p/interfaces';
|
|
17
|
+
import type { TransportManagerInit } from './transport-manager.js';
|
|
6
18
|
import type { IdentifyServiceInit } from './identify/index.js';
|
|
7
19
|
import type { DualDHT } from '@libp2p/interface-dht';
|
|
8
20
|
import type { Datastore } from 'interface-datastore';
|
|
9
|
-
import type {
|
|
21
|
+
import type { PeerStoreInit } from '@libp2p/interface-peer-store';
|
|
10
22
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
11
|
-
import type {
|
|
23
|
+
import type { RelayConfig } from './circuit/index.js';
|
|
12
24
|
import type { PeerDiscovery } from '@libp2p/interface-peer-discovery';
|
|
13
|
-
import type {
|
|
25
|
+
import type { ConnectionGater, ConnectionProtector } from '@libp2p/interface-connection';
|
|
14
26
|
import type { Transport } from '@libp2p/interface-transport';
|
|
15
27
|
import type { StreamMuxerFactory } from '@libp2p/interface-stream-muxer';
|
|
16
28
|
import type { ConnectionEncrypter } from '@libp2p/interface-connection-encrypter';
|
|
17
29
|
import type { PeerRouting } from '@libp2p/interface-peer-routing';
|
|
18
30
|
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
19
31
|
import type { PubSub } from '@libp2p/interface-pubsub';
|
|
20
|
-
import type { Registrar, StreamHandler, StreamHandlerOptions } from '@libp2p/interface-registrar';
|
|
21
|
-
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
22
32
|
import type { Metrics } from '@libp2p/interface-metrics';
|
|
23
33
|
import type { PeerInfo } from '@libp2p/interface-peer-info';
|
|
24
|
-
import type { KeyChain } from './keychain/index.js';
|
|
25
|
-
import type { ConnectionManagerInit } from './connection-manager/index.js';
|
|
26
34
|
import type { PingServiceInit } from './ping/index.js';
|
|
27
35
|
import type { FetchServiceInit } from './fetch/index.js';
|
|
28
36
|
import type { Components } from './components.js';
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
export interface KeychainConfig {
|
|
39
|
-
pass?: string;
|
|
40
|
-
dek?: DEKConfig;
|
|
41
|
-
}
|
|
42
|
-
export interface MetricsConfig {
|
|
43
|
-
enabled?: boolean;
|
|
44
|
-
}
|
|
45
|
-
export interface HopConfig {
|
|
46
|
-
enabled?: boolean;
|
|
47
|
-
active?: boolean;
|
|
48
|
-
timeout: number;
|
|
49
|
-
}
|
|
50
|
-
export interface RelayConfig {
|
|
51
|
-
enabled: boolean;
|
|
52
|
-
advertise: RelayAdvertiseConfig;
|
|
53
|
-
hop: HopConfig;
|
|
54
|
-
autoRelay: AutoRelayConfig;
|
|
55
|
-
}
|
|
56
|
-
export interface NatManagerConfig {
|
|
57
|
-
enabled: boolean;
|
|
58
|
-
externalAddress?: string;
|
|
59
|
-
localAddress?: string;
|
|
60
|
-
description?: string;
|
|
61
|
-
ttl?: number;
|
|
62
|
-
keepAlive: boolean;
|
|
63
|
-
gateway?: string;
|
|
64
|
-
}
|
|
65
|
-
export interface AddressesConfig {
|
|
66
|
-
listen: string[];
|
|
67
|
-
announce: string[];
|
|
68
|
-
noAnnounce: string[];
|
|
69
|
-
announceFilter: (multiaddrs: Multiaddr[]) => Multiaddr[];
|
|
70
|
-
}
|
|
71
|
-
export interface TransportManagerConfig {
|
|
72
|
-
faultTolerance?: FaultTolerance;
|
|
73
|
-
}
|
|
74
|
-
export interface PeerStoreConfig {
|
|
75
|
-
persistence?: boolean;
|
|
76
|
-
threshold?: number;
|
|
77
|
-
}
|
|
78
|
-
export interface PeerRoutingConfig {
|
|
79
|
-
refreshManager: RefreshManagerConfig;
|
|
80
|
-
}
|
|
81
|
-
export interface RefreshManagerConfig {
|
|
82
|
-
enabled?: boolean;
|
|
83
|
-
interval: number;
|
|
84
|
-
bootDelay: number;
|
|
85
|
-
}
|
|
37
|
+
import type { Libp2p } from '@libp2p/interface-libp2p';
|
|
38
|
+
import type { KeyChainInit } from './keychain/index.js';
|
|
39
|
+
import type { NatManagerInit } from './nat-manager.js';
|
|
40
|
+
import type { AddressManagerInit } from './address-manager/index.js';
|
|
41
|
+
import type { PeerRoutingInit } from './peer-routing.js';
|
|
42
|
+
import type { ConnectionManagerInit } from './connection-manager/index.js';
|
|
43
|
+
/**
|
|
44
|
+
* For Libp2p configurations and modules details read the [Configuration Document](./CONFIGURATION.md).
|
|
45
|
+
*/
|
|
86
46
|
export interface Libp2pInit {
|
|
47
|
+
/**
|
|
48
|
+
* peerId instance (it will be created if not provided)
|
|
49
|
+
*/
|
|
87
50
|
peerId: PeerId;
|
|
88
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Addresses for transport listening and to advertise to the network
|
|
53
|
+
*/
|
|
54
|
+
addresses: AddressManagerInit;
|
|
55
|
+
/**
|
|
56
|
+
* libp2p Connection Manager configuration
|
|
57
|
+
*/
|
|
89
58
|
connectionManager: ConnectionManagerInit;
|
|
59
|
+
/**
|
|
60
|
+
* A connection gater can deny new connections based on user criteria
|
|
61
|
+
*/
|
|
90
62
|
connectionGater: Partial<ConnectionGater>;
|
|
91
|
-
|
|
63
|
+
/**
|
|
64
|
+
* libp2p transport manager configuration
|
|
65
|
+
*/
|
|
66
|
+
transportManager: TransportManagerInit;
|
|
67
|
+
/**
|
|
68
|
+
* An optional datastore to persist peer information, DHT records, etc.
|
|
69
|
+
*
|
|
70
|
+
* An in-memory datastore will be used if one is not provided.
|
|
71
|
+
*/
|
|
92
72
|
datastore: Datastore;
|
|
73
|
+
/**
|
|
74
|
+
* libp2p PeerStore configuration
|
|
75
|
+
*/
|
|
93
76
|
peerStore: PeerStoreInit;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
nat: NatManagerConfig;
|
|
97
|
-
relay: RelayConfig;
|
|
98
|
-
identify: IdentifyServiceInit;
|
|
99
|
-
ping: PingServiceInit;
|
|
100
|
-
fetch: FetchServiceInit;
|
|
101
|
-
transports: Array<(components: Components) => Transport>;
|
|
102
|
-
streamMuxers?: Array<(components: Components) => StreamMuxerFactory>;
|
|
103
|
-
connectionEncryption?: Array<(components: Components) => ConnectionEncrypter>;
|
|
104
|
-
peerDiscovery?: Array<(components: Components) => PeerDiscovery>;
|
|
105
|
-
peerRouters?: Array<(components: Components) => PeerRouting>;
|
|
106
|
-
contentRouters?: Array<(components: Components) => ContentRouting>;
|
|
107
|
-
dht?: (components: Components) => DualDHT;
|
|
108
|
-
metrics?: (components: Components) => Metrics;
|
|
109
|
-
pubsub?: (components: Components) => PubSub;
|
|
110
|
-
connectionProtector?: (components: Components) => ConnectionProtector;
|
|
111
|
-
}
|
|
112
|
-
export interface Libp2pEvents {
|
|
113
|
-
'peer:discovery': CustomEvent<PeerInfo>;
|
|
114
|
-
}
|
|
115
|
-
export interface Libp2p extends Startable, EventEmitter<Libp2pEvents> {
|
|
116
|
-
peerId: PeerId;
|
|
117
|
-
peerStore: PeerStore;
|
|
118
|
-
peerRouting: PeerRouting;
|
|
119
|
-
contentRouting: ContentRouting;
|
|
120
|
-
keychain: KeyChain;
|
|
121
|
-
connectionManager: ConnectionManager;
|
|
122
|
-
registrar: Registrar;
|
|
123
|
-
metrics?: Metrics;
|
|
124
|
-
pubsub: PubSub;
|
|
125
|
-
dht: DualDHT;
|
|
126
|
-
/**
|
|
127
|
-
* Get a deduplicated list of peer advertising multiaddrs by concatenating
|
|
128
|
-
* the listen addresses used by transports with any configured
|
|
129
|
-
* announce addresses as well as observed addresses reported by peers.
|
|
130
|
-
*
|
|
131
|
-
* If Announce addrs are specified, configured listen addresses will be
|
|
132
|
-
* ignored though observed addresses will still be included.
|
|
77
|
+
/**
|
|
78
|
+
* libp2p Peer routing service configuration
|
|
133
79
|
*/
|
|
134
|
-
|
|
80
|
+
peerRouting: PeerRoutingInit;
|
|
135
81
|
/**
|
|
136
|
-
*
|
|
137
|
-
* by a PeerId
|
|
82
|
+
* keychain configuration
|
|
138
83
|
*/
|
|
139
|
-
|
|
84
|
+
keychain: KeyChainInit;
|
|
140
85
|
/**
|
|
141
|
-
*
|
|
86
|
+
* The NAT manager controls uPNP hole punching
|
|
142
87
|
*/
|
|
143
|
-
|
|
88
|
+
nat: NatManagerInit;
|
|
144
89
|
/**
|
|
145
|
-
*
|
|
146
|
-
*
|
|
90
|
+
* If configured as a relay this node will relay certain
|
|
91
|
+
* types of traffic for other peers
|
|
147
92
|
*/
|
|
148
|
-
|
|
93
|
+
relay: RelayConfig;
|
|
149
94
|
/**
|
|
150
|
-
*
|
|
151
|
-
* If successful, the known metadata of the peer will be added to the nodes `peerStore`,
|
|
152
|
-
* and the `MuxedStream` will be returned together with the successful negotiated protocol.
|
|
95
|
+
* libp2p identify protocol options
|
|
153
96
|
*/
|
|
154
|
-
|
|
97
|
+
identify: IdentifyServiceInit;
|
|
155
98
|
/**
|
|
156
|
-
*
|
|
99
|
+
* libp2p ping protocol options
|
|
157
100
|
*/
|
|
158
|
-
|
|
101
|
+
ping: PingServiceInit;
|
|
159
102
|
/**
|
|
160
|
-
*
|
|
103
|
+
* libp2p fetch protocol options
|
|
161
104
|
*/
|
|
162
|
-
|
|
105
|
+
fetch: FetchServiceInit;
|
|
163
106
|
/**
|
|
164
|
-
*
|
|
165
|
-
* will no longer be supported on streams.
|
|
107
|
+
* An array that must include at least 1 compliant transport
|
|
166
108
|
*/
|
|
167
|
-
|
|
109
|
+
transports: Array<(components: Components) => Transport>;
|
|
110
|
+
streamMuxers?: Array<(components: Components) => StreamMuxerFactory>;
|
|
111
|
+
connectionEncryption?: Array<(components: Components) => ConnectionEncrypter>;
|
|
112
|
+
peerDiscovery?: Array<(components: Components) => PeerDiscovery>;
|
|
113
|
+
peerRouters?: Array<(components: Components) => PeerRouting>;
|
|
114
|
+
contentRouters?: Array<(components: Components) => ContentRouting>;
|
|
168
115
|
/**
|
|
169
|
-
*
|
|
116
|
+
* Pass a DHT implementation to enable DHT operations
|
|
170
117
|
*/
|
|
171
|
-
|
|
118
|
+
dht?: (components: Components) => DualDHT;
|
|
172
119
|
/**
|
|
173
|
-
*
|
|
120
|
+
* A Metrics implementation can be supplied to collect metrics on this node
|
|
174
121
|
*/
|
|
175
|
-
|
|
122
|
+
metrics?: (components: Components) => Metrics;
|
|
176
123
|
/**
|
|
177
|
-
*
|
|
178
|
-
* this may mean searching the DHT if the key is not present in the KeyStore.
|
|
124
|
+
* If a PubSub implmentation is supplied, PubSub operations will become available
|
|
179
125
|
*/
|
|
180
|
-
|
|
126
|
+
pubsub?: (components: Components) => PubSub;
|
|
127
|
+
/**
|
|
128
|
+
* A ConnectionProtector can be used to create a secure overlay on top of the network using pre-shared keys
|
|
129
|
+
*/
|
|
130
|
+
connectionProtector?: (components: Components) => ConnectionProtector;
|
|
181
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Once you have a libp2p instance, you can listen to several events it emits, so that you can be notified of relevant network events.
|
|
134
|
+
*/
|
|
135
|
+
export interface Libp2pEvents {
|
|
136
|
+
/**
|
|
137
|
+
* @example
|
|
138
|
+
*
|
|
139
|
+
* ```js
|
|
140
|
+
* libp2p.addEventListener('peer:discovery', (event) => {
|
|
141
|
+
* const peerInfo = event.detail
|
|
142
|
+
* // ...
|
|
143
|
+
* })
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
'peer:discovery': CustomEvent<PeerInfo>;
|
|
147
|
+
}
|
|
148
|
+
export type { Libp2p };
|
|
182
149
|
export type Libp2pOptions = RecursivePartial<Libp2pInit> & {
|
|
183
150
|
start?: boolean;
|
|
184
151
|
};
|
|
@@ -187,6 +154,25 @@ export type Libp2pOptions = RecursivePartial<Libp2pInit> & {
|
|
|
187
154
|
* if one is not passed as part of the options.
|
|
188
155
|
*
|
|
189
156
|
* The node will be started unless `start: false` is passed as an option.
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
*
|
|
160
|
+
* ```js
|
|
161
|
+
* import { createLibp2p } from 'libp2p'
|
|
162
|
+
* import { tcp } from '@libp2p/tcp'
|
|
163
|
+
* import { mplex } from '@libp2p/mplex'
|
|
164
|
+
* import { noise } from '@chainsafe/libp2p-noise'
|
|
165
|
+
*
|
|
166
|
+
* // specify options
|
|
167
|
+
* const options = {
|
|
168
|
+
* transports: [tcp()],
|
|
169
|
+
* streamMuxers: [mplex()],
|
|
170
|
+
* connectionEncryption: [noise()]
|
|
171
|
+
* }
|
|
172
|
+
*
|
|
173
|
+
* // create libp2p
|
|
174
|
+
* const libp2p = await createLibp2p(options)
|
|
175
|
+
* ```
|
|
190
176
|
*/
|
|
191
177
|
export declare function createLibp2p(options: Libp2pOptions): Promise<Libp2p>;
|
|
192
178
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,9 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* Use the `createLibp2p` function to create a libp2p node.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { createLibp2p } from 'libp2p'
|
|
10
|
+
*
|
|
11
|
+
* const node = await createLibp2p({
|
|
12
|
+
* // ...other options
|
|
13
|
+
* })
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
1
16
|
import { createLibp2pNode } from './libp2p.js';
|
|
2
17
|
/**
|
|
3
18
|
* Returns a new instance of the Libp2p interface, generating a new PeerId
|
|
4
19
|
* if one is not passed as part of the options.
|
|
5
20
|
*
|
|
6
21
|
* The node will be started unless `start: false` is passed as an option.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* ```js
|
|
26
|
+
* import { createLibp2p } from 'libp2p'
|
|
27
|
+
* import { tcp } from '@libp2p/tcp'
|
|
28
|
+
* import { mplex } from '@libp2p/mplex'
|
|
29
|
+
* import { noise } from '@chainsafe/libp2p-noise'
|
|
30
|
+
*
|
|
31
|
+
* // specify options
|
|
32
|
+
* const options = {
|
|
33
|
+
* transports: [tcp()],
|
|
34
|
+
* streamMuxers: [mplex()],
|
|
35
|
+
* connectionEncryption: [noise()]
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* // create libp2p
|
|
39
|
+
* const libp2p = await createLibp2p(options)
|
|
40
|
+
* ```
|
|
7
41
|
*/
|
|
8
42
|
export async function createLibp2p(options) {
|
|
9
43
|
const node = await createLibp2pNode(options);
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AA8J9C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAE,OAAsB;IACxD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAE5C,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAC3B,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;KACnB;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* A connection encrypter that does no connection encryption.
|
|
5
|
+
*
|
|
6
|
+
* This should not be used in production should be used for research purposes only.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createLibp2p } from 'libp2p'
|
|
12
|
+
* import { plaintext } from 'libp2p/insecure'
|
|
13
|
+
*
|
|
14
|
+
* // Create a Uint8Array and write the swarm key to it
|
|
15
|
+
* const swarmKey = new Uint8Array(95)
|
|
16
|
+
* generateKey(swarmKey)
|
|
17
|
+
*
|
|
18
|
+
* const node = await createLibp2p({
|
|
19
|
+
* // ...other options
|
|
20
|
+
* connectionEncryption: [plaintext()]
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
1
24
|
import type { ConnectionEncrypter } from '@libp2p/interface-connection-encrypter';
|
|
2
25
|
export declare function plaintext(): () => ConnectionEncrypter;
|
|
3
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAqB,MAAM,wCAAwC,CAAA;AAmGpG,wBAAgB,SAAS,IAAK,MAAM,mBAAmB,CAEtD"}
|
|
@@ -1,3 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* A connection encrypter that does no connection encryption.
|
|
5
|
+
*
|
|
6
|
+
* This should not be used in production should be used for research purposes only.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { createLibp2p } from 'libp2p'
|
|
12
|
+
* import { plaintext } from 'libp2p/insecure'
|
|
13
|
+
*
|
|
14
|
+
* // Create a Uint8Array and write the swarm key to it
|
|
15
|
+
* const swarmKey = new Uint8Array(95)
|
|
16
|
+
* generateKey(swarmKey)
|
|
17
|
+
*
|
|
18
|
+
* const node = await createLibp2p({
|
|
19
|
+
* // ...other options
|
|
20
|
+
* connectionEncryption: [plaintext()]
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
1
24
|
import { logger } from '@libp2p/logger';
|
|
2
25
|
import { handshake } from 'it-handshake';
|
|
3
26
|
import * as lp from 'it-length-prefixed';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/insecure/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { CMS } from './cms.js';
|
|
|
2
2
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
3
3
|
import type { Startable } from '@libp2p/interfaces/dist/src/startable';
|
|
4
4
|
import type { Datastore } from 'interface-datastore';
|
|
5
|
-
export interface
|
|
5
|
+
export interface DEKConfig {
|
|
6
6
|
hash: string;
|
|
7
7
|
salt: string;
|
|
8
8
|
iterationCount: number;
|
|
@@ -10,7 +10,7 @@ export interface DekOptions {
|
|
|
10
10
|
}
|
|
11
11
|
export interface KeyChainInit {
|
|
12
12
|
pass?: string;
|
|
13
|
-
dek?:
|
|
13
|
+
dek?: DEKConfig;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* Information about a key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keychain/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAM9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/keychain/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAM9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAIpD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,SAAS,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;CACb;AA6DD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;CACrB;AAED;;;;;;;GAOG;AACH,qBAAa,QAAS,YAAW,SAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;gBACU,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY;IA+B/D,SAAS;IAIH,KAAK;IAUX,IAAI;IAIJ;;;;;;;OAOG;IACH,IAAI,GAAG,QAUN;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,IAAK,YAAY;IAOvC;;;;;OAKG;IACH,MAAM,KAAK,OAAO;;;;;;;MAEjB;IAED;;;;;;OAMG;IACG,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA0DtF;;;;OAIG;IACG,QAAQ;IAad;;OAEG;IACG,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUhD;;;;;OAKG;IACG,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBpD;;;;;OAKG;IACG,SAAS,CAAE,IAAI,EAAE,MAAM;IAc7B;;;;;;OAMG;IACG,SAAS,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCpE;;OAEG;IACG,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IA6B/C;;;;;;;OAOG;IACG,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoD/E;;OAEG;IACG,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4C/D;;OAEG;IACG,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBnD;;OAEG;IACG,kBAAkB,CAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAmD3D"}
|
package/dist/src/libp2p.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ import type { Connection } from '@libp2p/interface-connection';
|
|
|
11
11
|
import type { PeerRouting } from '@libp2p/interface-peer-routing';
|
|
12
12
|
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
13
13
|
import type { PubSub } from '@libp2p/interface-pubsub';
|
|
14
|
-
import type { Registrar, StreamHandler, StreamHandlerOptions } from '@libp2p/interface-registrar';
|
|
14
|
+
import type { Registrar, StreamHandler, StreamHandlerOptions, Topology } from '@libp2p/interface-registrar';
|
|
15
15
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
16
16
|
import type { PeerInfo } from '@libp2p/interface-peer-info';
|
|
17
17
|
import type { Libp2p, Libp2pEvents, Libp2pInit, Libp2pOptions } from './index.js';
|
|
@@ -22,7 +22,7 @@ export declare class Libp2pNode extends EventEmitter<Libp2pEvents> implements Li
|
|
|
22
22
|
peerId: PeerId;
|
|
23
23
|
dht: DualDHT;
|
|
24
24
|
pubsub: PubSub;
|
|
25
|
-
identifyService
|
|
25
|
+
identifyService: IdentifyService;
|
|
26
26
|
fetchService: FetchService;
|
|
27
27
|
pingService: PingService;
|
|
28
28
|
components: Components;
|
|
@@ -51,6 +51,7 @@ export declare class Libp2pNode extends EventEmitter<Libp2pEvents> implements Li
|
|
|
51
51
|
dial(peer: PeerId | Multiaddr, options?: AbortOptions): Promise<Connection>;
|
|
52
52
|
dialProtocol(peer: PeerId | Multiaddr, protocols: string | string[], options?: AbortOptions): Promise<import("@libp2p/interface-connection").Stream>;
|
|
53
53
|
getMultiaddrs(): Multiaddr[];
|
|
54
|
+
getProtocols(): string[];
|
|
54
55
|
hangUp(peer: PeerId | Multiaddr): Promise<void>;
|
|
55
56
|
/**
|
|
56
57
|
* Get the public key for the given peer id
|
|
@@ -60,6 +61,8 @@ export declare class Libp2pNode extends EventEmitter<Libp2pEvents> implements Li
|
|
|
60
61
|
ping(peer: PeerId | Multiaddr, options?: AbortOptions): Promise<number>;
|
|
61
62
|
handle(protocols: string | string[], handler: StreamHandler, options?: StreamHandlerOptions): Promise<void>;
|
|
62
63
|
unhandle(protocols: string[] | string): Promise<void>;
|
|
64
|
+
register(protocol: string, topology: Topology): Promise<string>;
|
|
65
|
+
unregister(id: string): void;
|
|
63
66
|
/**
|
|
64
67
|
* Called whenever peer discovery services emit `peer` events.
|
|
65
68
|
* Known peers may be emitted.
|
package/dist/src/libp2p.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAe,MAAM,2BAA2B,CAAA;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAWxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAI9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAO7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../src/libp2p.ts"],"names":[],"mappings":"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"}
|
package/dist/src/libp2p.js
CHANGED
|
@@ -86,6 +86,13 @@ export class Libp2pNode extends EventEmitter {
|
|
|
86
86
|
this.components.dialer = new DefaultDialer(this.components, init.connectionManager);
|
|
87
87
|
// Create the Connection Manager
|
|
88
88
|
this.connectionManager = this.components.connectionManager = new DefaultConnectionManager(this.components, init.connectionManager);
|
|
89
|
+
// forward connection manager events
|
|
90
|
+
this.components.connectionManager.addEventListener('peer:disconnect', (event) => {
|
|
91
|
+
this.dispatchEvent(new CustomEvent('peer:disconnect', { detail: event.detail }));
|
|
92
|
+
});
|
|
93
|
+
this.components.connectionManager.addEventListener('peer:connect', (event) => {
|
|
94
|
+
this.dispatchEvent(new CustomEvent('peer:connect', { detail: event.detail }));
|
|
95
|
+
});
|
|
89
96
|
// Create the Registrar
|
|
90
97
|
this.registrar = this.components.registrar = new DefaultRegistrar(this.components);
|
|
91
98
|
// Setup the transport manager
|
|
@@ -263,6 +270,9 @@ export class Libp2pNode extends EventEmitter {
|
|
|
263
270
|
getMultiaddrs() {
|
|
264
271
|
return this.components.addressManager.getAddresses();
|
|
265
272
|
}
|
|
273
|
+
getProtocols() {
|
|
274
|
+
return this.components.registrar.getProtocols();
|
|
275
|
+
}
|
|
266
276
|
async hangUp(peer) {
|
|
267
277
|
const { id } = getPeer(peer);
|
|
268
278
|
await this.components.connectionManager.closeConnections(id);
|
|
@@ -326,6 +336,12 @@ export class Libp2pNode extends EventEmitter {
|
|
|
326
336
|
await this.components.registrar.unhandle(protocol);
|
|
327
337
|
}));
|
|
328
338
|
}
|
|
339
|
+
async register(protocol, topology) {
|
|
340
|
+
return await this.registrar.register(protocol, topology);
|
|
341
|
+
}
|
|
342
|
+
unregister(id) {
|
|
343
|
+
this.registrar.unregister(id);
|
|
344
|
+
}
|
|
329
345
|
/**
|
|
330
346
|
* Called whenever peer discovery services emit `peer` events.
|
|
331
347
|
* Known peers may be emitted.
|