@libp2p/peer-id 4.2.4-dd7b329c4 → 4.2.4-e1ca9cced
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/dist/index.min.js +30 -1
- package/dist/src/index.d.ts +11 -17
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +58 -222
- package/dist/src/index.js.map +1 -1
- package/dist/src/peer-id.d.ts +97 -0
- package/dist/src/peer-id.d.ts.map +1 -0
- package/dist/src/peer-id.js +158 -0
- package/dist/src/peer-id.js.map +1 -0
- package/package.json +3 -2
- package/src/index.ts +67 -286
- package/src/peer-id.ts +213 -0
package/dist/src/index.js
CHANGED
|
@@ -13,257 +13,93 @@
|
|
|
13
13
|
* console.log(peer.toString()) // "12D3K..."
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { publicKeyFromMultihash } from '@libp2p/crypto/keys';
|
|
17
|
+
import { InvalidCIDError, InvalidMultihashError, InvalidParametersError, UnsupportedKeyTypeError } from '@libp2p/interface';
|
|
18
18
|
import { base58btc } from 'multiformats/bases/base58';
|
|
19
|
-
import {
|
|
20
|
-
import { CID } from 'multiformats/cid';
|
|
19
|
+
import {} from 'multiformats/cid';
|
|
21
20
|
import * as Digest from 'multiformats/hashes/digest';
|
|
22
21
|
import { identity } from 'multiformats/hashes/identity';
|
|
23
22
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
24
|
-
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
25
|
-
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
26
23
|
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
27
|
-
|
|
28
|
-
const baseDecoder = Object
|
|
29
|
-
.values(bases)
|
|
30
|
-
.map(codec => codec.decoder)
|
|
31
|
-
// @ts-expect-error https://github.com/multiformats/js-multiformats/issues/141
|
|
32
|
-
.reduce((acc, curr) => acc.or(curr), bases.identity.decoder);
|
|
24
|
+
import { RSAPeerId as RSAPeerIdClass, Ed25519PeerId as Ed25519PeerIdClass, Secp256k1PeerId as Secp256k1PeerIdClass, URLPeerId as URLPeerIdClass } from './peer-id.js';
|
|
33
25
|
// these values are from https://github.com/multiformats/multicodec/blob/master/table.csv
|
|
34
26
|
const LIBP2P_KEY_CODE = 0x72;
|
|
35
|
-
const MARSHALLED_ED225519_PUBLIC_KEY_LENGTH = 36;
|
|
36
|
-
const MARSHALLED_SECP256K1_PUBLIC_KEY_LENGTH = 37;
|
|
37
|
-
class PeerIdImpl {
|
|
38
|
-
type;
|
|
39
|
-
multihash;
|
|
40
|
-
privateKey;
|
|
41
|
-
publicKey;
|
|
42
|
-
string;
|
|
43
|
-
constructor(init) {
|
|
44
|
-
this.type = init.type;
|
|
45
|
-
this.multihash = init.multihash;
|
|
46
|
-
this.privateKey = init.privateKey;
|
|
47
|
-
// mark string cache as non-enumerable
|
|
48
|
-
Object.defineProperty(this, 'string', {
|
|
49
|
-
enumerable: false,
|
|
50
|
-
writable: true
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
get [Symbol.toStringTag]() {
|
|
54
|
-
return `PeerId(${this.toString()})`;
|
|
55
|
-
}
|
|
56
|
-
[peerIdSymbol] = true;
|
|
57
|
-
toString() {
|
|
58
|
-
if (this.string == null) {
|
|
59
|
-
this.string = base58btc.encode(this.multihash.bytes).slice(1);
|
|
60
|
-
}
|
|
61
|
-
return this.string;
|
|
62
|
-
}
|
|
63
|
-
// return self-describing String representation
|
|
64
|
-
// in default format from RFC 0001: https://github.com/libp2p/specs/pull/209
|
|
65
|
-
toCID() {
|
|
66
|
-
return CID.createV1(LIBP2P_KEY_CODE, this.multihash);
|
|
67
|
-
}
|
|
68
|
-
toBytes() {
|
|
69
|
-
return this.multihash.bytes;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Returns Multiaddr as a JSON string
|
|
73
|
-
*/
|
|
74
|
-
toJSON() {
|
|
75
|
-
return this.toString();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Checks the equality of `this` peer against a given PeerId
|
|
79
|
-
*/
|
|
80
|
-
equals(id) {
|
|
81
|
-
if (id == null) {
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
if (id instanceof Uint8Array) {
|
|
85
|
-
return uint8ArrayEquals(this.multihash.bytes, id);
|
|
86
|
-
}
|
|
87
|
-
else if (typeof id === 'string') {
|
|
88
|
-
return peerIdFromString(id).equals(this);
|
|
89
|
-
}
|
|
90
|
-
else if (id?.multihash?.bytes != null) {
|
|
91
|
-
return uint8ArrayEquals(this.multihash.bytes, id.multihash.bytes);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
throw new Error('not valid Id');
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Returns PeerId as a human-readable string
|
|
99
|
-
* https://nodejs.org/api/util.html#utilinspectcustom
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* ```TypeScript
|
|
103
|
-
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
104
|
-
*
|
|
105
|
-
* console.info(peerIdFromString('QmFoo'))
|
|
106
|
-
* // 'PeerId(QmFoo)'
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
[inspect]() {
|
|
110
|
-
return `PeerId(${this.toString()})`;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
class RSAPeerIdImpl extends PeerIdImpl {
|
|
114
|
-
type = 'RSA';
|
|
115
|
-
publicKey;
|
|
116
|
-
constructor(init) {
|
|
117
|
-
super({ ...init, type: 'RSA' });
|
|
118
|
-
this.publicKey = init.publicKey;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
class Ed25519PeerIdImpl extends PeerIdImpl {
|
|
122
|
-
type = 'Ed25519';
|
|
123
|
-
publicKey;
|
|
124
|
-
constructor(init) {
|
|
125
|
-
super({ ...init, type: 'Ed25519' });
|
|
126
|
-
this.publicKey = init.multihash.digest;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
class Secp256k1PeerIdImpl extends PeerIdImpl {
|
|
130
|
-
type = 'secp256k1';
|
|
131
|
-
publicKey;
|
|
132
|
-
constructor(init) {
|
|
133
|
-
super({ ...init, type: 'secp256k1' });
|
|
134
|
-
this.publicKey = init.multihash.digest;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
// these values are from https://github.com/multiformats/multicodec/blob/master/table.csv
|
|
138
27
|
const TRANSPORT_IPFS_GATEWAY_HTTP_CODE = 0x0920;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
constructor(url) {
|
|
146
|
-
this.url = url.toString();
|
|
147
|
-
this.multihash = identity.digest(uint8ArrayFromString(this.url));
|
|
148
|
-
}
|
|
149
|
-
[inspect]() {
|
|
150
|
-
return `PeerId(${this.url})`;
|
|
151
|
-
}
|
|
152
|
-
[peerIdSymbol] = true;
|
|
153
|
-
toString() {
|
|
154
|
-
return this.toCID().toString();
|
|
155
|
-
}
|
|
156
|
-
toCID() {
|
|
157
|
-
return CID.createV1(TRANSPORT_IPFS_GATEWAY_HTTP_CODE, this.multihash);
|
|
158
|
-
}
|
|
159
|
-
toBytes() {
|
|
160
|
-
return this.toCID().bytes;
|
|
28
|
+
export function peerIdFromString(str, decoder) {
|
|
29
|
+
let multihash;
|
|
30
|
+
if (str.charAt(0) === '1' || str.charAt(0) === 'Q') {
|
|
31
|
+
// identity hash ed25519/secp256k1 key or sha2-256 hash of
|
|
32
|
+
// rsa public key - base58btc encoded either way
|
|
33
|
+
multihash = Digest.decode(base58btc.decode(`z${str}`));
|
|
161
34
|
}
|
|
162
|
-
|
|
163
|
-
if (
|
|
164
|
-
|
|
35
|
+
else {
|
|
36
|
+
if (decoder == null) {
|
|
37
|
+
throw new InvalidParametersError('Please pass a multibase decoder for strings that do not start with "1" or "Q"');
|
|
165
38
|
}
|
|
166
|
-
|
|
167
|
-
other = uint8ArrayToString(other);
|
|
168
|
-
}
|
|
169
|
-
return other.toString() === this.toString();
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
export function createPeerId(init) {
|
|
173
|
-
if (init.type === 'RSA') {
|
|
174
|
-
return new RSAPeerIdImpl(init);
|
|
175
|
-
}
|
|
176
|
-
if (init.type === 'Ed25519') {
|
|
177
|
-
return new Ed25519PeerIdImpl(init);
|
|
178
|
-
}
|
|
179
|
-
if (init.type === 'secp256k1') {
|
|
180
|
-
return new Secp256k1PeerIdImpl(init);
|
|
39
|
+
multihash = Digest.decode(decoder.decode(str));
|
|
181
40
|
}
|
|
182
|
-
|
|
41
|
+
return peerIdFromMultihash(multihash);
|
|
183
42
|
}
|
|
184
|
-
export function
|
|
185
|
-
if (
|
|
186
|
-
return new
|
|
43
|
+
export function peerIdFromPublicKey(publicKey) {
|
|
44
|
+
if (publicKey.type === 'Ed25519') {
|
|
45
|
+
return new Ed25519PeerIdClass({
|
|
46
|
+
multihash: publicKey.toCID().multihash,
|
|
47
|
+
publicKey
|
|
48
|
+
});
|
|
187
49
|
}
|
|
188
|
-
if (
|
|
189
|
-
return new
|
|
50
|
+
else if (publicKey.type === 'secp256k1') {
|
|
51
|
+
return new Secp256k1PeerIdClass({
|
|
52
|
+
multihash: publicKey.toCID().multihash,
|
|
53
|
+
publicKey
|
|
54
|
+
});
|
|
190
55
|
}
|
|
191
|
-
if (
|
|
192
|
-
return new
|
|
56
|
+
else if (publicKey.type === 'RSA') {
|
|
57
|
+
return new RSAPeerIdClass({
|
|
58
|
+
multihash: publicKey.toCID().multihash,
|
|
59
|
+
publicKey
|
|
60
|
+
});
|
|
193
61
|
}
|
|
194
|
-
throw new
|
|
62
|
+
throw new UnsupportedKeyTypeError();
|
|
195
63
|
}
|
|
196
|
-
export function
|
|
197
|
-
|
|
198
|
-
if (str.charAt(0) === '1' || str.charAt(0) === 'Q') {
|
|
199
|
-
// identity hash ed25519/secp256k1 key or sha2-256 hash of
|
|
200
|
-
// rsa public key - base58btc encoded either way
|
|
201
|
-
const multihash = Digest.decode(base58btc.decode(`z${str}`));
|
|
202
|
-
if (str.startsWith('12D')) {
|
|
203
|
-
return new Ed25519PeerIdImpl({ multihash });
|
|
204
|
-
}
|
|
205
|
-
else if (str.startsWith('16U')) {
|
|
206
|
-
return new Secp256k1PeerIdImpl({ multihash });
|
|
207
|
-
}
|
|
208
|
-
else {
|
|
209
|
-
return new RSAPeerIdImpl({ multihash });
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
return peerIdFromBytes(baseDecoder.decode(str));
|
|
64
|
+
export function peerIdFromPrivateKey(privateKey) {
|
|
65
|
+
return peerIdFromPublicKey(privateKey.publicKey);
|
|
213
66
|
}
|
|
214
|
-
export function
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
67
|
+
export function peerIdFromMultihash(multihash) {
|
|
68
|
+
if (isSha256Multihash(multihash)) {
|
|
69
|
+
return new RSAPeerIdClass({ multihash });
|
|
70
|
+
}
|
|
71
|
+
else if (isIdentityMultihash(multihash)) {
|
|
72
|
+
try {
|
|
73
|
+
const publicKey = publicKeyFromMultihash(multihash);
|
|
74
|
+
if (publicKey.type === 'Ed25519') {
|
|
75
|
+
return new Ed25519PeerIdClass({ multihash, publicKey });
|
|
220
76
|
}
|
|
221
|
-
else if (
|
|
222
|
-
return new
|
|
77
|
+
else if (publicKey.type === 'secp256k1') {
|
|
78
|
+
return new Secp256k1PeerIdClass({ multihash, publicKey });
|
|
223
79
|
}
|
|
224
80
|
}
|
|
225
|
-
|
|
226
|
-
|
|
81
|
+
catch (err) {
|
|
82
|
+
// was not Ed or secp key, try URL
|
|
83
|
+
const url = uint8ArrayToString(multihash.digest);
|
|
84
|
+
return new URLPeerIdClass(new URL(url));
|
|
227
85
|
}
|
|
228
86
|
}
|
|
229
|
-
|
|
230
|
-
return peerIdFromCID(CID.decode(buf));
|
|
231
|
-
}
|
|
232
|
-
throw new Error('Supplied PeerID CID is invalid');
|
|
87
|
+
throw new InvalidMultihashError('Supplied PeerID Multihash is invalid');
|
|
233
88
|
}
|
|
234
89
|
export function peerIdFromCID(cid) {
|
|
235
90
|
if (cid?.multihash == null || cid.version == null || (cid.version === 1 && (cid.code !== LIBP2P_KEY_CODE) && cid.code !== TRANSPORT_IPFS_GATEWAY_HTTP_CODE)) {
|
|
236
|
-
throw new
|
|
91
|
+
throw new InvalidCIDError('Supplied PeerID CID is invalid');
|
|
237
92
|
}
|
|
238
93
|
if (cid.code === TRANSPORT_IPFS_GATEWAY_HTTP_CODE) {
|
|
239
94
|
const url = uint8ArrayToString(cid.multihash.digest);
|
|
240
|
-
return new
|
|
241
|
-
}
|
|
242
|
-
const multihash = cid.multihash;
|
|
243
|
-
if (multihash.code === sha256.code) {
|
|
244
|
-
return new RSAPeerIdImpl({ multihash: cid.multihash });
|
|
245
|
-
}
|
|
246
|
-
else if (multihash.code === identity.code) {
|
|
247
|
-
if (multihash.digest.length === MARSHALLED_ED225519_PUBLIC_KEY_LENGTH) {
|
|
248
|
-
return new Ed25519PeerIdImpl({ multihash: cid.multihash });
|
|
249
|
-
}
|
|
250
|
-
else if (multihash.digest.length === MARSHALLED_SECP256K1_PUBLIC_KEY_LENGTH) {
|
|
251
|
-
return new Secp256k1PeerIdImpl({ multihash: cid.multihash });
|
|
252
|
-
}
|
|
95
|
+
return new URLPeerIdClass(new URL(url));
|
|
253
96
|
}
|
|
254
|
-
|
|
97
|
+
return peerIdFromMultihash(cid.multihash);
|
|
255
98
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
if (publicKey.length === MARSHALLED_ED225519_PUBLIC_KEY_LENGTH) {
|
|
262
|
-
return new Ed25519PeerIdImpl({ multihash: Digest.create(identity.code, publicKey), privateKey });
|
|
263
|
-
}
|
|
264
|
-
if (publicKey.length === MARSHALLED_SECP256K1_PUBLIC_KEY_LENGTH) {
|
|
265
|
-
return new Secp256k1PeerIdImpl({ multihash: Digest.create(identity.code, publicKey), privateKey });
|
|
266
|
-
}
|
|
267
|
-
return new RSAPeerIdImpl({ multihash: await sha256.digest(publicKey), publicKey, privateKey });
|
|
99
|
+
function isIdentityMultihash(multihash) {
|
|
100
|
+
return multihash.code === identity.code;
|
|
101
|
+
}
|
|
102
|
+
function isSha256Multihash(multihash) {
|
|
103
|
+
return multihash.code === sha256.code;
|
|
268
104
|
}
|
|
269
105
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* An implementation of a peer id
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```TypeScript
|
|
9
|
+
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
10
|
+
* const peer = peerIdFromString('k51qzi5uqu5dkwkqm42v9j9kqcam2jiuvloi16g72i4i4amoo2m8u3ol3mqu6s')
|
|
11
|
+
*
|
|
12
|
+
* console.log(peer.toCID()) // CID(bafzaa...)
|
|
13
|
+
* console.log(peer.toString()) // "12D3K..."
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import { peerIdSymbol } from '@libp2p/interface';
|
|
17
|
+
import { CID } from 'multiformats/cid';
|
|
18
|
+
import type { Ed25519PeerId as Ed25519PeerIdInterface, PeerIdType, RSAPeerId as RSAPeerIdInterface, URLPeerId as URLPeerIdInterface, Secp256k1PeerId as Secp256k1PeerIdInterface, PeerId, PublicKey, Ed25519PublicKey, Secp256k1PublicKey, RSAPublicKey } from '@libp2p/interface';
|
|
19
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
20
|
+
declare const inspect: unique symbol;
|
|
21
|
+
interface PeerIdInit<DigestCode extends number> {
|
|
22
|
+
type: PeerIdType;
|
|
23
|
+
multihash: MultihashDigest<DigestCode>;
|
|
24
|
+
}
|
|
25
|
+
interface RSAPeerIdInit {
|
|
26
|
+
multihash: MultihashDigest<0x12>;
|
|
27
|
+
publicKey?: RSAPublicKey;
|
|
28
|
+
}
|
|
29
|
+
interface Ed25519PeerIdInit {
|
|
30
|
+
multihash: MultihashDigest<0x0>;
|
|
31
|
+
publicKey: Ed25519PublicKey;
|
|
32
|
+
}
|
|
33
|
+
interface Secp256k1PeerIdInit {
|
|
34
|
+
multihash: MultihashDigest<0x0>;
|
|
35
|
+
publicKey: Secp256k1PublicKey;
|
|
36
|
+
}
|
|
37
|
+
declare class PeerIdImpl<DigestCode extends number> {
|
|
38
|
+
type: PeerIdType;
|
|
39
|
+
private readonly multihash;
|
|
40
|
+
readonly publicKey?: PublicKey;
|
|
41
|
+
private string?;
|
|
42
|
+
constructor(init: PeerIdInit<DigestCode>);
|
|
43
|
+
get [Symbol.toStringTag](): string;
|
|
44
|
+
readonly [peerIdSymbol] = true;
|
|
45
|
+
toString(): string;
|
|
46
|
+
toMultihash(): MultihashDigest<DigestCode>;
|
|
47
|
+
toCID(): CID<Uint8Array, 0x72, DigestCode, 1>;
|
|
48
|
+
toJSON(): string;
|
|
49
|
+
/**
|
|
50
|
+
* Checks the equality of `this` peer against a given PeerId
|
|
51
|
+
*/
|
|
52
|
+
equals(id?: PeerId | Uint8Array | string): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Returns PeerId as a human-readable string
|
|
55
|
+
* https://nodejs.org/api/util.html#utilinspectcustom
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```TypeScript
|
|
59
|
+
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
60
|
+
*
|
|
61
|
+
* console.info(peerIdFromString('QmFoo'))
|
|
62
|
+
* // 'PeerId(QmFoo)'
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
[inspect](): string;
|
|
66
|
+
}
|
|
67
|
+
export declare class RSAPeerId extends PeerIdImpl<0x12> implements RSAPeerIdInterface {
|
|
68
|
+
readonly type = "RSA";
|
|
69
|
+
readonly publicKey?: RSAPublicKey;
|
|
70
|
+
constructor(init: RSAPeerIdInit);
|
|
71
|
+
}
|
|
72
|
+
export declare class Ed25519PeerId extends PeerIdImpl<0x0> implements Ed25519PeerIdInterface {
|
|
73
|
+
readonly type = "Ed25519";
|
|
74
|
+
readonly publicKey: Ed25519PublicKey;
|
|
75
|
+
constructor(init: Ed25519PeerIdInit);
|
|
76
|
+
}
|
|
77
|
+
export declare class Secp256k1PeerId extends PeerIdImpl<0x0> implements Secp256k1PeerIdInterface {
|
|
78
|
+
readonly type = "secp256k1";
|
|
79
|
+
readonly publicKey: Secp256k1PublicKey;
|
|
80
|
+
constructor(init: Secp256k1PeerIdInit);
|
|
81
|
+
}
|
|
82
|
+
export declare class URLPeerId implements URLPeerIdInterface {
|
|
83
|
+
readonly type = "url";
|
|
84
|
+
readonly multihash: MultihashDigest<0x0>;
|
|
85
|
+
readonly publicKey: undefined;
|
|
86
|
+
readonly url: string;
|
|
87
|
+
constructor(url: URL);
|
|
88
|
+
[inspect](): string;
|
|
89
|
+
readonly [peerIdSymbol] = true;
|
|
90
|
+
toString(): string;
|
|
91
|
+
toMultihash(): MultihashDigest<0x0>;
|
|
92
|
+
toCID(): CID<Uint8Array, 0x0920, 0x0, 1>;
|
|
93
|
+
toJSON(): string;
|
|
94
|
+
equals(other?: PeerId | Uint8Array | string): boolean;
|
|
95
|
+
}
|
|
96
|
+
export {};
|
|
97
|
+
//# sourceMappingURL=peer-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-id.d.ts","sourceRoot":"","sources":["../../src/peer-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* An implementation of a peer id
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```TypeScript
|
|
9
|
+
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
10
|
+
* const peer = peerIdFromString('k51qzi5uqu5dkwkqm42v9j9kqcam2jiuvloi16g72i4i4amoo2m8u3ol3mqu6s')
|
|
11
|
+
*
|
|
12
|
+
* console.log(peer.toCID()) // CID(bafzaa...)
|
|
13
|
+
* console.log(peer.toString()) // "12D3K..."
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
import { peerIdSymbol } from '@libp2p/interface';
|
|
17
|
+
import { base58btc } from 'multiformats/bases/base58';
|
|
18
|
+
import { CID } from 'multiformats/cid';
|
|
19
|
+
import { identity } from 'multiformats/hashes/identity';
|
|
20
|
+
import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
|
|
21
|
+
import { fromString as uint8ArrayFromString } from 'uint8arrays/from-string';
|
|
22
|
+
import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
|
|
23
|
+
const inspect = Symbol.for('nodejs.util.inspect.custom');
|
|
24
|
+
// these values are from https://github.com/multiformats/multicodec/blob/master/table.csv
|
|
25
|
+
const LIBP2P_KEY_CODE = 0x72;
|
|
26
|
+
class PeerIdImpl {
|
|
27
|
+
type;
|
|
28
|
+
multihash;
|
|
29
|
+
publicKey;
|
|
30
|
+
string;
|
|
31
|
+
constructor(init) {
|
|
32
|
+
this.type = init.type;
|
|
33
|
+
this.multihash = init.multihash;
|
|
34
|
+
// mark string cache as non-enumerable
|
|
35
|
+
Object.defineProperty(this, 'string', {
|
|
36
|
+
enumerable: false,
|
|
37
|
+
writable: true
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
get [Symbol.toStringTag]() {
|
|
41
|
+
return `PeerId(${this.toString()})`;
|
|
42
|
+
}
|
|
43
|
+
[peerIdSymbol] = true;
|
|
44
|
+
toString() {
|
|
45
|
+
if (this.string == null) {
|
|
46
|
+
this.string = base58btc.encode(this.multihash.bytes).slice(1);
|
|
47
|
+
}
|
|
48
|
+
return this.string;
|
|
49
|
+
}
|
|
50
|
+
toMultihash() {
|
|
51
|
+
return this.multihash;
|
|
52
|
+
}
|
|
53
|
+
// return self-describing String representation
|
|
54
|
+
// in default format from RFC 0001: https://github.com/libp2p/specs/pull/209
|
|
55
|
+
toCID() {
|
|
56
|
+
return CID.createV1(LIBP2P_KEY_CODE, this.multihash);
|
|
57
|
+
}
|
|
58
|
+
toJSON() {
|
|
59
|
+
return this.toString();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Checks the equality of `this` peer against a given PeerId
|
|
63
|
+
*/
|
|
64
|
+
equals(id) {
|
|
65
|
+
if (id == null) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (id instanceof Uint8Array) {
|
|
69
|
+
return uint8ArrayEquals(this.multihash.bytes, id);
|
|
70
|
+
}
|
|
71
|
+
else if (typeof id === 'string') {
|
|
72
|
+
return this.toString() === id;
|
|
73
|
+
}
|
|
74
|
+
else if (id?.toMultihash()?.bytes != null) {
|
|
75
|
+
return uint8ArrayEquals(this.multihash.bytes, id.toMultihash().bytes);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
throw new Error('not valid Id');
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Returns PeerId as a human-readable string
|
|
83
|
+
* https://nodejs.org/api/util.html#utilinspectcustom
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```TypeScript
|
|
87
|
+
* import { peerIdFromString } from '@libp2p/peer-id'
|
|
88
|
+
*
|
|
89
|
+
* console.info(peerIdFromString('QmFoo'))
|
|
90
|
+
* // 'PeerId(QmFoo)'
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
[inspect]() {
|
|
94
|
+
return `PeerId(${this.toString()})`;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export class RSAPeerId extends PeerIdImpl {
|
|
98
|
+
type = 'RSA';
|
|
99
|
+
publicKey;
|
|
100
|
+
constructor(init) {
|
|
101
|
+
super({ ...init, type: 'RSA' });
|
|
102
|
+
this.publicKey = init.publicKey;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export class Ed25519PeerId extends PeerIdImpl {
|
|
106
|
+
type = 'Ed25519';
|
|
107
|
+
publicKey;
|
|
108
|
+
constructor(init) {
|
|
109
|
+
super({ ...init, type: 'Ed25519' });
|
|
110
|
+
this.publicKey = init.publicKey;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
export class Secp256k1PeerId extends PeerIdImpl {
|
|
114
|
+
type = 'secp256k1';
|
|
115
|
+
publicKey;
|
|
116
|
+
constructor(init) {
|
|
117
|
+
super({ ...init, type: 'secp256k1' });
|
|
118
|
+
this.publicKey = init.publicKey;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// these values are from https://github.com/multiformats/multicodec/blob/master/table.csv
|
|
122
|
+
const TRANSPORT_IPFS_GATEWAY_HTTP_CODE = 0x0920;
|
|
123
|
+
export class URLPeerId {
|
|
124
|
+
type = 'url';
|
|
125
|
+
multihash;
|
|
126
|
+
publicKey;
|
|
127
|
+
url;
|
|
128
|
+
constructor(url) {
|
|
129
|
+
this.url = url.toString();
|
|
130
|
+
this.multihash = identity.digest(uint8ArrayFromString(this.url));
|
|
131
|
+
}
|
|
132
|
+
[inspect]() {
|
|
133
|
+
return `PeerId(${this.url})`;
|
|
134
|
+
}
|
|
135
|
+
[peerIdSymbol] = true;
|
|
136
|
+
toString() {
|
|
137
|
+
return this.toCID().toString();
|
|
138
|
+
}
|
|
139
|
+
toMultihash() {
|
|
140
|
+
return this.multihash;
|
|
141
|
+
}
|
|
142
|
+
toCID() {
|
|
143
|
+
return CID.createV1(TRANSPORT_IPFS_GATEWAY_HTTP_CODE, this.toMultihash());
|
|
144
|
+
}
|
|
145
|
+
toJSON() {
|
|
146
|
+
return this.toString();
|
|
147
|
+
}
|
|
148
|
+
equals(other) {
|
|
149
|
+
if (other == null) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
if (other instanceof Uint8Array) {
|
|
153
|
+
other = uint8ArrayToString(other);
|
|
154
|
+
}
|
|
155
|
+
return other.toString() === this.toString();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=peer-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"peer-id.js","sourceRoot":"","sources":["../../src/peer-id.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/peer-id",
|
|
3
|
-
"version": "4.2.4-
|
|
3
|
+
"version": "4.2.4-e1ca9cced",
|
|
4
4
|
"description": "Implementation of @libp2p/interface-peer-id",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/peer-id#readme",
|
|
@@ -54,7 +54,8 @@
|
|
|
54
54
|
"test:electron-main": "aegir test -t electron-main"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@libp2p/
|
|
57
|
+
"@libp2p/crypto": "4.1.9-e1ca9cced",
|
|
58
|
+
"@libp2p/interface": "1.7.0-e1ca9cced",
|
|
58
59
|
"multiformats": "^13.1.0",
|
|
59
60
|
"uint8arrays": "^5.1.0"
|
|
60
61
|
},
|