@constl/utils-tests 1.7.0 → 2.0.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/.aegir.js +2 -2
- package/dist/attente.d.ts +8 -30
- package/dist/attente.js +101 -141
- package/dist/attente.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.js +4 -4
- package/dist/config.js.map +1 -1
- package/dist/constellation.d.ts +14 -10
- package/dist/constellation.js +24 -43
- package/dist/constellation.js.map +1 -1
- package/dist/dossiers.d.ts +1 -1
- package/dist/dossiers.js +19 -5
- package/dist/dossiers.js.map +1 -1
- package/dist/h/303/251lia.d.ts +11 -0
- package/dist/h/303/251lia.js +38 -0
- package/dist/h/303/251lia.js.map +1 -0
- package/dist/index.d.ts +8 -8
- package/dist/index.js +8 -8
- package/dist/index.js.map +1 -1
- package/dist/libp2p/config.d.ts +25 -0
- package/dist/{libp2p.js → libp2p/config.js} +47 -56
- package/dist/libp2p/config.js.map +1 -0
- package/dist/libp2p/index.d.ts +3 -0
- package/dist/libp2p/index.js +4 -0
- package/dist/libp2p/index.js.map +1 -0
- package/dist/libp2p/libp2p.d.ts +9 -0
- package/dist/libp2p/libp2p.js +21 -0
- package/dist/libp2p/libp2p.js.map +1 -0
- package/dist/libp2p/utils.d.ts +10 -0
- package/dist/libp2p/utils.js +41 -0
- package/dist/libp2p/utils.js.map +1 -0
- package/dist/orbite.d.ts +7 -23
- package/dist/orbite.js +31 -154
- package/dist/orbite.js.map +1 -1
- package/dist/{scripts/relai.js → relai/bin.js} +12 -16
- package/dist/relai/bin.js.map +1 -0
- package/dist/relai/consts.d.ts +3 -0
- package/dist/relai/consts.js +4 -0
- package/dist/relai/consts.js.map +1 -0
- package/dist/relai/index.d.ts +3 -0
- package/dist/relai/index.js +4 -0
- package/dist/relai/index.js.map +1 -0
- package/dist/relai/relai.d.ts +5 -0
- package/dist/relai/relai.js +29 -0
- package/dist/relai/relai.js.map +1 -0
- package/dist/relai/utils.d.ts +4 -0
- package/dist/relai/utils.js +6 -0
- package/dist/relai/utils.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils.d.ts +4 -0
- package/dist/utils.js +5 -0
- package/dist/utils.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/attente.ts +129 -156
- package/src/config.ts +10 -4
- package/src/constellation.ts +39 -60
- package/src/dossiers.ts +18 -6
- package/src/h/303/251lia.ts +61 -0
- package/src/index.ts +24 -8
- package/src/{libp2p.ts → libp2p/config.ts} +66 -71
- package/src/libp2p/index.ts +9 -0
- package/src/libp2p/libp2p.ts +41 -0
- package/src/libp2p/utils.ts +59 -0
- package/src/orbite.ts +43 -228
- package/src/{scripts/relai.ts → relai/bin.ts} +11 -16
- package/src/relai/consts.ts +5 -0
- package/src/relai/index.ts +3 -0
- package/src/relai/relai.ts +40 -0
- package/src/relai/utils.ts +14 -0
- package/src/utils.ts +5 -0
- package/src/version.ts +1 -1
- package/dist/libp2p.d.ts +0 -26
- package/dist/libp2p.js.map +0 -1
- package/dist/scripts/relai.js.map +0 -1
- package/dist/sfip.d.ts +0 -13
- package/dist/sfip.js +0 -89
- package/dist/sfip.js.map +0 -1
- package/src/sfip.ts +0 -127
- /package/dist/{scripts/relai.d.ts → relai/bin.d.ts} +0 -0
package/dist/libp2p.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Identify } from "@libp2p/identify";
|
|
2
|
-
import { GossipSub } from "@chainsafe/libp2p-gossipsub";
|
|
3
|
-
import type { PrivateKey } from "@libp2p/interface";
|
|
4
|
-
import type { Libp2pOptions } from "libp2p";
|
|
5
|
-
/**
|
|
6
|
-
* A basic Libp2p configuration for Node.js nodes.
|
|
7
|
-
*/
|
|
8
|
-
export declare const DefaultLibp2pOptions: Libp2pOptions<ServicesLibp2pConstlTest>;
|
|
9
|
-
/**
|
|
10
|
-
* A basic Libp2p configuration for browser nodes.
|
|
11
|
-
*/
|
|
12
|
-
export declare const DefaultLibp2pBrowserOptions: Libp2pOptions<ServicesLibp2pConstlTest>;
|
|
13
|
-
interface ComposantesServiceClefPrivée {
|
|
14
|
-
privateKey: PrivateKey;
|
|
15
|
-
}
|
|
16
|
-
export type ServicesLibp2pConstlTest = {
|
|
17
|
-
identify: Identify;
|
|
18
|
-
pubsub: GossipSub;
|
|
19
|
-
obtClefPrivée: ServiceClefPrivée;
|
|
20
|
-
};
|
|
21
|
-
export declare class ServiceClefPrivée {
|
|
22
|
-
privateKey: PrivateKey;
|
|
23
|
-
constructor(components: ComposantesServiceClefPrivée);
|
|
24
|
-
obtenirClef(): PrivateKey;
|
|
25
|
-
}
|
|
26
|
-
export {};
|
package/dist/libp2p.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p.js","sourceRoot":"","sources":["../src/libp2p.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;EAwBE;AAEF,OAAO,EAAY,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EACL,SAAS,GAGV,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAIjE;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA4C;IAC3E,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,uBAAuB,EAAE,cAAc,CAAC;KAClD;IACD,UAAU,EAAE;QACV,UAAU,CAAC;YACT,MAAM,EAAE,GAAG;SACZ,CAAC;QACF,MAAM,EAAE;QACR,qBAAqB,EAAE;KACxB;IACD,oBAAoB,EAAE,CAAC,KAAK,EAAE,CAAC;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;IACvB,eAAe,EAAE;QACf,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;KAC/B;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,QAAQ,EAAE;QACpB,MAAM,EAAE,SAAS,CAAC,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAE1C,EAAE,wCAAwC;QACxD,aAAa,EAAE,CAAC,UAAwC,EAAE,EAAE,CAC1D,IAAI,iBAAiB,CAAC,UAAU,CAAC;KACpC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC;IACE,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;KACpC;IACD,UAAU,EAAE;QACV,UAAU,CAAC;YACT,MAAM,EAAE,GAAG;SACZ,CAAC;QACF,MAAM,EAAE;QACR,qBAAqB,EAAE;KACxB;IACD,oBAAoB,EAAE,CAAC,KAAK,EAAE,CAAC;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;IACvB,eAAe,EAAE;QACf,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK;KAC/B;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,QAAQ,EAAE;QACpB,MAAM,EAAE,SAAS,CAAC,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAE1C,EAAE,yCAAyC;QACzD,aAAa,EAAE,CAAC,UAAwC,EAAE,EAAE,CAC1D,IAAI,iBAAiB,CAAC,UAAU,CAAC;KACpC;CACF,CAAC;AAWJ,MAAM,OAAO,iBAAiB;IAC5B,UAAU,CAAa;IAEvB,YAAY,UAAwC;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relai.js","sourceRoot":"","sources":["../../src/scripts/relai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;EAwBE;AAEF,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,mEAAmE;AACnE,MAAM,gBAAgB,GACpB,0IAA0I,CAAC;AAC7I,+DAA+D;AAC/D,yEAAyE;AAEzE,MAAM,OAAO,GAAG,oBAAoB,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAExD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;IAC/B,UAAU;IACV,SAAS,EAAE;QACT,MAAM,EAAE,CAAC,2BAA2B,CAAC;KACtC;IACD,UAAU,EAAE;QACV,UAAU,CAAC;YACT,MAAM,EAAE,OAAO,CAAC,GAAG;SACpB,CAAC;KACH;IACD,gBAAgB,EAAE;QAChB,cAAc,EAAE,cAAc,CAAC,QAAQ;KACxC;IACD,oBAAoB,EAAE,CAAC,KAAK,EAAE,CAAC;IAC/B,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;IACvB,QAAQ,EAAE;QACR,QAAQ,EAAE,QAAQ,EAAE;QACpB,KAAK,EAAE,kBAAkB,CAAC;YACxB,YAAY,EAAE;gBACZ,eAAe,EAAE,IAAI;gBACrB,gBAAgB,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;aAC7C;SACF,CAAC;KACH;CACF,CAAC,CAAC;AAEH,KAAK,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACrD,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IACxD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrC,OAAO,CAAC,GAAG,CACT,YAAY,EACZ,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CACjD,CAAC;AACF,0HAA0H"}
|
package/dist/sfip.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { sfip } from "@constl/ipa";
|
|
2
|
-
import { DefaultLibp2pServices, type Helia } from "helia";
|
|
3
|
-
import { Libp2p } from "libp2p";
|
|
4
|
-
export declare const créerHéliaTest: ({ dossier, }?: {
|
|
5
|
-
dossier?: string;
|
|
6
|
-
}) => Promise<Helia<Libp2p<sfip.ServicesLibp2p>>>;
|
|
7
|
-
export declare const connecterPairs: <T extends Libp2p = Libp2p<DefaultLibp2pServices>>(sfip1: Helia<T>, sfip2: Helia<T>, options?: {
|
|
8
|
-
filtre: () => boolean;
|
|
9
|
-
}) => Promise<void>;
|
|
10
|
-
export declare const toutesConnectées: (sfips: Helia<Libp2p<sfip.ServicesLibp2p>>[]) => Promise<void>;
|
|
11
|
-
export declare const constObtFichierRelai: () => Promise<string>;
|
|
12
|
-
export declare const lancerRelai: () => Promise<() => boolean>;
|
|
13
|
-
export declare const adresseRelai = "/ip4/127.0.0.1/tcp/54321/ws/p2p/12D3KooWAJjbRkp8FPF5MKgMU53aUTxWkqvDrs4zc1VMbwRwfsbE";
|
package/dist/sfip.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { createHelia } from "helia";
|
|
2
|
-
import { bitswap } from "@helia/block-brokers";
|
|
3
|
-
import { createLibp2p } from "libp2p";
|
|
4
|
-
import { MemoryBlockstore } from "blockstore-core";
|
|
5
|
-
import { LevelBlockstore } from "blockstore-level";
|
|
6
|
-
import { multiaddr } from "@multiformats/multiaddr";
|
|
7
|
-
import { WebRTC } from "@multiformats/multiaddr-matcher";
|
|
8
|
-
import { isBrowser, isElectronRenderer } from "wherearewe";
|
|
9
|
-
import { DefaultLibp2pBrowserOptions, DefaultLibp2pOptions } from "./libp2p.js";
|
|
10
|
-
export const créerHéliaTest = async ({ dossier, } = {}) => {
|
|
11
|
-
const options = isBrowser || isElectronRenderer
|
|
12
|
-
? DefaultLibp2pBrowserOptions
|
|
13
|
-
: DefaultLibp2pOptions;
|
|
14
|
-
const libp2p = (await createLibp2p({
|
|
15
|
-
...options,
|
|
16
|
-
}));
|
|
17
|
-
const blockstore = dossier
|
|
18
|
-
? new LevelBlockstore(`${dossier}/blocks`)
|
|
19
|
-
: new MemoryBlockstore();
|
|
20
|
-
const heliaOptions = {
|
|
21
|
-
blockstore,
|
|
22
|
-
libp2p,
|
|
23
|
-
blockBrokers: [bitswap()],
|
|
24
|
-
};
|
|
25
|
-
return createHelia({ ...heliaOptions });
|
|
26
|
-
};
|
|
27
|
-
const filtreParDéfaut = () => true;
|
|
28
|
-
export const connecterPairs = async (sfip1, sfip2, options = {
|
|
29
|
-
filtre: filtreParDéfaut,
|
|
30
|
-
}) => {
|
|
31
|
-
if (isBrowser || isElectronRenderer) {
|
|
32
|
-
const idRelai = "12D3KooWAJjbRkp8FPF5MKgMU53aUTxWkqvDrs4zc1VMbwRwfsbE";
|
|
33
|
-
await sfip1.libp2p.dial(multiaddr(`/ip4/127.0.0.1/tcp/54321/ws/p2p/${idRelai}`));
|
|
34
|
-
const adresse1 = await new Promise((resolve) => {
|
|
35
|
-
const testConnecté = () => {
|
|
36
|
-
const adresse = sfip1.libp2p
|
|
37
|
-
.getMultiaddrs()
|
|
38
|
-
.filter((ma) => WebRTC.matches(ma))
|
|
39
|
-
.pop();
|
|
40
|
-
if (adresse != null) {
|
|
41
|
-
clearInterval(interval);
|
|
42
|
-
resolve(adresse);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
const interval = setInterval(testConnecté, 100);
|
|
46
|
-
testConnecté();
|
|
47
|
-
});
|
|
48
|
-
await sfip2.libp2p.dial(adresse1);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
await sfip2.libp2p.peerStore.save(sfip1.libp2p.peerId, {
|
|
52
|
-
multiaddrs: sfip1.libp2p.getMultiaddrs().filter(options.filtre),
|
|
53
|
-
});
|
|
54
|
-
await sfip2.libp2p.dial(sfip1.libp2p.peerId);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
export const toutesConnectées = async (sfips) => {
|
|
58
|
-
const connectés = [];
|
|
59
|
-
for (const sfip of sfips) {
|
|
60
|
-
for (const autre of connectés) {
|
|
61
|
-
await connecterPairs(sfip, autre);
|
|
62
|
-
}
|
|
63
|
-
connectés.push(sfip);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
export const constObtFichierRelai = async () => {
|
|
67
|
-
const path = await import("path");
|
|
68
|
-
const url = await import("url");
|
|
69
|
-
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
|
70
|
-
const fichierRelai = path.join(__dirname, "./scripts/relai.js");
|
|
71
|
-
return fichierRelai;
|
|
72
|
-
};
|
|
73
|
-
export const lancerRelai = async () => {
|
|
74
|
-
const { $ } = await import("execa");
|
|
75
|
-
const fichierRelai = await constObtFichierRelai();
|
|
76
|
-
const relai = $ `node ${fichierRelai} &`;
|
|
77
|
-
relai.catch((e) => {
|
|
78
|
-
// Ignorer l'erreur causée par la termination du processus par notre code
|
|
79
|
-
if (e.signal !== "SIGTERM")
|
|
80
|
-
throw new Error(e);
|
|
81
|
-
});
|
|
82
|
-
relai.stdout.on("data", (x) => {
|
|
83
|
-
const texte = new TextDecoder().decode(x);
|
|
84
|
-
console.log(texte);
|
|
85
|
-
});
|
|
86
|
-
return () => relai.kill();
|
|
87
|
-
};
|
|
88
|
-
export const adresseRelai = "/ip4/127.0.0.1/tcp/54321/ws/p2p/12D3KooWAJjbRkp8FPF5MKgMU53aUTxWkqvDrs4zc1VMbwRwfsbE";
|
|
89
|
-
//# sourceMappingURL=sfip.js.map
|
package/dist/sfip.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sfip.js","sourceRoot":"","sources":["../src/sfip.ts"],"names":[],"mappings":"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"}
|
package/src/sfip.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import type { Multiaddr } from "@multiformats/multiaddr";
|
|
2
|
-
import type { sfip } from "@constl/ipa";
|
|
3
|
-
|
|
4
|
-
import { DefaultLibp2pServices, createHelia, type Helia } from "helia";
|
|
5
|
-
import { bitswap } from "@helia/block-brokers";
|
|
6
|
-
import { createLibp2p, Libp2p } from "libp2p";
|
|
7
|
-
import { MemoryBlockstore } from "blockstore-core";
|
|
8
|
-
import { LevelBlockstore } from "blockstore-level";
|
|
9
|
-
import { multiaddr } from "@multiformats/multiaddr";
|
|
10
|
-
import { WebRTC } from "@multiformats/multiaddr-matcher";
|
|
11
|
-
import {} from "@libp2p/interface";
|
|
12
|
-
|
|
13
|
-
import { isBrowser, isElectronRenderer } from "wherearewe";
|
|
14
|
-
|
|
15
|
-
import { DefaultLibp2pBrowserOptions, DefaultLibp2pOptions } from "./libp2p.js";
|
|
16
|
-
|
|
17
|
-
export const créerHéliaTest = async ({
|
|
18
|
-
dossier,
|
|
19
|
-
}: {
|
|
20
|
-
dossier?: string;
|
|
21
|
-
} = {}): Promise<Helia<Libp2p<sfip.ServicesLibp2p>>> => {
|
|
22
|
-
const options =
|
|
23
|
-
isBrowser || isElectronRenderer
|
|
24
|
-
? DefaultLibp2pBrowserOptions
|
|
25
|
-
: DefaultLibp2pOptions;
|
|
26
|
-
|
|
27
|
-
const libp2p = (await createLibp2p({
|
|
28
|
-
...options,
|
|
29
|
-
})) as unknown as Libp2p<sfip.ServicesLibp2p>;
|
|
30
|
-
|
|
31
|
-
const blockstore = dossier
|
|
32
|
-
? new LevelBlockstore(`${dossier}/blocks`)
|
|
33
|
-
: new MemoryBlockstore();
|
|
34
|
-
|
|
35
|
-
const heliaOptions = {
|
|
36
|
-
blockstore,
|
|
37
|
-
libp2p,
|
|
38
|
-
blockBrokers: [bitswap()],
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
return createHelia({ ...heliaOptions });
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const filtreParDéfaut = () => true;
|
|
45
|
-
|
|
46
|
-
export const connecterPairs = async <
|
|
47
|
-
T extends Libp2p = Libp2p<DefaultLibp2pServices>,
|
|
48
|
-
>(
|
|
49
|
-
sfip1: Helia<T>,
|
|
50
|
-
sfip2: Helia<T>,
|
|
51
|
-
options = {
|
|
52
|
-
filtre: filtreParDéfaut,
|
|
53
|
-
},
|
|
54
|
-
) => {
|
|
55
|
-
if (isBrowser || isElectronRenderer) {
|
|
56
|
-
const idRelai = "12D3KooWAJjbRkp8FPF5MKgMU53aUTxWkqvDrs4zc1VMbwRwfsbE";
|
|
57
|
-
|
|
58
|
-
await sfip1.libp2p.dial(
|
|
59
|
-
multiaddr(`/ip4/127.0.0.1/tcp/54321/ws/p2p/${idRelai}`),
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
const adresse1 = await new Promise<Multiaddr>((resolve) => {
|
|
63
|
-
const testConnecté = () => {
|
|
64
|
-
const adresse = sfip1.libp2p
|
|
65
|
-
.getMultiaddrs()
|
|
66
|
-
.filter((ma) => WebRTC.matches(ma))
|
|
67
|
-
.pop();
|
|
68
|
-
if (adresse != null) {
|
|
69
|
-
clearInterval(interval);
|
|
70
|
-
resolve(adresse);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
const interval = setInterval(testConnecté, 100);
|
|
74
|
-
testConnecté();
|
|
75
|
-
});
|
|
76
|
-
await sfip2.libp2p.dial(adresse1);
|
|
77
|
-
} else {
|
|
78
|
-
await sfip2.libp2p.peerStore.save(sfip1.libp2p.peerId, {
|
|
79
|
-
multiaddrs: sfip1.libp2p.getMultiaddrs().filter(options.filtre),
|
|
80
|
-
});
|
|
81
|
-
await sfip2.libp2p.dial(sfip1.libp2p.peerId);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const toutesConnectées = async (
|
|
86
|
-
sfips: Helia<Libp2p<sfip.ServicesLibp2p>>[],
|
|
87
|
-
) => {
|
|
88
|
-
const connectés: Helia<Libp2p<sfip.ServicesLibp2p>>[] = [];
|
|
89
|
-
for (const sfip of sfips) {
|
|
90
|
-
for (const autre of connectés) {
|
|
91
|
-
await connecterPairs(sfip, autre);
|
|
92
|
-
}
|
|
93
|
-
connectés.push(sfip);
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
export const constObtFichierRelai = async (): Promise<string> => {
|
|
98
|
-
const path = await import("path");
|
|
99
|
-
const url = await import("url");
|
|
100
|
-
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
|
|
101
|
-
|
|
102
|
-
const fichierRelai = path.join(__dirname, "./scripts/relai.js");
|
|
103
|
-
return fichierRelai;
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
export const lancerRelai = async () => {
|
|
107
|
-
const { $ } = await import("execa");
|
|
108
|
-
|
|
109
|
-
const fichierRelai = await constObtFichierRelai();
|
|
110
|
-
|
|
111
|
-
const relai = $`node ${fichierRelai} &`;
|
|
112
|
-
|
|
113
|
-
relai.catch((e) => {
|
|
114
|
-
// Ignorer l'erreur causée par la termination du processus par notre code
|
|
115
|
-
if (e.signal !== "SIGTERM") throw new Error(e);
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
relai.stdout.on("data", (x) => {
|
|
119
|
-
const texte = new TextDecoder().decode(x);
|
|
120
|
-
console.log(texte);
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
return () => relai.kill();
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
export const adresseRelai =
|
|
127
|
-
"/ip4/127.0.0.1/tcp/54321/ws/p2p/12D3KooWAJjbRkp8FPF5MKgMU53aUTxWkqvDrs4zc1VMbwRwfsbE";
|
|
File without changes
|