@helia/ipns 5.0.0 → 6.0.0-8a5bc6f

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.
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * With {@link IPNSRouting} routers:
9
9
  *
10
- * ```typescript
10
+ * ```TypeScript
11
11
  * import { createHelia } from 'helia'
12
12
  * import { ipns } from '@helia/ipns'
13
13
  * import { unixfs } from '@helia/unixfs'
@@ -27,7 +27,78 @@
27
27
  * await name.publish(peerId, cid)
28
28
  *
29
29
  * // resolve the name
30
- * const cid = name.resolve(peerId)
30
+ * const result = name.resolve(peerId)
31
+ *
32
+ * console.info(result.cid, result.path)
33
+ * ```
34
+ *
35
+ * @example Publishing a recursive record
36
+ *
37
+ * A recursive record is a one that points to another record rather than to a
38
+ * value.
39
+ *
40
+ * ```TypeScript
41
+ * import { createHelia } from 'helia'
42
+ * import { ipns } from '@helia/ipns'
43
+ * import { unixfs } from '@helia/unixfs'
44
+ *
45
+ * const helia = await createHelia()
46
+ * const name = ipns(helia)
47
+ *
48
+ * // create a public key to publish as an IPNS name
49
+ * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
50
+ * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
51
+ *
52
+ * // store some data to publish
53
+ * const fs = unixfs(helia)
54
+ * const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
55
+ *
56
+ * // publish the name
57
+ * await name.publish(peerId, cid)
58
+ *
59
+ * // create another public key to re-publish the original record
60
+ * const recursiveKeyInfo = await helia.libp2p.services.keychain.createKey('my-recursive-key')
61
+ * const recursivePeerId = await helia.libp2p.services.keychain.exportPeerId(recursiveKeyInfo.name)
62
+ *
63
+ * // publish the recursive name
64
+ * await name.publish(recursivePeerId, peerId)
65
+ *
66
+ * // resolve the name recursively - it resolves until a CID is found
67
+ * const result = name.resolve(recursivePeerId)
68
+ * console.info(result.cid.toString() === cid.toString()) // true
69
+ * ```
70
+ *
71
+ * @example Publishing a record with a path
72
+ *
73
+ * It is possible to publish CIDs with an associated path.
74
+ *
75
+ * ```TypeScript
76
+ * import { createHelia } from 'helia'
77
+ * import { ipns } from '@helia/ipns'
78
+ * import { unixfs } from '@helia/unixfs'
79
+ *
80
+ * const helia = await createHelia()
81
+ * const name = ipns(helia)
82
+ *
83
+ * // create a public key to publish as an IPNS name
84
+ * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
85
+ * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
86
+ *
87
+ * // store some data to publish
88
+ * const fs = unixfs(helia)
89
+ * const fileCid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
90
+ *
91
+ * // store the file in a directory
92
+ * const dirCid = await fs.mkdir()
93
+ * const finalDirCid = await fs.cp(fileCid, dirCid, '/foo.txt')
94
+ *
95
+ * // publish the name
96
+ * await name.publish(peerId, `/ipfs/${finalDirCid}/foo.txt)
97
+ *
98
+ * // resolve the name
99
+ * const result = name.resolve(peerId)
100
+ *
101
+ * console.info(result.cid, result.path) // QmFoo.. 'foo.txt'
31
102
  * ```
32
103
  *
33
104
  * @example Using custom PubSub router
@@ -46,7 +117,7 @@
46
117
  * and multiple peers are listening on the topic(s), otherwise update messages
47
118
  * may fail to be published with "Insufficient peers" errors.
48
119
  *
49
- * ```typescript
120
+ * ```TypeScript
50
121
  * import { createHelia, libp2pDefaults } from 'helia'
51
122
  * import { ipns } from '@helia/ipns'
52
123
  * import { pubsub } from '@helia/ipns/routing'
@@ -77,14 +148,14 @@
77
148
  * await name.publish(peerId, cid)
78
149
  *
79
150
  * // resolve the name
80
- * const cid = name.resolve(peerId)
151
+ * const { cid, path } = name.resolve(peerId)
81
152
  * ```
82
153
  *
83
154
  * @example Using custom DNS over HTTPS resolvers
84
155
  *
85
156
  * With default {@link DNSResolver} resolvers:
86
157
  *
87
- * ```typescript
158
+ * ```TypeScript
88
159
  * import { createHelia } from 'helia'
89
160
  * import { ipns } from '@helia/ipns'
90
161
  * import { unixfs } from '@helia/unixfs'
@@ -97,14 +168,14 @@
97
168
  * ]
98
169
  * })
99
170
  *
100
- * const cid = name.resolveDns('some-domain-with-dnslink-entry.com')
171
+ * const { cid, path } = name.resolveDns('some-domain-with-dnslink-entry.com')
101
172
  * ```
102
173
  *
103
174
  * @example Resolving a domain with a dnslink entry
104
175
  *
105
176
  * Calling `resolveDns` with the `@helia/ipns` instance:
106
177
  *
107
- * ```typescript
178
+ * ```TypeScript
108
179
  * // resolve a CID from a TXT record in a DNS zone file, using the default
109
180
  * // resolver for the current platform eg:
110
181
  * // > dig _dnslink.ipfs.io TXT
@@ -114,7 +185,7 @@
114
185
  * // ;; ANSWER SECTION:
115
186
  * // _dnslink.website.ipfs.io. 60 IN TXT "dnslink=/ipfs/QmWebsite"
116
187
  *
117
- * const cid = name.resolveDns('ipfs.io')
188
+ * const { cid, path } = name.resolveDns('ipfs.io')
118
189
  *
119
190
  * console.info(cid)
120
191
  * // QmWebsite
@@ -128,11 +199,11 @@
128
199
  *
129
200
  * If this is a concern, use the DNS-JSON-Over-HTTPS resolver instead.
130
201
  *
131
- * ```typescript
202
+ * ```TypeScript
132
203
  * // use DNS-Over-HTTPS
133
204
  * import { dnsOverHttps } from '@helia/ipns/dns-resolvers'
134
205
  *
135
- * const cid = name.resolveDns('ipfs.io', {
206
+ * const { cid, path } = name.resolveDns('ipfs.io', {
136
207
  * resolvers: [
137
208
  * dnsOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
138
209
  * ]
@@ -144,11 +215,11 @@
144
215
  * DNS-JSON-Over-HTTPS resolvers use the RFC 8427 `application/dns-json` and can
145
216
  * result in a smaller browser bundle due to the response being plain JSON.
146
217
  *
147
- * ```typescript
218
+ * ```TypeScript
148
219
  * // use DNS-JSON-Over-HTTPS
149
220
  * import { dnsJsonOverHttps } from '@helia/ipns/dns-resolvers'
150
221
  *
151
- * const cid = name.resolveDns('ipfs.io', {
222
+ * const { cid, path } = name.resolveDns('ipfs.io', {
152
223
  * resolvers: [
153
224
  * dnsJsonOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
154
225
  * ]
@@ -224,22 +295,26 @@ export interface RepublishOptions extends AbortOptions, ProgressOptions<Republis
224
295
  */
225
296
  interval?: number;
226
297
  }
298
+ export interface ResolveResult {
299
+ cid: CID;
300
+ path: string;
301
+ }
227
302
  export interface IPNS {
228
303
  /**
229
304
  * Creates an IPNS record signed by the passed PeerId that will resolve to the passed value
230
305
  *
231
306
  * If the value is a PeerId, a recursive IPNS record will be created.
232
307
  */
233
- publish(key: PeerId, value: CID | PeerId, options?: PublishOptions): Promise<IPNSRecord>;
308
+ publish(key: PeerId, value: CID | PeerId | string, options?: PublishOptions): Promise<IPNSRecord>;
234
309
  /**
235
310
  * Accepts a public key formatted as a libp2p PeerID and resolves the IPNS record
236
311
  * corresponding to that public key until a value is found
237
312
  */
238
- resolve(key: PeerId, options?: ResolveOptions): Promise<CID>;
313
+ resolve(key: PeerId, options?: ResolveOptions): Promise<ResolveResult>;
239
314
  /**
240
315
  * Resolve a CID from a dns-link style IPNS record
241
316
  */
242
- resolveDns(domain: string, options?: ResolveDNSOptions): Promise<CID>;
317
+ resolveDns(domain: string, options?: ResolveDNSOptions): Promise<ResolveResult>;
243
318
  /**
244
319
  * Periodically republish all IPNS records found in the datastore
245
320
  */
@@ -255,6 +330,6 @@ export interface IPNSOptions {
255
330
  resolvers?: DNSResolver[];
256
331
  }
257
332
  export declare function ipns(components: IPNSComponents, { routers, resolvers }?: IPNSOptions): IPNS;
258
- export { ipnsValidator };
333
+ export { ipnsValidator, type IPNSRoutingEvents };
259
334
  export { ipnsSelector } from 'ipns/selector';
260
335
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * With {@link IPNSRouting} routers:
9
9
  *
10
- * ```typescript
10
+ * ```TypeScript
11
11
  * import { createHelia } from 'helia'
12
12
  * import { ipns } from '@helia/ipns'
13
13
  * import { unixfs } from '@helia/unixfs'
@@ -27,7 +27,78 @@
27
27
  * await name.publish(peerId, cid)
28
28
  *
29
29
  * // resolve the name
30
- * const cid = name.resolve(peerId)
30
+ * const result = name.resolve(peerId)
31
+ *
32
+ * console.info(result.cid, result.path)
33
+ * ```
34
+ *
35
+ * @example Publishing a recursive record
36
+ *
37
+ * A recursive record is a one that points to another record rather than to a
38
+ * value.
39
+ *
40
+ * ```TypeScript
41
+ * import { createHelia } from 'helia'
42
+ * import { ipns } from '@helia/ipns'
43
+ * import { unixfs } from '@helia/unixfs'
44
+ *
45
+ * const helia = await createHelia()
46
+ * const name = ipns(helia)
47
+ *
48
+ * // create a public key to publish as an IPNS name
49
+ * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
50
+ * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
51
+ *
52
+ * // store some data to publish
53
+ * const fs = unixfs(helia)
54
+ * const cid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
55
+ *
56
+ * // publish the name
57
+ * await name.publish(peerId, cid)
58
+ *
59
+ * // create another public key to re-publish the original record
60
+ * const recursiveKeyInfo = await helia.libp2p.services.keychain.createKey('my-recursive-key')
61
+ * const recursivePeerId = await helia.libp2p.services.keychain.exportPeerId(recursiveKeyInfo.name)
62
+ *
63
+ * // publish the recursive name
64
+ * await name.publish(recursivePeerId, peerId)
65
+ *
66
+ * // resolve the name recursively - it resolves until a CID is found
67
+ * const result = name.resolve(recursivePeerId)
68
+ * console.info(result.cid.toString() === cid.toString()) // true
69
+ * ```
70
+ *
71
+ * @example Publishing a record with a path
72
+ *
73
+ * It is possible to publish CIDs with an associated path.
74
+ *
75
+ * ```TypeScript
76
+ * import { createHelia } from 'helia'
77
+ * import { ipns } from '@helia/ipns'
78
+ * import { unixfs } from '@helia/unixfs'
79
+ *
80
+ * const helia = await createHelia()
81
+ * const name = ipns(helia)
82
+ *
83
+ * // create a public key to publish as an IPNS name
84
+ * const keyInfo = await helia.libp2p.services.keychain.createKey('my-key')
85
+ * const peerId = await helia.libp2p.services.keychain.exportPeerId(keyInfo.name)
86
+ *
87
+ * // store some data to publish
88
+ * const fs = unixfs(helia)
89
+ * const fileCid = await fs.add(Uint8Array.from([0, 1, 2, 3, 4]))
90
+ *
91
+ * // store the file in a directory
92
+ * const dirCid = await fs.mkdir()
93
+ * const finalDirCid = await fs.cp(fileCid, dirCid, '/foo.txt')
94
+ *
95
+ * // publish the name
96
+ * await name.publish(peerId, `/ipfs/${finalDirCid}/foo.txt)
97
+ *
98
+ * // resolve the name
99
+ * const result = name.resolve(peerId)
100
+ *
101
+ * console.info(result.cid, result.path) // QmFoo.. 'foo.txt'
31
102
  * ```
32
103
  *
33
104
  * @example Using custom PubSub router
@@ -46,7 +117,7 @@
46
117
  * and multiple peers are listening on the topic(s), otherwise update messages
47
118
  * may fail to be published with "Insufficient peers" errors.
48
119
  *
49
- * ```typescript
120
+ * ```TypeScript
50
121
  * import { createHelia, libp2pDefaults } from 'helia'
51
122
  * import { ipns } from '@helia/ipns'
52
123
  * import { pubsub } from '@helia/ipns/routing'
@@ -77,14 +148,14 @@
77
148
  * await name.publish(peerId, cid)
78
149
  *
79
150
  * // resolve the name
80
- * const cid = name.resolve(peerId)
151
+ * const { cid, path } = name.resolve(peerId)
81
152
  * ```
82
153
  *
83
154
  * @example Using custom DNS over HTTPS resolvers
84
155
  *
85
156
  * With default {@link DNSResolver} resolvers:
86
157
  *
87
- * ```typescript
158
+ * ```TypeScript
88
159
  * import { createHelia } from 'helia'
89
160
  * import { ipns } from '@helia/ipns'
90
161
  * import { unixfs } from '@helia/unixfs'
@@ -97,14 +168,14 @@
97
168
  * ]
98
169
  * })
99
170
  *
100
- * const cid = name.resolveDns('some-domain-with-dnslink-entry.com')
171
+ * const { cid, path } = name.resolveDns('some-domain-with-dnslink-entry.com')
101
172
  * ```
102
173
  *
103
174
  * @example Resolving a domain with a dnslink entry
104
175
  *
105
176
  * Calling `resolveDns` with the `@helia/ipns` instance:
106
177
  *
107
- * ```typescript
178
+ * ```TypeScript
108
179
  * // resolve a CID from a TXT record in a DNS zone file, using the default
109
180
  * // resolver for the current platform eg:
110
181
  * // > dig _dnslink.ipfs.io TXT
@@ -114,7 +185,7 @@
114
185
  * // ;; ANSWER SECTION:
115
186
  * // _dnslink.website.ipfs.io. 60 IN TXT "dnslink=/ipfs/QmWebsite"
116
187
  *
117
- * const cid = name.resolveDns('ipfs.io')
188
+ * const { cid, path } = name.resolveDns('ipfs.io')
118
189
  *
119
190
  * console.info(cid)
120
191
  * // QmWebsite
@@ -128,11 +199,11 @@
128
199
  *
129
200
  * If this is a concern, use the DNS-JSON-Over-HTTPS resolver instead.
130
201
  *
131
- * ```typescript
202
+ * ```TypeScript
132
203
  * // use DNS-Over-HTTPS
133
204
  * import { dnsOverHttps } from '@helia/ipns/dns-resolvers'
134
205
  *
135
- * const cid = name.resolveDns('ipfs.io', {
206
+ * const { cid, path } = name.resolveDns('ipfs.io', {
136
207
  * resolvers: [
137
208
  * dnsOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
138
209
  * ]
@@ -144,11 +215,11 @@
144
215
  * DNS-JSON-Over-HTTPS resolvers use the RFC 8427 `application/dns-json` and can
145
216
  * result in a smaller browser bundle due to the response being plain JSON.
146
217
  *
147
- * ```typescript
218
+ * ```TypeScript
148
219
  * // use DNS-JSON-Over-HTTPS
149
220
  * import { dnsJsonOverHttps } from '@helia/ipns/dns-resolvers'
150
221
  *
151
- * const cid = name.resolveDns('ipfs.io', {
222
+ * const { cid, path } = name.resolveDns('ipfs.io', {
152
223
  * resolvers: [
153
224
  * dnsJsonOverHttps('https://mozilla.cloudflare-dns.com/dns-query')
154
225
  * ]
@@ -249,15 +320,28 @@ class DefaultIPNS {
249
320
  }
250
321
  async #resolve(ipfsPath, options = {}) {
251
322
  const parts = ipfsPath.split('/');
252
- if (parts.length === 3) {
323
+ try {
253
324
  const scheme = parts[1];
254
325
  if (scheme === 'ipns') {
255
- return this.resolve(peerIdFromString(parts[2]), options);
326
+ const { cid } = await this.resolve(peerIdFromString(parts[2]), options);
327
+ const path = parts.slice(3).join('/');
328
+ return {
329
+ cid,
330
+ path
331
+ };
256
332
  }
257
333
  else if (scheme === 'ipfs') {
258
- return CID.parse(parts[2]);
334
+ const cid = CID.parse(parts[2]);
335
+ const path = parts.slice(3).join('/');
336
+ return {
337
+ cid,
338
+ path
339
+ };
259
340
  }
260
341
  }
342
+ catch (err) {
343
+ log.error('error parsing ipfs path', err);
344
+ }
261
345
  log.error('invalid ipfs path %s', ipfsPath);
262
346
  throw new Error('Invalid value');
263
347
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@helia/ipns",
3
- "version": "5.0.0",
3
+ "version": "6.0.0-8a5bc6f",
4
4
  "description": "An implementation of IPNS for Helia",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/helia/tree/main/packages/ipns#readme",
@@ -164,7 +164,7 @@
164
164
  "release": "aegir release"
165
165
  },
166
166
  "dependencies": {
167
- "@helia/interface": "^4.0.0",
167
+ "@helia/interface": "4.0.0-8a5bc6f",
168
168
  "@libp2p/interface": "^1.1.1",
169
169
  "@libp2p/kad-dht": "^12.0.2",
170
170
  "@libp2p/logger": "^4.0.4",