upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/interop/PROGRESS.md
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-17 02:48:19 +0530
committerYour Name <you@example.com>2026-05-17 02:48:19 +0530
commitb0d7394e089f00a9ffa67a2b33a502e47b778a93 (patch)
treed255d6d852a0a091220ae77556a6ed598d7d9f74 /interop/PROGRESS.md
parent32844ac7c4a135659714aabf7d2414f156176d72 (diff)
interop: ESP32 ↔ OpenWRT TollGate cross-platform test suite
- interop/Makefile: 10 targets for 4 test scenarios - interop-status: show device status for all devices - interop-laptop-esp32: laptop pays ESP32 with V3 token - interop-laptop-openwrt: laptop pays OpenWRT with V4 token - interop-openwrt-esp32: OpenWRT daemon auto-pays ESP32 upstream - interop-esp32-esp32: cross-board payment (needs Board B) - interop-setup/cleanup: mint alignment + wallet funding - INTEROP_PLAN.md: full test plan with scenarios and token format details - PROGRESS.md: checklist of setup/interop tasks - AGENTS.md: standing instructions for interop testing - routers.env.example: device config template - Verified interop-status against real hardware (OpenWRT + ESP32 Board A)
Diffstat (limited to 'interop/PROGRESS.md')
-rw-r--r--interop/PROGRESS.md70
1 files changed, 70 insertions, 0 deletions
diff --git a/interop/PROGRESS.md b/interop/PROGRESS.md
new file mode 100644
index 0000000..576eff2
--- /dev/null
+++ b/interop/PROGRESS.md
@@ -0,0 +1,70 @@
1# PROGRESS.md — Interop Test Checklist
2
3## Setup
4
5- [ ] Create `interop/routers.env` from `routers.env.example`
6- [ ] Verify SSH access to OpenWRT: `ssh root@10.47.41.1 echo ok`
7- [ ] Verify WiFi connection to ESP32: `ping -c 2 10.192.45.1`
8- [ ] Build `mint-token` binary: `cd physical-router-test-automation/scripts/mint-token && go build -o /tmp/mint-token .`
9- [ ] Install `cashu` CLI: `pip install cashu`
10
11## Mint Alignment
12
13- [ ] Add `testnut.cashu.space` to OpenWRT's `accepted_mints`
14- [ ] Add `nofee.testnut.cashu.space` to ESP32's config
15- [ ] Verify both mints accepted on OpenWRT
16- [ ] Verify both mints accepted on ESP32
17
18## Wallet Funding
19
20- [ ] Fund ESP32 wallet via `cashu send --legacy` (V3 token)
21- [ ] Fund OpenWRT wallet via `mint-token` (V4 token)
22- [ ] Verify ESP32 balance > 0
23- [ ] Verify OpenWRT balance > 0
24
25## Scenario 1: Laptop → ESP32
26
27- [ ] `make interop-laptop-esp32` — mint V3 token, POST to ESP32, verify internet
28- [ ] Token accepted (kind=1022)
29- [ ] Internet works after payment
30- [ ] Spent token rejected (kind=21023)
31
32## Scenario 2: Laptop → OpenWRT
33
34- [ ] `make interop-laptop-openwrt` — mint V4 token, POST to OpenWRT, verify internet
35- [ ] Token accepted (kind=1022)
36- [ ] Internet works after payment
37- [ ] Spent token rejected (kind=21023)
38
39## Scenario 3: OpenWRT → ESP32 (Reseller)
40
41- [ ] `make interop-openwrt-esp32` — OpenWRT connects to ESP32 AP, auto-pays
42- [ ] OpenWRT STA connects to `TollGate-C0E9CA`
43- [ ] OpenWRT daemon detects TollGate upstream
44- [ ] Auto-payment succeeds (ESP32 session created)
45- [ ] OpenWRT has internet through ESP32
46- [ ] ESP32 wallet balance increased
47- [ ] Cleanup: restore OpenWRT upstream
48
49## Scenario 5: ESP32 ↔ ESP32
50
51- [ ] Flash Board B with different nsec
52- [ ] Configure Board B's config.json
53- [ ] Fund Board B wallet
54- [ ] `make interop-esp32-esp32` — cross-board payment
55- [ ] Cleanup: restore both boards
56
57## Cleanup
58
59- [ ] Restore OpenWRT production config
60- [ ] Restore ESP32 original config (if changed)
61- [ ] Verify both devices back to normal operation
62
63## Infrastructure
64
65- [x] `interop/INTEROP_PLAN.md` written
66- [ ] `interop/AGENTS.md` written
67- [ ] `interop/routers.env.example` written
68- [ ] `interop/Makefile` written
69- [ ] `interop-status` target tested against real hardware
70- [ ] Committed and pushed