From e5eaef90cfa8886ebae23a6ad3180051fefdb8d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:51:04 +0200 Subject: [PATCH 01/10] Fix 'Troupe/rt/built/p2p/mkid' is an mjs file --- examples/network/echo/Makefile | 2 +- examples/network/pingpong/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/network/echo/Makefile b/examples/network/echo/Makefile index e0f6bf7..aa95931 100644 --- a/examples/network/echo/Makefile +++ b/examples/network/echo/Makefile @@ -1,4 +1,4 @@ -MKID=node $(TROUPE)/rt/built/p2p/mkid.js +MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js START=$(TROUPE)/bin/network.sh diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index 21984e3..5ff68e8 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -1,4 +1,4 @@ -MKID=node $(TROUPE)/rt/built/p2p/mkid.js +MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js START=$(TROUPE)/bin/network.sh From 131806d50c8e8e3a36d98ab47ab3e18ae978a03a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:51:36 +0200 Subject: [PATCH 02/10] Fix 'network.sh' is in 'Troupe/' not 'Troupe/bin/' --- examples/network/echo/Makefile | 2 +- examples/network/pingpong/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/network/echo/Makefile b/examples/network/echo/Makefile index aa95931..e426f67 100644 --- a/examples/network/echo/Makefile +++ b/examples/network/echo/Makefile @@ -1,6 +1,6 @@ MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js -START=$(TROUPE)/bin/network.sh +START=$(TROUPE)/network.sh echo-server: diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index 5ff68e8..88e7df9 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -1,6 +1,6 @@ MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js -START=$(TROUPE)/bin/network.sh +START=$(TROUPE)/network.sh zero.listener: $(START) zero.trp --id=ids/pingpong-listener.json --rspawn=true --aliases=aliases.json --debug --debugp2p From 2676d1b99fae3abf1873be553b86816d739423b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:53:51 +0200 Subject: [PATCH 03/10] Ignore artifacts from 'make create-network-identifiers' --- examples/network/echo/.gitignore | 2 ++ examples/network/echo/aliases.json | 1 - examples/network/pingpong/.gitignore | 2 ++ examples/network/pingpong/aliases.json | 1 - 4 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 examples/network/echo/aliases.json create mode 100644 examples/network/pingpong/.gitignore delete mode 100644 examples/network/pingpong/aliases.json diff --git a/examples/network/echo/.gitignore b/examples/network/echo/.gitignore index e69de29..9e8b207 100644 --- a/examples/network/echo/.gitignore +++ b/examples/network/echo/.gitignore @@ -0,0 +1,2 @@ +ids/ +aliases.json \ No newline at end of file diff --git a/examples/network/echo/aliases.json b/examples/network/echo/aliases.json deleted file mode 100644 index ab75fa2..0000000 --- a/examples/network/echo/aliases.json +++ /dev/null @@ -1 +0,0 @@ -{"echo-server":"QmQCv3hGNJxCWQ9Wtv11MS5Cbzav9WHDheqMKK2DtS6NjQ","echo-client":"QmRbqqm3kVjh68mR1UYa1g2a5aaDpDpUYq9abxa8Qz2iZn"} \ No newline at end of file diff --git a/examples/network/pingpong/.gitignore b/examples/network/pingpong/.gitignore new file mode 100644 index 0000000..9e8b207 --- /dev/null +++ b/examples/network/pingpong/.gitignore @@ -0,0 +1,2 @@ +ids/ +aliases.json \ No newline at end of file diff --git a/examples/network/pingpong/aliases.json b/examples/network/pingpong/aliases.json deleted file mode 100644 index 3c8d06a..0000000 --- a/examples/network/pingpong/aliases.json +++ /dev/null @@ -1 +0,0 @@ -{"pingpong-listener":"QmVN3uXyTe7ebpPnV9SfF8wRAQxboqo4aLRo42KKsYM1cK","pingpong-dialer":"QmWdt6gvLBh5KjVvMLSjEw1Uc359Qo8sEv8UWPfuRZpLHN"} \ No newline at end of file From 054c07b9e5b955bfdbe9a4a081b1938997082981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:54:40 +0200 Subject: [PATCH 04/10] Fix whitespace in Makefile --- examples/network/echo/Makefile | 3 +-- examples/network/pingpong/Makefile | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/network/echo/Makefile b/examples/network/echo/Makefile index e426f67..0ff7689 100644 --- a/examples/network/echo/Makefile +++ b/examples/network/echo/Makefile @@ -3,14 +3,13 @@ MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js START=$(TROUPE)/network.sh echo-server: - $(START) echo-server.trp --id=ids/echo-server.json # --debug --debugp2p echo-client: $(START) echo-client.trp --id=ids/echo-client.json --aliases=aliases.json --debug --debugp2p create-network-identifiers: - mkdir -p ids + mkdir -p ids $(MKID) --outfile=ids/echo-server.json $(MKID) --outfile=ids/echo-client.json $(MKALIASES) --include ids/echo-server.json --include ids/echo-client.json --outfile aliases.json diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index 88e7df9..062f5f4 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -9,7 +9,7 @@ pingpong.dialer: $(START) p2ppingpong.trp --id=ids/pingpong-dialer.json --aliases=aliases.json # --debug --debugp2p create-network-identifiers: - mkdir -p ids + mkdir -p ids $(MKID) --outfile=ids/pingpong-listener.json $(MKID) --outfile=ids/pingpong-dialer.json $(MKALIASES) --include ids/pingpong-listener.json --include ids/pingpong-dialer.json --outfile aliases.json From 9ced7cb3efec169ce87743bb6167c2c1f6350c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:55:05 +0200 Subject: [PATCH 05/10] Disable debug information for both client and server --- examples/network/echo/Makefile | 2 +- examples/network/pingpong/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/network/echo/Makefile b/examples/network/echo/Makefile index 0ff7689..cea387c 100644 --- a/examples/network/echo/Makefile +++ b/examples/network/echo/Makefile @@ -6,7 +6,7 @@ echo-server: $(START) echo-server.trp --id=ids/echo-server.json # --debug --debugp2p echo-client: - $(START) echo-client.trp --id=ids/echo-client.json --aliases=aliases.json --debug --debugp2p + $(START) echo-client.trp --id=ids/echo-client.json --aliases=aliases.json # --debug --debugp2p create-network-identifiers: mkdir -p ids diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index 062f5f4..66a4b5e 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -3,7 +3,7 @@ MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js START=$(TROUPE)/network.sh zero.listener: - $(START) zero.trp --id=ids/pingpong-listener.json --rspawn=true --aliases=aliases.json --debug --debugp2p + $(START) zero.trp --id=ids/pingpong-listener.json --rspawn=true --aliases=aliases.json # --debug --debugp2p pingpong.dialer: $(START) p2ppingpong.trp --id=ids/pingpong-dialer.json --aliases=aliases.json # --debug --debugp2p From 8d6011b6529702d48688b1bc4b4e502d59d02366 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:55:46 +0200 Subject: [PATCH 06/10] Add 'make remove-network-identifiers' to help cleaning up/resetting --- examples/network/echo/Makefile | 4 ++++ examples/network/pingpong/Makefile | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/examples/network/echo/Makefile b/examples/network/echo/Makefile index cea387c..5875fd8 100644 --- a/examples/network/echo/Makefile +++ b/examples/network/echo/Makefile @@ -13,3 +13,7 @@ create-network-identifiers: $(MKID) --outfile=ids/echo-server.json $(MKID) --outfile=ids/echo-client.json $(MKALIASES) --include ids/echo-server.json --include ids/echo-client.json --outfile aliases.json + +remove-network-identifiers: + rm -rf ids + rm -f aliases.json diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index 66a4b5e..f884f6f 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -13,3 +13,7 @@ create-network-identifiers: $(MKID) --outfile=ids/pingpong-listener.json $(MKID) --outfile=ids/pingpong-dialer.json $(MKALIASES) --include ids/pingpong-listener.json --include ids/pingpong-dialer.json --outfile aliases.json + +remove-network-identifiers: + rm -rf ids + rm -f aliases.json From a8c36247401992cfb21befddbe1e5d189ad7e0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 11:57:10 +0200 Subject: [PATCH 07/10] Add fill and whitespace in Echo's README.md to improve legibility in terminal --- examples/network/echo/README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/network/echo/README.md b/examples/network/echo/README.md index a194653..59cda89 100644 --- a/examples/network/echo/README.md +++ b/examples/network/echo/README.md @@ -1,7 +1,9 @@ # Echo example -1. *First-time only* Run `make create-network-identifiers`. This command will create two network identifiers in the local subdirectory `ids/`, and an alias file with the generated identifiers. +1. *First-time only* Run `make create-network-identifiers`. This command will + create two network identifiers in the local subdirectory `ids/`, and an alias + file with the generated identifiers. -2. Run the server by running `make echo-server` -3. Open another terminal window and run the client by command `make echo-client` +2. Run the server by running `make echo-server` +3. Open another terminal window and run the client by command `make echo-client` From dea9a596dc746ab0a60fa3def865a7d1ac8432d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 13:07:16 +0200 Subject: [PATCH 08/10] Make Ping-Pong example not crash due to lack of trust from 'listener' to 'dialer' node --- examples/network/pingpong/.gitignore | 6 +++++- examples/network/pingpong/Makefile | 11 +++++++---- examples/network/pingpong/mktrustmap.mjs | 19 +++++++++++++++++++ examples/network/pingpong/package.json | 14 ++++++++++++++ 4 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 examples/network/pingpong/mktrustmap.mjs create mode 100644 examples/network/pingpong/package.json diff --git a/examples/network/pingpong/.gitignore b/examples/network/pingpong/.gitignore index 9e8b207..475de39 100644 --- a/examples/network/pingpong/.gitignore +++ b/examples/network/pingpong/.gitignore @@ -1,2 +1,6 @@ +node_modules/ +package-lock.json + ids/ -aliases.json \ No newline at end of file +aliases.json +trustmap.json diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index f884f6f..a9a5757 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -2,18 +2,21 @@ MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js START=$(TROUPE)/network.sh -zero.listener: - $(START) zero.trp --id=ids/pingpong-listener.json --rspawn=true --aliases=aliases.json # --debug --debugp2p +listener: + $(START) zero.trp --id=ids/pingpong-listener.json --aliases=aliases.json --rspawn=true --trustmap=trustmap.json # --debug --debugp2p -pingpong.dialer: - $(START) p2ppingpong.trp --id=ids/pingpong-dialer.json --aliases=aliases.json # --debug --debugp2p +dialer: + $(START) p2ppingpong.trp --id=ids/pingpong-dialer.json --aliases=aliases.json # --debug --debugp2p create-network-identifiers: mkdir -p ids $(MKID) --outfile=ids/pingpong-listener.json $(MKID) --outfile=ids/pingpong-dialer.json $(MKALIASES) --include ids/pingpong-listener.json --include ids/pingpong-dialer.json --outfile aliases.json + npm install + node mktrustmap.mjs --infile aliases.json --outfile trustmap.json remove-network-identifiers: rm -rf ids rm -f aliases.json + rm -f trustmap.json diff --git a/examples/network/pingpong/mktrustmap.mjs b/examples/network/pingpong/mktrustmap.mjs new file mode 100644 index 0000000..5fb21d7 --- /dev/null +++ b/examples/network/pingpong/mktrustmap.mjs @@ -0,0 +1,19 @@ +'use strict'; + +import * as fs from 'node:fs'; +import pkg from 'yargs'; +const { argv } = pkg; + +(async () => { + let trustmap = []; + const aliases_json = JSON.parse(fs.readFileSync(argv.infile, 'utf-8').toString()); + for (let alias_key in aliases_json) { + trustmap.push({ + level: '#TOP', + id: aliases_json[alias_key] + }); + } + + const outfile = argv.outfile; + fs.writeFile(outfile, JSON.stringify(trustmap), x => console.log(x)); +})(); diff --git a/examples/network/pingpong/package.json b/examples/network/pingpong/package.json new file mode 100644 index 0000000..58d139d --- /dev/null +++ b/examples/network/pingpong/package.json @@ -0,0 +1,14 @@ +{ + "name": "pingpong", + "version": "1.0.0", + "description": "", + "main": "mktrustmap.mjs", + "author": "", + "license": "ISC", + "dependencies": { + "yargs": "^15.3.1" + }, + "devDependencies": { + "@types/yargs": "^15.0.4" + } +} From 309e85a3368f8fa30f869747dd6669db095d11ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= <201505832@post.au.dk> Date: Fri, 25 Apr 2025 13:08:09 +0200 Subject: [PATCH 09/10] Add missing README to Ping-Pong example --- examples/network/pingpong/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 examples/network/pingpong/README.md diff --git a/examples/network/pingpong/README.md b/examples/network/pingpong/README.md new file mode 100644 index 0000000..42f0970 --- /dev/null +++ b/examples/network/pingpong/README.md @@ -0,0 +1,11 @@ +# Ping-Pong example + +1. *First-time only* Run `make create-network-identifiers`. This command will + create two network identifiers in the local subdirectory `ids/`, and an alias + file with the generated identifiers. + +2. Run the Job Listener node, i.e. whereto remotely spawn a `pingpong` instance, + by running the command `make listener`. + +3. Open another terminal window and run the Job Dialer, which sets up the two + instances of `pingpong`, with command `make dialer`. From 0680c443ac18bb55a33d931f41a30ae3415039b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Steffan=20S=C3=B8lvsten?= Date: Mon, 7 Jul 2025 13:07:31 +0200 Subject: [PATCH 10/10] Change path to align with branch 'dev-integrity' --- examples/network/echo/Makefile | 4 ++-- examples/network/pingpong/Makefile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/network/echo/Makefile b/examples/network/echo/Makefile index 5875fd8..44d184b 100644 --- a/examples/network/echo/Makefile +++ b/examples/network/echo/Makefile @@ -1,5 +1,5 @@ -MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs -MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js +MKID=node $(TROUPE)/p2p-tools/built/mkid.mjs +MKALIASES=node $(TROUPE)/p2p-tools/built/mkaliases.js START=$(TROUPE)/network.sh echo-server: diff --git a/examples/network/pingpong/Makefile b/examples/network/pingpong/Makefile index a9a5757..4642454 100644 --- a/examples/network/pingpong/Makefile +++ b/examples/network/pingpong/Makefile @@ -1,5 +1,5 @@ -MKID=node $(TROUPE)/rt/built/p2p/mkid.mjs -MKALIASES=node $(TROUPE)/rt/built/p2p/mkaliases.js +MKID=node $(TROUPE)/p2p-tools/built/mkid.mjs +MKALIASES=node $(TROUPE)/p2p-tools/built/mkaliases.js START=$(TROUPE)/network.sh listener: