helia 2.0.3 → 2.1.0-299bb09
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 +17 -8
- package/dist/index.min.js +52 -42
- package/dist/src/block-brokers/bitswap.d.ts +19 -0
- package/dist/src/block-brokers/bitswap.d.ts.map +1 -0
- package/dist/src/block-brokers/bitswap.js +48 -0
- package/dist/src/block-brokers/bitswap.js.map +1 -0
- package/dist/src/block-brokers/index.d.ts +3 -0
- package/dist/src/block-brokers/index.d.ts.map +1 -0
- package/dist/src/block-brokers/index.js +3 -0
- package/dist/src/block-brokers/index.js.map +1 -0
- package/dist/src/block-brokers/trustless-gateway/broker.d.ts +15 -0
- package/dist/src/block-brokers/trustless-gateway/broker.d.ts.map +1 -0
- package/dist/src/block-brokers/trustless-gateway/broker.js +55 -0
- package/dist/src/block-brokers/trustless-gateway/broker.js.map +1 -0
- package/dist/src/block-brokers/trustless-gateway/index.d.ts +13 -0
- package/dist/src/block-brokers/trustless-gateway/index.d.ts.map +1 -0
- package/dist/src/block-brokers/trustless-gateway/index.js +15 -0
- package/dist/src/block-brokers/trustless-gateway/index.js.map +1 -0
- package/dist/src/block-brokers/trustless-gateway/trustless-gateway.d.ts +31 -0
- package/dist/src/block-brokers/trustless-gateway/trustless-gateway.d.ts.map +1 -0
- package/dist/src/block-brokers/trustless-gateway/trustless-gateway.js +114 -0
- package/dist/src/block-brokers/trustless-gateway/trustless-gateway.js.map +1 -0
- package/dist/src/helia.d.ts +3 -2
- package/dist/src/helia.d.ts.map +1 -1
- package/dist/src/helia.js +28 -31
- package/dist/src/helia.js.map +1 -1
- package/dist/src/index.d.ts +25 -10
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +13 -30
- package/dist/src/index.js.map +1 -1
- package/dist/src/pins.js.map +1 -1
- package/dist/src/storage.d.ts +7 -3
- package/dist/src/storage.d.ts.map +1 -1
- package/dist/src/storage.js +14 -0
- package/dist/src/storage.js.map +1 -1
- package/dist/src/utils/dag-walkers.js.map +1 -1
- package/dist/src/utils/datastore-version.js.map +1 -1
- package/dist/src/utils/default-hashers.d.ts +3 -0
- package/dist/src/utils/default-hashers.d.ts.map +1 -0
- package/dist/src/utils/default-hashers.js +11 -0
- package/dist/src/utils/default-hashers.js.map +1 -0
- package/dist/src/utils/libp2p-defaults.browser.d.ts +11 -7
- package/dist/src/utils/libp2p-defaults.browser.d.ts.map +1 -1
- package/dist/src/utils/libp2p-defaults.browser.js +20 -15
- package/dist/src/utils/libp2p-defaults.browser.js.map +1 -1
- package/dist/src/utils/libp2p-defaults.d.ts +13 -9
- package/dist/src/utils/libp2p-defaults.d.ts.map +1 -1
- package/dist/src/utils/libp2p-defaults.js +23 -17
- package/dist/src/utils/libp2p-defaults.js.map +1 -1
- package/dist/src/utils/libp2p.d.ts +13 -5
- package/dist/src/utils/libp2p.d.ts.map +1 -1
- package/dist/src/utils/libp2p.js +21 -4
- package/dist/src/utils/libp2p.js.map +1 -1
- package/dist/src/utils/networked-storage.d.ts +22 -10
- package/dist/src/utils/networked-storage.d.ts.map +1 -1
- package/dist/src/utils/networked-storage.js +115 -16
- package/dist/src/utils/networked-storage.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +60 -23
- package/src/block-brokers/bitswap.ts +77 -0
- package/src/block-brokers/index.ts +2 -0
- package/src/block-brokers/trustless-gateway/broker.ts +65 -0
- package/src/block-brokers/trustless-gateway/index.ts +33 -0
- package/src/block-brokers/trustless-gateway/trustless-gateway.ts +126 -0
- package/src/helia.ts +31 -39
- package/src/index.ts +35 -36
- package/src/storage.ts +20 -3
- package/src/utils/default-hashers.ts +12 -0
- package/src/utils/libp2p-defaults.browser.ts +27 -19
- package/src/utils/libp2p-defaults.ts +31 -22
- package/src/utils/libp2p.ts +40 -8
- package/src/utils/networked-storage.ts +145 -25
- package/src/version.ts +1 -1
- package/dist/typedoc-urls.json +0 -8
package/dist/src/index.js
CHANGED
|
@@ -1,37 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Exports a `createHelia` function that returns an object that implements the {@link Helia} API.
|
|
5
|
+
*
|
|
6
|
+
* Pass it to other modules like {@link https://www.npmjs.com/package/@helia/unixfs | @helia/unixfs} to make files available on the distributed web.
|
|
5
7
|
*
|
|
6
8
|
* @example
|
|
7
9
|
*
|
|
8
10
|
* ```typescript
|
|
9
|
-
* import { MemoryDatastore } from 'datastore-core'
|
|
10
|
-
* import { MemoryBlockstore } from 'blockstore-core'
|
|
11
11
|
* import { createHelia } from 'helia'
|
|
12
12
|
* import { unixfs } from '@helia/unixfs'
|
|
13
13
|
* import { CID } from 'multiformats/cid'
|
|
14
14
|
*
|
|
15
|
-
* const
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* })
|
|
19
|
-
* const fs = unixfs(node)
|
|
15
|
+
* const helia = await createHelia()
|
|
16
|
+
*
|
|
17
|
+
* const fs = unixfs(helia)
|
|
20
18
|
* fs.cat(CID.parse('bafyFoo'))
|
|
21
19
|
* ```
|
|
22
20
|
*/
|
|
23
|
-
import { logger } from '@libp2p/logger';
|
|
24
21
|
import { MemoryBlockstore } from 'blockstore-core';
|
|
25
22
|
import { MemoryDatastore } from 'datastore-core';
|
|
26
23
|
import { HeliaImpl } from './helia.js';
|
|
27
24
|
import { createLibp2p } from './utils/libp2p.js';
|
|
28
|
-
import { name, version } from './version.js';
|
|
29
25
|
// re-export interface types so people don't have to depend on @helia/interface
|
|
30
26
|
// if they don't want to
|
|
31
27
|
export * from '@helia/interface';
|
|
32
28
|
export * from '@helia/interface/blocks';
|
|
33
29
|
export * from '@helia/interface/pins';
|
|
34
|
-
const log = logger('helia');
|
|
35
30
|
export async function createHelia(init = {}) {
|
|
36
31
|
const datastore = init.datastore ?? new MemoryDatastore();
|
|
37
32
|
const blockstore = init.blockstore ?? new MemoryBlockstore();
|
|
@@ -40,19 +35,21 @@ export async function createHelia(init = {}) {
|
|
|
40
35
|
libp2p = init.libp2p;
|
|
41
36
|
}
|
|
42
37
|
else {
|
|
43
|
-
libp2p = await createLibp2p(
|
|
38
|
+
libp2p = await createLibp2p({
|
|
39
|
+
...init,
|
|
40
|
+
libp2p: init.libp2p,
|
|
41
|
+
datastore
|
|
42
|
+
});
|
|
44
43
|
}
|
|
45
44
|
const helia = new HeliaImpl({
|
|
46
45
|
...init,
|
|
46
|
+
libp2p,
|
|
47
47
|
datastore,
|
|
48
|
-
blockstore
|
|
49
|
-
libp2p
|
|
48
|
+
blockstore
|
|
50
49
|
});
|
|
51
50
|
if (init.start !== false) {
|
|
52
51
|
await helia.start();
|
|
53
52
|
}
|
|
54
|
-
// add helia to agent version
|
|
55
|
-
addHeliaToAgentVersion(helia);
|
|
56
53
|
return helia;
|
|
57
54
|
}
|
|
58
55
|
function isLibp2p(obj) {
|
|
@@ -64,18 +61,4 @@ function isLibp2p(obj) {
|
|
|
64
61
|
// if these are all functions it's probably a libp2p object
|
|
65
62
|
return funcs.every(m => typeof obj[m] === 'function');
|
|
66
63
|
}
|
|
67
|
-
function addHeliaToAgentVersion(helia) {
|
|
68
|
-
// add helia to agent version
|
|
69
|
-
try {
|
|
70
|
-
const existingAgentVersion = helia.libp2p.services.identify.host.agentVersion;
|
|
71
|
-
if (existingAgentVersion.match(/js-libp2p\/\d+\.\d+\.\d+\sUserAgent=/) == null) {
|
|
72
|
-
// the user changed the agent version
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
helia.libp2p.services.identify.host.agentVersion = `${name}/${version} ${helia.libp2p.services.identify.host.agentVersion}`;
|
|
76
|
-
}
|
|
77
|
-
catch (err) {
|
|
78
|
-
log.error('could not add Helia to agent version', err);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
64
|
//# 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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAYhD,+EAA+E;AAC/E,wBAAwB;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uBAAuB,CAAA;AA+FrC,MAAM,CAAC,KAAK,UAAU,WAAW,CAAE,OAAkB,EAAE;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,eAAe,EAAE,CAAA;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,gBAAgB,EAAE,CAAA;IAE5D,IAAI,MAAc,CAAA;IAElB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,YAAY,CAAC;YAC1B,GAAG,IAAI;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS;SACV,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;QAC1B,GAAG,IAAI;QACP,MAAM;QACN,SAAS;QACT,UAAU;KACX,CAAC,CAAA;IAEF,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,QAAQ,CAAE,GAAQ;IACzB,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,8DAA8D;IAC9D,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA;IAEvG,2DAA2D;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAA;AACvD,CAAC"}
|
package/dist/src/pins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pins.js","sourceRoot":"","sources":["../../src/pins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAkB,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,GAAG,EAAgB,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAwB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAOzG,MAAM,mBAAmB,GAAG;IAC1B,SAAS;IACT,WAAW;IACX,aAAa;IACb,aAAa;IACb,UAAU;CACX,CAAA;AAmBD,MAAM,oBAAoB,GAAG,OAAO,CAAA;AACpC,MAAM,sBAAsB,GAAG,gBAAgB,CAAA;AAC/C,MAAM,kBAAkB,GAAG,MAAM,CAAA;AACjC,uCAAuC;AACvC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAMpC,SAAS,OAAO,CAAE,GAAQ;IACxB,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"pins.js","sourceRoot":"","sources":["../../src/pins.ts"],"names":[],"mappings":"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"}
|
package/dist/src/storage.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Blocks, Pair, DeleteManyBlocksProgressEvents, DeleteBlockProgressEvents, GetBlockProgressEvents, GetManyBlocksProgressEvents, PutManyBlocksProgressEvents, PutBlockProgressEvents, GetAllBlocksProgressEvents, GetOfflineOptions } from '@helia/interface/blocks';
|
|
2
2
|
import type { Pins } from '@helia/interface/pins';
|
|
3
|
-
import type { AbortOptions } from '@libp2p/interface';
|
|
3
|
+
import type { AbortOptions, Startable } from '@libp2p/interface';
|
|
4
4
|
import type { Blockstore } from 'interface-blockstore';
|
|
5
5
|
import type { AwaitIterable } from 'interface-store';
|
|
6
6
|
import type { Mortice } from 'mortice';
|
|
@@ -10,21 +10,25 @@ export interface BlockStorageInit {
|
|
|
10
10
|
holdGcLock?: boolean;
|
|
11
11
|
}
|
|
12
12
|
export interface GetOptions extends AbortOptions {
|
|
13
|
-
progress
|
|
13
|
+
progress?(evt: Event): void;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* BlockStorage is a hybrid blockstore that puts/gets blocks from a configured
|
|
17
17
|
* blockstore (that may be on disk, s3, or something else). If the blocks are
|
|
18
18
|
* not present Bitswap will be used to fetch them from network peers.
|
|
19
19
|
*/
|
|
20
|
-
export declare class BlockStorage implements Blocks {
|
|
20
|
+
export declare class BlockStorage implements Blocks, Startable {
|
|
21
21
|
lock: Mortice;
|
|
22
22
|
private readonly child;
|
|
23
23
|
private readonly pins;
|
|
24
|
+
private started;
|
|
24
25
|
/**
|
|
25
26
|
* Create a new BlockStorage
|
|
26
27
|
*/
|
|
27
28
|
constructor(blockstore: Blockstore, pins: Pins, options?: BlockStorageInit);
|
|
29
|
+
isStarted(): boolean;
|
|
30
|
+
start(): Promise<void>;
|
|
31
|
+
stop(): Promise<void>;
|
|
28
32
|
unwrap(): Blockstore;
|
|
29
33
|
/**
|
|
30
34
|
* Put a block to the underlying datastore
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC/Q,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,UAAW,SAAQ,YAAY;IAC9C,QAAQ,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;CAC5B;AAED;;;;GAIG;AACH,qBAAa,YAAa,YAAW,MAAM,EAAE,SAAS;IAC7C,IAAI,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAM;IAC3B,OAAO,CAAC,OAAO,CAAS;IAExB;;OAEG;gBACU,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,gBAAqB;IAS/E,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAKvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B,MAAM,IAAK,UAAU;IAIrB;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,YAAY,GAAG,eAAe,CAAC,sBAAsB,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU3H;;OAEG;IACK,OAAO,CAAE,MAAM,EAAE,aAAa,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC,EAAE,OAAO,GAAE,YAAY,GAAG,eAAe,CAAC,2BAA2B,CAAM,GAAG,aAAa,CAAC,GAAG,CAAC;IAUvK;;OAEG;IACG,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC,sBAAsB,CAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAUnI;;OAEG;IACK,OAAO,CAAE,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,GAAE,iBAAiB,GAAG,YAAY,GAAG,eAAe,CAAC,2BAA2B,CAAM,GAAG,aAAa,CAAC,IAAI,CAAC;IAU9J;;OAEG;IACG,MAAM,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAY,GAAG,eAAe,CAAC,yBAAyB,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/G;;OAEG;IACK,UAAU,CAAE,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,GAAE,YAAY,GAAG,eAAe,CAAC,8BAA8B,CAAM,GAAG,aAAa,CAAC,GAAG,CAAC;IAoBzI,GAAG,CAAE,GAAG,EAAE,GAAG,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1D,MAAM,CAAE,OAAO,GAAE,YAAY,GAAG,eAAe,CAAC,0BAA0B,CAAM,GAAG,aAAa,CAAC,IAAI,CAAC;CAS/G"}
|
package/dist/src/storage.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { start, stop } from '@libp2p/interface';
|
|
1
2
|
import createMortice from 'mortice';
|
|
2
3
|
/**
|
|
3
4
|
* BlockStorage is a hybrid blockstore that puts/gets blocks from a configured
|
|
@@ -8,6 +9,7 @@ export class BlockStorage {
|
|
|
8
9
|
lock;
|
|
9
10
|
child;
|
|
10
11
|
pins;
|
|
12
|
+
started;
|
|
11
13
|
/**
|
|
12
14
|
* Create a new BlockStorage
|
|
13
15
|
*/
|
|
@@ -17,6 +19,18 @@ export class BlockStorage {
|
|
|
17
19
|
this.lock = createMortice({
|
|
18
20
|
singleProcess: options.holdGcLock
|
|
19
21
|
});
|
|
22
|
+
this.started = false;
|
|
23
|
+
}
|
|
24
|
+
isStarted() {
|
|
25
|
+
return this.started;
|
|
26
|
+
}
|
|
27
|
+
async start() {
|
|
28
|
+
await start(this.child);
|
|
29
|
+
this.started = true;
|
|
30
|
+
}
|
|
31
|
+
async stop() {
|
|
32
|
+
await stop(this.child);
|
|
33
|
+
this.started = false;
|
|
20
34
|
}
|
|
21
35
|
unwrap() {
|
|
22
36
|
return this.child;
|
package/dist/src/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,SAAS,CAAA;AAkBnC;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAChB,IAAI,CAAS;IACH,KAAK,CAAY;IACjB,IAAI,CAAM;
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dag-walkers.js","sourceRoot":"","sources":["../../../src/utils/dag-walkers.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAEpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,KAAK,SAAS,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,IAAI,MAAM,0BAA0B,CAAA;AAChD,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAA;AAG9C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAc;IACpC,KAAK,EAAE,KAAK,CAAC,IAAI;IACjB,KAAK,CAAC,CAAE,IAAI,CAAE,KAAK;QACjB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEhC,KAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;CACF,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC,KAAK,EAAE,GAAG,CAAC,IAAI;IACf,KAAK,CAAC,CAAE,IAAI;QACV,kCAAkC;IACpC,CAAC;CACF,CAAA;AAED,qEAAqE;AACrE,MAAM,OAAO,GAAG,EAAE,CAAA;AAElB;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC,KAAK,EAAE,OAAO,CAAC,IAAI;IACnB,KAAK,CAAC,CAAE,IAAI,CAAE,KAAK;QACjB,MAAM,IAAI,GAAU,EAAE,CAAA;QACtB,MAAM,IAAI,GAAuB,EAAE,CAAA;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE;YACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"dag-walkers.js","sourceRoot":"","sources":["../../../src/utils/dag-walkers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datastore-version.js","sourceRoot":"","sources":["../../../src/utils/datastore-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAE,SAAoB;IACzE,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"datastore-version.js","sourceRoot":"","sources":["../../../src/utils/datastore-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,GAAG,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;AAC1C,MAAM,eAAe,GAAG,CAAC,CAAA;AAEzB,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAE,SAAoB;IACzE,IAAI,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,oBAAoB,CAAC,GAAG,eAAe,EAAE,CAAC,CAAC,CAAA;QAE/E,OAAM;IACR,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAEjC,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;QAChC,0JAA0J;QAC1J,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAA;IACrF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-hashers.d.ts","sourceRoot":"","sources":["../../../src/utils/default-hashers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,wBAAgB,cAAc,CAAE,OAAO,GAAE,eAAe,EAAO,GAAG,eAAe,EAAE,CAOlF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { identity } from 'multiformats/hashes/identity';
|
|
2
|
+
import { sha256, sha512 } from 'multiformats/hashes/sha2';
|
|
3
|
+
export function defaultHashers(hashers = []) {
|
|
4
|
+
return [
|
|
5
|
+
sha256,
|
|
6
|
+
sha512,
|
|
7
|
+
identity,
|
|
8
|
+
...hashers
|
|
9
|
+
];
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=default-hashers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-hashers.js","sourceRoot":"","sources":["../../../src/utils/default-hashers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAGzD,MAAM,UAAU,cAAc,CAAE,UAA6B,EAAE;IAC7D,OAAO;QACL,MAAM;QACN,MAAM;QACN,QAAQ;QACR,GAAG,OAAO;KACX,CAAA;AACH,CAAC"}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
import { type Identify } from '@libp2p/identify';
|
|
1
2
|
import { type DualKadDHT } from '@libp2p/kad-dht';
|
|
2
|
-
import { type
|
|
3
|
-
import { type PingService } from 'libp2p/ping';
|
|
4
|
-
import type {
|
|
3
|
+
import { type Keychain } from '@libp2p/keychain';
|
|
4
|
+
import { type PingService } from '@libp2p/ping';
|
|
5
|
+
import type { Libp2pDefaultsOptions } from './libp2p.js';
|
|
6
|
+
import type { PubSub } from '@libp2p/interface';
|
|
5
7
|
import type { Libp2pOptions } from 'libp2p';
|
|
6
8
|
export interface DefaultLibp2pServices extends Record<string, unknown> {
|
|
7
|
-
dht: DualKadDHT;
|
|
8
|
-
pubsub: PubSub;
|
|
9
|
-
identify: IdentifyService;
|
|
10
9
|
autoNAT: unknown;
|
|
11
10
|
dcutr: unknown;
|
|
11
|
+
delegatedRouting: unknown;
|
|
12
|
+
dht: DualKadDHT;
|
|
13
|
+
identify: Identify;
|
|
14
|
+
keychain: Keychain;
|
|
12
15
|
ping: PingService;
|
|
16
|
+
pubsub: PubSub;
|
|
13
17
|
}
|
|
14
|
-
export declare function libp2pDefaults(): Libp2pOptions<DefaultLibp2pServices>;
|
|
18
|
+
export declare function libp2pDefaults(options: Libp2pDefaultsOptions): Libp2pOptions<DefaultLibp2pServices>;
|
|
15
19
|
//# sourceMappingURL=libp2p-defaults.browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-defaults.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"libp2p-defaults.browser.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE1D,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AASrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,UAAU,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAgDpG"}
|
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import { gossipsub } from '@chainsafe/libp2p-gossipsub';
|
|
2
2
|
import { noise } from '@chainsafe/libp2p-noise';
|
|
3
3
|
import { yamux } from '@chainsafe/libp2p-yamux';
|
|
4
|
+
import { createDelegatedRoutingV1HttpApiClient } from '@helia/delegated-routing-v1-http-api-client';
|
|
5
|
+
import { autoNAT } from '@libp2p/autonat';
|
|
4
6
|
import { bootstrap } from '@libp2p/bootstrap';
|
|
5
|
-
import {
|
|
7
|
+
import { circuitRelayTransport } from '@libp2p/circuit-relay-v2';
|
|
8
|
+
import { dcutr } from '@libp2p/dcutr';
|
|
9
|
+
import { identify } from '@libp2p/identify';
|
|
6
10
|
import { kadDHT } from '@libp2p/kad-dht';
|
|
11
|
+
import { keychain } from '@libp2p/keychain';
|
|
7
12
|
import { mplex } from '@libp2p/mplex';
|
|
13
|
+
import { ping } from '@libp2p/ping';
|
|
8
14
|
import { webRTC, webRTCDirect } from '@libp2p/webrtc';
|
|
9
15
|
import { webSockets } from '@libp2p/websockets';
|
|
10
16
|
import { webTransport } from '@libp2p/webtransport';
|
|
11
17
|
import { ipnsSelector } from 'ipns/selector';
|
|
12
18
|
import { ipnsValidator } from 'ipns/validator';
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import { dcutrService } from 'libp2p/dcutr';
|
|
16
|
-
import { identifyService } from 'libp2p/identify';
|
|
17
|
-
import { pingService } from 'libp2p/ping';
|
|
19
|
+
import * as libp2pInfo from 'libp2p/version';
|
|
20
|
+
import { name, version } from '../version.js';
|
|
18
21
|
import { bootstrapConfig } from './bootstrappers.js';
|
|
19
|
-
export function libp2pDefaults() {
|
|
22
|
+
export function libp2pDefaults(options) {
|
|
20
23
|
return {
|
|
24
|
+
peerId: options.peerId,
|
|
21
25
|
addresses: {
|
|
22
26
|
listen: [
|
|
23
27
|
'/webrtc'
|
|
@@ -42,14 +46,10 @@ export function libp2pDefaults() {
|
|
|
42
46
|
peerDiscovery: [
|
|
43
47
|
bootstrap(bootstrapConfig)
|
|
44
48
|
],
|
|
45
|
-
contentRouters: [
|
|
46
|
-
ipniContentRouting('https://cid.contact')
|
|
47
|
-
],
|
|
48
49
|
services: {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
dcutr: dcutrService(),
|
|
50
|
+
autoNAT: autoNAT(),
|
|
51
|
+
dcutr: dcutr(),
|
|
52
|
+
delegatedRouting: () => createDelegatedRoutingV1HttpApiClient('https://delegated-ipfs.dev'),
|
|
53
53
|
dht: kadDHT({
|
|
54
54
|
clientMode: true,
|
|
55
55
|
validators: {
|
|
@@ -59,7 +59,12 @@ export function libp2pDefaults() {
|
|
|
59
59
|
ipns: ipnsSelector
|
|
60
60
|
}
|
|
61
61
|
}),
|
|
62
|
-
|
|
62
|
+
identify: identify({
|
|
63
|
+
agentVersion: `${name}/${version} ${libp2pInfo.name}/${libp2pInfo.version} UserAgent=${globalThis.navigator.userAgent}`
|
|
64
|
+
}),
|
|
65
|
+
keychain: keychain(options.keychain),
|
|
66
|
+
ping: ping(),
|
|
67
|
+
pubsub: gossipsub()
|
|
63
68
|
}
|
|
64
69
|
};
|
|
65
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-defaults.browser.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"libp2p-defaults.browser.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAA;AACnG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAiB,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAmB,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,IAAI,EAAoB,MAAM,cAAc,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,UAAU,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAgBpD,MAAM,UAAU,cAAc,CAAE,OAA8B;IAC5D,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,SAAS;aACV;SACF;QACD,UAAU,EAAE;YACV,qBAAqB,CAAC;gBACpB,cAAc,EAAE,CAAC;aAClB,CAAC;YACF,MAAM,EAAE;YACR,YAAY,EAAE;YACd,YAAY,EAAE;YACd,UAAU,EAAE;SACb;QACD,oBAAoB,EAAE;YACpB,KAAK,EAAE;SACR;QACD,YAAY,EAAE;YACZ,KAAK,EAAE;YACP,KAAK,EAAE;SACR;QACD,aAAa,EAAE;YACb,SAAS,CAAC,eAAe,CAAC;SAC3B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,OAAO,EAAE;YAClB,KAAK,EAAE,KAAK,EAAE;YACd,gBAAgB,EAAE,GAAG,EAAE,CAAC,qCAAqC,CAAC,4BAA4B,CAAC;YAC3F,GAAG,EAAE,MAAM,CAAC;gBACV,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE;oBACV,IAAI,EAAE,aAAa;iBACpB;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,YAAY;iBACnB;aACF,CAAC;YACF,QAAQ,EAAE,QAAQ,CAAC;gBACjB,YAAY,EAAE,GAAG,IAAI,IAAI,OAAO,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,cAAc,UAAU,CAAC,SAAS,CAAC,SAAS,EAAE;aACxH,CAAC;YACF,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;YACpC,IAAI,EAAE,IAAI,EAAE;YACZ,MAAM,EAAE,SAAS,EAAE;SACpB;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
+
import { type CircuitRelayService } from '@libp2p/circuit-relay-v2';
|
|
2
|
+
import { type Identify } from '@libp2p/identify';
|
|
1
3
|
import { type DualKadDHT } from '@libp2p/kad-dht';
|
|
2
|
-
import { type
|
|
3
|
-
import { type
|
|
4
|
-
import {
|
|
5
|
-
import type { PubSub } from '@libp2p/interface
|
|
4
|
+
import { type Keychain } from '@libp2p/keychain';
|
|
5
|
+
import { type PingService } from '@libp2p/ping';
|
|
6
|
+
import type { Libp2pDefaultsOptions } from './libp2p.js';
|
|
7
|
+
import type { PubSub } from '@libp2p/interface';
|
|
6
8
|
import type { Libp2pOptions } from 'libp2p';
|
|
7
9
|
export interface DefaultLibp2pServices extends Record<string, unknown> {
|
|
10
|
+
autoNAT: unknown;
|
|
11
|
+
dcutr: unknown;
|
|
12
|
+
delegatedRouting: unknown;
|
|
8
13
|
dht: DualKadDHT;
|
|
14
|
+
identify: Identify;
|
|
15
|
+
keychain: Keychain;
|
|
16
|
+
ping: PingService;
|
|
9
17
|
pubsub: PubSub;
|
|
10
18
|
relay: CircuitRelayService;
|
|
11
|
-
identify: IdentifyService;
|
|
12
|
-
autoNAT: unknown;
|
|
13
19
|
upnp: unknown;
|
|
14
|
-
dcutr: unknown;
|
|
15
|
-
ping: PingService;
|
|
16
20
|
}
|
|
17
|
-
export declare function libp2pDefaults(): Libp2pOptions<DefaultLibp2pServices>;
|
|
21
|
+
export declare function libp2pDefaults(options: Libp2pDefaultsOptions): Libp2pOptions<DefaultLibp2pServices>;
|
|
18
22
|
//# sourceMappingURL=libp2p-defaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-defaults.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"libp2p-defaults.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"AAMA,OAAO,EAA6C,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9G,OAAO,EAAE,KAAK,QAAQ,EAAY,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,KAAK,UAAU,EAAU,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAG1D,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAUrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,WAAW,qBAAsB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB,EAAE,OAAO,CAAA;IACzB,GAAG,EAAE,UAAU,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;IAClB,QAAQ,EAAE,QAAQ,CAAA;IAClB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,mBAAmB,CAAA;IAC1B,IAAI,EAAE,OAAO,CAAA;CACd;AAED,wBAAgB,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,aAAa,CAAC,qBAAqB,CAAC,CAsDpG"}
|
|
@@ -1,28 +1,33 @@
|
|
|
1
1
|
import { gossipsub } from '@chainsafe/libp2p-gossipsub';
|
|
2
2
|
import { noise } from '@chainsafe/libp2p-noise';
|
|
3
3
|
import { yamux } from '@chainsafe/libp2p-yamux';
|
|
4
|
+
import { createDelegatedRoutingV1HttpApiClient } from '@helia/delegated-routing-v1-http-api-client';
|
|
5
|
+
import { autoNAT } from '@libp2p/autonat';
|
|
4
6
|
import { bootstrap } from '@libp2p/bootstrap';
|
|
5
|
-
import {
|
|
7
|
+
import { circuitRelayTransport, circuitRelayServer } from '@libp2p/circuit-relay-v2';
|
|
8
|
+
import { dcutr } from '@libp2p/dcutr';
|
|
9
|
+
import { identify } from '@libp2p/identify';
|
|
6
10
|
import { kadDHT } from '@libp2p/kad-dht';
|
|
11
|
+
import { keychain } from '@libp2p/keychain';
|
|
7
12
|
import { mdns } from '@libp2p/mdns';
|
|
8
13
|
import { mplex } from '@libp2p/mplex';
|
|
14
|
+
import { ping } from '@libp2p/ping';
|
|
9
15
|
import { tcp } from '@libp2p/tcp';
|
|
16
|
+
import { uPnPNAT } from '@libp2p/upnp-nat';
|
|
10
17
|
import { webRTC, webRTCDirect } from '@libp2p/webrtc';
|
|
11
18
|
import { webSockets } from '@libp2p/websockets';
|
|
12
19
|
import { ipnsSelector } from 'ipns/selector';
|
|
13
20
|
import { ipnsValidator } from 'ipns/validator';
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
16
|
-
import { dcutrService } from 'libp2p/dcutr';
|
|
17
|
-
import { identifyService } from 'libp2p/identify';
|
|
18
|
-
import { pingService } from 'libp2p/ping';
|
|
19
|
-
import { uPnPNATService } from 'libp2p/upnp-nat';
|
|
21
|
+
import * as libp2pInfo from 'libp2p/version';
|
|
22
|
+
import { name, version } from '../version.js';
|
|
20
23
|
import { bootstrapConfig } from './bootstrappers.js';
|
|
21
|
-
export function libp2pDefaults() {
|
|
24
|
+
export function libp2pDefaults(options) {
|
|
22
25
|
return {
|
|
26
|
+
peerId: options.peerId,
|
|
23
27
|
addresses: {
|
|
24
28
|
listen: [
|
|
25
29
|
'/ip4/0.0.0.0/tcp/0',
|
|
30
|
+
'/ip6/::/tcp/0',
|
|
26
31
|
'/webrtc'
|
|
27
32
|
]
|
|
28
33
|
},
|
|
@@ -46,15 +51,10 @@ export function libp2pDefaults() {
|
|
|
46
51
|
mdns(),
|
|
47
52
|
bootstrap(bootstrapConfig)
|
|
48
53
|
],
|
|
49
|
-
contentRouters: [
|
|
50
|
-
ipniContentRouting('https://cid.contact')
|
|
51
|
-
],
|
|
52
54
|
services: {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
pubsub: gossipsub(),
|
|
57
|
-
dcutr: dcutrService(),
|
|
55
|
+
autoNAT: autoNAT(),
|
|
56
|
+
dcutr: dcutr(),
|
|
57
|
+
delegatedRouting: () => createDelegatedRoutingV1HttpApiClient('https://delegated-ipfs.dev'),
|
|
58
58
|
dht: kadDHT({
|
|
59
59
|
validators: {
|
|
60
60
|
ipns: ipnsValidator
|
|
@@ -63,10 +63,16 @@ export function libp2pDefaults() {
|
|
|
63
63
|
ipns: ipnsSelector
|
|
64
64
|
}
|
|
65
65
|
}),
|
|
66
|
+
identify: identify({
|
|
67
|
+
agentVersion: `${name}/${version} ${libp2pInfo.name}/${libp2pInfo.version} UserAgent=${globalThis.process.version}`
|
|
68
|
+
}),
|
|
69
|
+
keychain: keychain(options.keychain),
|
|
70
|
+
ping: ping(),
|
|
71
|
+
pubsub: gossipsub(),
|
|
66
72
|
relay: circuitRelayServer({
|
|
67
73
|
advertise: true
|
|
68
74
|
}),
|
|
69
|
-
|
|
75
|
+
upnp: uPnPNAT()
|
|
70
76
|
}
|
|
71
77
|
};
|
|
72
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-defaults.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"libp2p-defaults.js","sourceRoot":"","sources":["../../../src/utils/libp2p-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
1
|
+
import type { DefaultLibp2pServices } from './libp2p-defaults.js';
|
|
2
|
+
import type { ComponentLogger, Libp2p, PeerId } from '@libp2p/interface';
|
|
3
|
+
import type { KeychainInit } from '@libp2p/keychain';
|
|
4
4
|
import type { Datastore } from 'interface-datastore';
|
|
5
|
-
|
|
5
|
+
import type { Libp2pOptions } from 'libp2p';
|
|
6
|
+
export interface CreateLibp2pOptions<T extends Record<string, unknown>> {
|
|
6
7
|
datastore: Datastore;
|
|
8
|
+
libp2p?: Libp2pOptions<T>;
|
|
9
|
+
logger?: ComponentLogger;
|
|
10
|
+
keychain?: KeychainInit;
|
|
7
11
|
start?: boolean;
|
|
8
12
|
}
|
|
9
|
-
export
|
|
13
|
+
export interface Libp2pDefaultsOptions {
|
|
14
|
+
peerId?: PeerId;
|
|
15
|
+
keychain?: KeychainInit;
|
|
16
|
+
}
|
|
17
|
+
export declare function createLibp2p<T extends Record<string, unknown> = DefaultLibp2pServices>(options: CreateLibp2pOptions<T>): Promise<Libp2p<T>>;
|
|
10
18
|
//# sourceMappingURL=libp2p.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"libp2p.d.ts","sourceRoot":"","sources":["../../../src/utils/libp2p.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AAE3C,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpE,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IACzB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,YAAY,CAAA;CACxB;AAED,wBAAsB,YAAY,CAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,qBAAqB,EAAG,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CA4BnJ"}
|
package/dist/src/utils/libp2p.js
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
|
+
import { keychain } from '@libp2p/keychain';
|
|
2
|
+
import { defaultLogger } from '@libp2p/logger';
|
|
3
|
+
import { Key } from 'interface-datastore';
|
|
1
4
|
import { createLibp2p as create } from 'libp2p';
|
|
2
5
|
import { libp2pDefaults } from './libp2p-defaults.js';
|
|
3
|
-
export async function createLibp2p(
|
|
4
|
-
|
|
6
|
+
export async function createLibp2p(options) {
|
|
7
|
+
let peerId = options.libp2p?.peerId;
|
|
8
|
+
const logger = options.logger ?? defaultLogger();
|
|
9
|
+
// if no peer id was passed, try to load it from the keychain
|
|
10
|
+
if (peerId == null) {
|
|
11
|
+
const chain = keychain(options.keychain)({
|
|
12
|
+
datastore: options.datastore,
|
|
13
|
+
logger
|
|
14
|
+
});
|
|
15
|
+
const selfKey = new Key('/pkcs8/self');
|
|
16
|
+
if (await options.datastore.has(selfKey)) {
|
|
17
|
+
// load the peer id from the keychain
|
|
18
|
+
peerId = await chain.exportPeerId('self');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const defaults = libp2pDefaults(options);
|
|
5
22
|
options = options ?? {};
|
|
23
|
+
// @ts-expect-error derived ServiceMap is not compatible with ServiceFactoryMap
|
|
6
24
|
return create({
|
|
7
|
-
datastore,
|
|
8
25
|
...defaults,
|
|
9
|
-
...options,
|
|
26
|
+
...options.libp2p,
|
|
10
27
|
start: false
|
|
11
28
|
});
|
|
12
29
|
}
|