Update documentation with testing infrastructure details
- Document Alice LND node for payment testing - Add testing payment workflow examples - Update service ports table (Lightning.Pub: 1776) - Add gitignore for vite temp files Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
8cc462305f
commit
a58dd7388e
2 changed files with 72 additions and 6 deletions
1
lamassu-next/.gitignore
vendored
1
lamassu-next/.gitignore
vendored
|
|
@ -69,3 +69,4 @@ docker/**/data/
|
||||||
tmp/
|
tmp/
|
||||||
temp/
|
temp/
|
||||||
*.tmp
|
*.tmp
|
||||||
|
*.timestamp-*.mjs
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ lamassu-next/
|
||||||
│ ├── lightning/ # Lightning.Pub RPC client ✅
|
│ ├── lightning/ # Lightning.Pub RPC client ✅
|
||||||
│ ├── cashu/ # Cashu ecash (placeholder)
|
│ ├── cashu/ # Cashu ecash (placeholder)
|
||||||
│ └── ui-shared/ # Shared Vue components (placeholder)
|
│ └── ui-shared/ # Shared Vue components (placeholder)
|
||||||
└── docker/ # Development infrastructure (planned)
|
└── docker/ # Development infrastructure ✅
|
||||||
```
|
```
|
||||||
|
|
||||||
## Implementation Status
|
## Implementation Status
|
||||||
|
|
@ -53,7 +53,6 @@ lamassu-next/
|
||||||
- **apps/machine** - Tauri 2.x ATM kiosk with Vue 3 UI
|
- **apps/machine** - Tauri 2.x ATM kiosk with Vue 3 UI
|
||||||
- **apps/dashboard** - Operator dashboard for fleet management
|
- **apps/dashboard** - Operator dashboard for fleet management
|
||||||
- **packages/hal** - Rust hardware drivers (bill validators, dispensers, printers)
|
- **packages/hal** - Rust hardware drivers (bill validators, dispensers, printers)
|
||||||
- **docker/** - strfry relay + Lightning.Pub for development
|
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
|
|
@ -70,13 +69,79 @@ pnpm build
|
||||||
# Run tests
|
# Run tests
|
||||||
pnpm test
|
pnpm test
|
||||||
|
|
||||||
# Start infrastructure (Nostr relay, Lightning.Pub)
|
# Infrastructure management
|
||||||
infra-up
|
infra-up # Start all Docker services
|
||||||
|
infra-down # Stop all Docker services
|
||||||
|
infra-status # Show service status
|
||||||
|
infra-logs # Follow service logs
|
||||||
|
|
||||||
# Stop infrastructure
|
# Bitcoin/Lightning (regtest)
|
||||||
infra-down
|
btccli # Bitcoin CLI
|
||||||
|
lncli # LND CLI
|
||||||
|
mine-blocks # Mine regtest blocks (default: 1)
|
||||||
|
relay-test # Test Nostr relay connection
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Development Infrastructure
|
||||||
|
|
||||||
|
The `docker/` directory contains a complete development environment:
|
||||||
|
|
||||||
|
| Service | Container | Port(s) | Description |
|
||||||
|
| ------------- | --------------------- | ----------- | ------------------------------------- |
|
||||||
|
| strfry | lamassu-relay | 7777 | Private Nostr relay |
|
||||||
|
| bitcoind | lamassu-bitcoind | 18443 | Bitcoin Core (regtest) |
|
||||||
|
| LND | lamassu-lnd | 10009, 8080 | Lightning node (Lightning.Pub's node) |
|
||||||
|
| LND Alice | lamassu-lnd-alice | 10010, 8081 | Second LND for payment testing |
|
||||||
|
| Lightning.Pub | lamassu-lightning-pub | 1776 | Nostr-native account system |
|
||||||
|
| PostgreSQL | lamassu-postgres | 5432 | Database for server-side state |
|
||||||
|
|
||||||
|
### Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
devenv shell # Enter dev environment
|
||||||
|
infra-up # Start all services (30-60s first run)
|
||||||
|
mine-blocks 101 # Fund the regtest wallet
|
||||||
|
setup-channel # Open channel between Alice and LND
|
||||||
|
```
|
||||||
|
|
||||||
|
### Testing Payments
|
||||||
|
|
||||||
|
The development setup includes two LND nodes to enable proper payment testing:
|
||||||
|
|
||||||
|
1. **LND** (`lamassu-lnd`) - Used by Lightning.Pub to create invoices
|
||||||
|
2. **Alice** (`lamassu-lnd-alice`) - Used to pay invoices (simulates external payers)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Get Lightning.Pub admin token
|
||||||
|
curl -X POST "http://localhost:1776/api/admin/app/auth" \
|
||||||
|
-H "Authorization: Bearer lamassu-dev-admin-token" \
|
||||||
|
-d '{"name": "wallet"}'
|
||||||
|
|
||||||
|
# Create user and invoice
|
||||||
|
curl -X POST "http://localhost:1776/api/app/user/add" -H "Authorization: Bearer $APP_TOKEN" \
|
||||||
|
-d '{"identifier": "test-user", "balance": 0}'
|
||||||
|
|
||||||
|
curl -X POST "http://localhost:1776/api/app/user/add/invoice" -H "Authorization: Bearer $APP_TOKEN" \
|
||||||
|
-d '{"receiver_identifier": "test-user", "payer_identifier": "external", "http_callback_url": "", "invoice_req": {"amountSats": 1000, "memo": "Test"}}'
|
||||||
|
|
||||||
|
# Pay from Alice
|
||||||
|
alice-pay <invoice>
|
||||||
|
```
|
||||||
|
|
||||||
|
### MCP Tools Available
|
||||||
|
|
||||||
|
Claude has access to these MCP servers for development:
|
||||||
|
|
||||||
|
| MCP Server | Purpose |
|
||||||
|
| ------------ | ----------------------------------------- |
|
||||||
|
| docker-mcp | Container management (logs, status, etc.) |
|
||||||
|
| nostr-mcp | Nostr operations (post notes, profiles) |
|
||||||
|
| postgres-mcp | Database queries and schema inspection |
|
||||||
|
| mcp-nixos | NixOS/Nix package queries |
|
||||||
|
| forgejo-mcp | Git operations on Forgejo |
|
||||||
|
|
||||||
|
Use these to interact with infrastructure directly during development.
|
||||||
|
|
||||||
## Key Technologies
|
## Key Technologies
|
||||||
|
|
||||||
| Component | Technology | Notes |
|
| Component | Technology | Notes |
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue