docs: bank shared withdraw, auto-account, merchant shop landing

Document bank landing layout, demo-withdraw + auto-account APIs
(goa-bank-acc-*, balance 0), explorer-only auto-confirm, QR_Taler, and
merchant shop/stats behaviour. Refresh taler-bank script index.
This commit is contained in:
Hernâni Marques 2026-07-10 20:50:36 +02:00
parent 930716a94d
commit 6a212d14c6
No known key found for this signature in database
3 changed files with 153 additions and 48 deletions

View file

@ -9,6 +9,11 @@ Container: **`taler-hacktivism-bank`** (libeufin-bank, GOA, **no IBAN**).
| `check_bank-health.sh` | `/usr/local/bin/` | libeufin-bank / any |
| `landing-stats.sh` | `/usr/local/bin/` | root (in container) — writes `/var/www/bank-landing/stats.json` |
| `landing-stats-install.sh` | host only | root/podman — copies + runs + optional cron |
| `demo-withdraw-api.py` | `/usr/local/bin/` | root — loopback **:19096** |
| `install-demo-withdraw-api.sh` | host only | installs API + nginx + auto-confirm |
| `auto-confirm-withdrawals.sh` | `/usr/local/bin/` | root — **explorer-only** confirm loop |
| `refresh-demo-withdraw.sh` | `/usr/local/bin/` | refresh static `withdraw.uri` |
| `credit-account.sh` | host/ops | admin → user credit |
## Usage
@ -30,6 +35,37 @@ Container: **`taler-hacktivism-bank`** (libeufin-bank, GOA, **no IBAN**).
Details + JSON schema: `configs/bank-landing/README.md`.
## Demo withdraw + auto-account API
`demo-withdraw-api.py` listens on **127.0.0.1:19096** (proxied by nginx on the landing):
| Path | Behaviour |
|------|-----------|
| `GET /demo-withdraw.json` | Mint one-shot withdraw from shared **`explorer`** pool; write `withdraw.uri` + watch ids |
| `GET /auto-account.json` | Public `POST /accounts` with generated **`goa-bank-acc-<hex>`** user + password; **balance GOA:0**; return credentials once |
Install / restart:
```bash
./install-demo-withdraw-api.sh
# Public checks:
curl -sS https://bank.hacktivism.ch/intro/demo-withdraw.json | head
curl -sS https://bank.hacktivism.ch/intro/auto-account.json | head # creates a real account
```
Requires **python3** in the bank container. Env: `BANK_URL`, `BANK_USER`/`BANK_PASS`
(or `/root/bank-explorer-password.txt`), `AMOUNT` (default `GOA:10` for shared withdraws).
### Auto-confirm (explorer only)
```bash
# loop inside container — refuses non-explorer unless ALLOW_NON_EXPLORER=1
auto-confirm-withdrawals.sh --loop 4
```
Only confirms withdrawals owned by **`explorer`** when status is `selected`
(community demo path). Does not confirm arbitrary customer withdraws.
## Config
See `configs/taler-hacktivism-bank/`.
See `configs/taler-hacktivism-bank/` and `configs/bank-landing/`.