@constl/utils-tests 1.7.0 → 2.0.1

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.
Files changed (81) hide show
  1. package/.aegir.js +2 -2
  2. package/dist/attente.d.ts +8 -30
  3. package/dist/attente.js +101 -141
  4. package/dist/attente.js.map +1 -1
  5. package/dist/config.d.ts +4 -1
  6. package/dist/config.js +4 -4
  7. package/dist/config.js.map +1 -1
  8. package/dist/constellation.d.ts +14 -10
  9. package/dist/constellation.js +24 -43
  10. package/dist/constellation.js.map +1 -1
  11. package/dist/dossiers.d.ts +1 -1
  12. package/dist/dossiers.js +19 -5
  13. package/dist/dossiers.js.map +1 -1
  14. package/dist/h/303/251lia.d.ts +11 -0
  15. package/dist/h/303/251lia.js +38 -0
  16. package/dist/h/303/251lia.js.map +1 -0
  17. package/dist/index.d.ts +8 -8
  18. package/dist/index.js +8 -8
  19. package/dist/index.js.map +1 -1
  20. package/dist/libp2p/config.d.ts +25 -0
  21. package/dist/{libp2p.js → libp2p/config.js} +47 -56
  22. package/dist/libp2p/config.js.map +1 -0
  23. package/dist/libp2p/index.d.ts +3 -0
  24. package/dist/libp2p/index.js +4 -0
  25. package/dist/libp2p/index.js.map +1 -0
  26. package/dist/libp2p/libp2p.d.ts +9 -0
  27. package/dist/libp2p/libp2p.js +21 -0
  28. package/dist/libp2p/libp2p.js.map +1 -0
  29. package/dist/libp2p/utils.d.ts +10 -0
  30. package/dist/libp2p/utils.js +41 -0
  31. package/dist/libp2p/utils.js.map +1 -0
  32. package/dist/orbite.d.ts +7 -23
  33. package/dist/orbite.js +31 -154
  34. package/dist/orbite.js.map +1 -1
  35. package/dist/{scripts/relai.js → relai/bin.js} +12 -16
  36. package/dist/relai/bin.js.map +1 -0
  37. package/dist/relai/consts.d.ts +3 -0
  38. package/dist/relai/consts.js +4 -0
  39. package/dist/relai/consts.js.map +1 -0
  40. package/dist/relai/index.d.ts +3 -0
  41. package/dist/relai/index.js +4 -0
  42. package/dist/relai/index.js.map +1 -0
  43. package/dist/relai/relai.d.ts +5 -0
  44. package/dist/relai/relai.js +29 -0
  45. package/dist/relai/relai.js.map +1 -0
  46. package/dist/relai/utils.d.ts +4 -0
  47. package/dist/relai/utils.js +6 -0
  48. package/dist/relai/utils.js.map +1 -0
  49. package/dist/tsconfig.build.tsbuildinfo +1 -1
  50. package/dist/utils.d.ts +4 -0
  51. package/dist/utils.js +5 -0
  52. package/dist/utils.js.map +1 -0
  53. package/dist/version.d.ts +1 -1
  54. package/dist/version.js +1 -1
  55. package/package.json +1 -1
  56. package/src/attente.ts +129 -156
  57. package/src/config.ts +10 -4
  58. package/src/constellation.ts +39 -60
  59. package/src/dossiers.ts +18 -6
  60. package/src/h/303/251lia.ts +61 -0
  61. package/src/index.ts +28 -8
  62. package/src/{libp2p.ts → libp2p/config.ts} +66 -71
  63. package/src/libp2p/index.ts +9 -0
  64. package/src/libp2p/libp2p.ts +41 -0
  65. package/src/libp2p/utils.ts +59 -0
  66. package/src/orbite.ts +43 -228
  67. package/src/{scripts/relai.ts → relai/bin.ts} +11 -16
  68. package/src/relai/consts.ts +5 -0
  69. package/src/relai/index.ts +3 -0
  70. package/src/relai/relai.ts +40 -0
  71. package/src/relai/utils.ts +14 -0
  72. package/src/utils.ts +5 -0
  73. package/src/version.ts +1 -1
  74. package/dist/libp2p.d.ts +0 -26
  75. package/dist/libp2p.js.map +0 -1
  76. package/dist/scripts/relai.js.map +0 -1
  77. package/dist/sfip.d.ts +0 -13
  78. package/dist/sfip.js +0 -89
  79. package/dist/sfip.js.map +0 -1
  80. package/src/sfip.ts +0 -127
  81. /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 {};
@@ -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