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/
|
||||
temp/
|
||||
*.tmp
|
||||
*.timestamp-*.mjs
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ lamassu-next/
|
|||
│ ├── lightning/ # Lightning.Pub RPC client ✅
|
||||
│ ├── cashu/ # Cashu ecash (placeholder)
|
||||
│ └── ui-shared/ # Shared Vue components (placeholder)
|
||||
└── docker/ # Development infrastructure (planned)
|
||||
└── docker/ # Development infrastructure ✅
|
||||
```
|
||||
|
||||
## Implementation Status
|
||||
|
|
@ -53,7 +53,6 @@ lamassu-next/
|
|||
- **apps/machine** - Tauri 2.x ATM kiosk with Vue 3 UI
|
||||
- **apps/dashboard** - Operator dashboard for fleet management
|
||||
- **packages/hal** - Rust hardware drivers (bill validators, dispensers, printers)
|
||||
- **docker/** - strfry relay + Lightning.Pub for development
|
||||
|
||||
## Commands
|
||||
|
||||
|
|
@ -70,13 +69,79 @@ pnpm build
|
|||
# Run tests
|
||||
pnpm test
|
||||
|
||||
# Start infrastructure (Nostr relay, Lightning.Pub)
|
||||
infra-up
|
||||
# Infrastructure management
|
||||
infra-up # Start all Docker services
|
||||
infra-down # Stop all Docker services
|
||||
infra-status # Show service status
|
||||
infra-logs # Follow service logs
|
||||
|
||||
# Stop infrastructure
|
||||
infra-down
|
||||
# Bitcoin/Lightning (regtest)
|
||||
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
|
||||
|
||||
| Component | Technology | Notes |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue