refactor(rename): branding strings + active-use docs → bitSpire
Final rename commit covering user-facing copy and the docs that
describe current state. The mechanics of the rename are done after
this; the LNbits backend swap (phase 3) is the next concern.
Code branding strings (Lightning invoice descriptions):
apps/machine/src/services/lightning.ts
apps/machine/src/stores/atm.ts
docs/clink-protocol.md (example code blocks)
"Lamassu ATM Payment" → "bitSpire Payment"
"Lamassu ATM - Cash Out" → "bitSpire - Cash Out"
`Lamassu ATM - Buy ${n} sats`→ `bitSpire - Buy ${n} sats`
Top-level docs:
README.md, CLAUDE.md — title + intro + dir-tree references.
deploy/nixos/README.md — title + worktree-path commands.
docs/machine-installation.md — opening line carries the historical
note ("Lamassu Next" → "bitSpire"). The body still uses
`/opt/lamassu/` paths and the `lamassu-kiosk` systemd unit
because the dev branch is moving to NixOS disk-image flash
(phase 4) — this AppImage-sideload doc represents the legacy
deploy path. Leaving the LP/lamassu refs in there as part of
its historical context; a separate doc will describe the
NixOS path.
.claude/skills/nostr-check.md — header only.
DELIBERATELY left as "Lamassu Next" (pedagogical / historical):
- docs/adr/001-hal-architecture.md — frozen ADR; renaming
distorts the historical decision context.
- docs/architecture-comparison.md — deliberately contrasts
"lamassu-server" (prior) with "lamassu-next" (us at the time
of writing).
NOT done in this commit (deferred to LNbits/clean-up phase):
- docker/docker-compose.dev.yml container names
(lamassu-relay, lamassu-bitcoind, etc.) — these belong to the
LP-bearing dev stack that 3c/3d will significantly reshape.
Verified: pnpm typecheck clean (12/12 cached).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
28a35ca479
commit
219e7e1e4d
8 changed files with 23 additions and 23 deletions
|
|
@ -14,7 +14,7 @@ Where `target` can be:
|
||||||
- `--events` to validate event structures
|
- `--events` to validate event structures
|
||||||
- `--relay` to check relay configuration
|
- `--relay` to check relay configuration
|
||||||
|
|
||||||
## Relevant NIPs for Lamassu ATM
|
## Relevant NIPs for bitSpire
|
||||||
|
|
||||||
### Core NIPs (Must Implement)
|
### Core NIPs (Must Implement)
|
||||||
| NIP | Description | Usage in Lamassu |
|
| NIP | Description | Usage in Lamassu |
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
# CLAUDE.md
|
# CLAUDE.md
|
||||||
|
|
||||||
This file provides guidance to Claude Code when working with the Lamassu Next codebase.
|
This file provides guidance to Claude Code when working with the bitSpire codebase.
|
||||||
|
|
||||||
## Project Overview
|
## Project Overview
|
||||||
|
|
||||||
**Lamassu Next** is a Nostr-native Lightning ATM system. Key principles:
|
**bitSpire** is a Nostr-native Lightning ATM system. Key principles:
|
||||||
|
|
||||||
- **KYC-Free**: No identity collection, no compliance theater
|
- **KYC-Free**: No identity collection, no compliance theater
|
||||||
- **Lightning-Native**: Security encapsulated in Lightning protocol
|
- **Lightning-Native**: Security encapsulated in Lightning protocol
|
||||||
|
|
@ -14,7 +14,7 @@ This file provides guidance to Claude Code when working with the Lamassu Next co
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
lamassu-next/
|
bitSpire/
|
||||||
├── apps/
|
├── apps/
|
||||||
│ ├── machine/ # Electron + Vue 3 ATM kiosk application ✅
|
│ ├── machine/ # Electron + Vue 3 ATM kiosk application ✅
|
||||||
│ ├── dashboard/ # Vue 3 operator dashboard (planned)
|
│ ├── dashboard/ # Vue 3 operator dashboard (planned)
|
||||||
|
|
@ -166,7 +166,7 @@ cd ~/dev/local/docker/regtest && ./start-regtest
|
||||||
source docker-scripts.sh
|
source docker-scripts.sh
|
||||||
|
|
||||||
# Start lamassu services connected to regtest
|
# Start lamassu services connected to regtest
|
||||||
cd lamassu-next/docker && ./start-with-regtest.sh
|
cd bitSpire/docker && ./start-with-regtest.sh
|
||||||
|
|
||||||
# CLI helpers
|
# CLI helpers
|
||||||
bitcoin-cli-sim -generate 1 # Mine blocks
|
bitcoin-cli-sim -generate 1 # Mine blocks
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Lamassu Next
|
# bitSpire
|
||||||
|
|
||||||
A Nostr-native Lightning ATM system. KYC-free, open source, auditable.
|
A Nostr-native Lightning ATM system. KYC-free, open source, auditable.
|
||||||
|
|
||||||
|
|
@ -17,7 +17,7 @@ A Nostr-native Lightning ATM system. KYC-free, open source, auditable.
|
||||||
```bash
|
```bash
|
||||||
# 1. Clone the repository
|
# 1. Clone the repository
|
||||||
git clone ssh://forgejo@git.atitlan.io/aiolabs/lamassu-next.git
|
git clone ssh://forgejo@git.atitlan.io/aiolabs/lamassu-next.git
|
||||||
cd lamassu-next
|
cd bitSpire
|
||||||
|
|
||||||
# 2. Enter the development environment
|
# 2. Enter the development environment
|
||||||
devenv shell
|
devenv shell
|
||||||
|
|
@ -74,7 +74,7 @@ pnpm dev # Start Electron app with hot reload
|
||||||
## Architecture
|
## Architecture
|
||||||
|
|
||||||
```
|
```
|
||||||
lamassu-next/
|
bitSpire/
|
||||||
├── apps/
|
├── apps/
|
||||||
│ └── machine/ # Electron + Vue 3 ATM kiosk
|
│ └── machine/ # Electron + Vue 3 ATM kiosk
|
||||||
├── packages/
|
├── packages/
|
||||||
|
|
|
||||||
|
|
@ -985,7 +985,7 @@ export async function initializeLightningServices(options?: {
|
||||||
console.log('[CLINK] Creating invoice for', amountSats, 'sats')
|
console.log('[CLINK] Creating invoice for', amountSats, 'sats')
|
||||||
const invoice = await lightningPub.createInvoice({
|
const invoice = await lightningPub.createInvoice({
|
||||||
amountSats,
|
amountSats,
|
||||||
description: request.description || 'Lamassu ATM Payment',
|
description: request.description || 'bitSpire Payment',
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('[CLINK] Invoice created:', invoice.paymentRequest.slice(0, 32) + '...')
|
console.log('[CLINK] Invoice created:', invoice.paymentRequest.slice(0, 32) + '...')
|
||||||
|
|
@ -1225,7 +1225,7 @@ function createATMServices(
|
||||||
try {
|
try {
|
||||||
const invoice = await lightningPub.createInvoice({
|
const invoice = await lightningPub.createInvoice({
|
||||||
amountSats,
|
amountSats,
|
||||||
description: 'Lamassu ATM - Cash Out',
|
description: 'bitSpire - Cash Out',
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log('[ATM Service] createInvoice response:', invoice)
|
console.log('[ATM Service] createInvoice response:', invoice)
|
||||||
|
|
|
||||||
|
|
@ -696,7 +696,7 @@ export const useAtmStore = defineStore('atm', () => {
|
||||||
console.log('[ATM] Generating invoice for debit request...')
|
console.log('[ATM] Generating invoice for debit request...')
|
||||||
const invoice = await lightningPub.value.createInvoice({
|
const invoice = await lightningPub.value.createInvoice({
|
||||||
amountSats: amount,
|
amountSats: amount,
|
||||||
description: `Lamassu ATM - Buy ${amount} sats`,
|
description: `bitSpire - Buy ${amount} sats`,
|
||||||
})
|
})
|
||||||
|
|
||||||
if (!invoice.paymentRequest) {
|
if (!invoice.paymentRequest) {
|
||||||
|
|
@ -709,7 +709,7 @@ export const useAtmStore = defineStore('atm', () => {
|
||||||
invoice.paymentRequest,
|
invoice.paymentRequest,
|
||||||
{
|
{
|
||||||
amountSats: amount,
|
amountSats: amount,
|
||||||
description: `Lamassu ATM - Buy ${amount} sats`,
|
description: `bitSpire - Buy ${amount} sats`,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
# Lamassu ATM NixOS Deployment
|
# bitSpire NixOS Deployment
|
||||||
|
|
||||||
NixOS configuration for deploying Lamassu Next ATM software on UP Board hardware.
|
NixOS configuration for deploying Lamassu Next ATM software on UP Board hardware.
|
||||||
|
|
||||||
|
|
@ -162,7 +162,7 @@ sudo nixos-rebuild switch --flake /etc/nixos#lamassu-atm
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build new version
|
# Build new version
|
||||||
cd lamassu-next/apps/machine
|
cd bitSpire/apps/machine
|
||||||
pnpm run build
|
pnpm run build
|
||||||
|
|
||||||
# Copy to ATM
|
# Copy to ATM
|
||||||
|
|
@ -177,7 +177,7 @@ ssh lamassu@<atm-ip> "sudo systemctl restart lamassu-atm"
|
||||||
For development/testing, you can use the regtest docker environment:
|
For development/testing, you can use the regtest docker environment:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd lamassu-next
|
cd bitSpire
|
||||||
./docker/dev.sh up --fund
|
./docker/dev.sh up --fund
|
||||||
./docker/dev.sh atm
|
./docker/dev.sh atm
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@ const noffer = encodeNoffer({
|
||||||
pubkey: 'abc123...', // ATM's pubkey (or Lightning.Pub's pubkey)
|
pubkey: 'abc123...', // ATM's pubkey (or Lightning.Pub's pubkey)
|
||||||
relay: 'wss://relay.example.com',
|
relay: 'wss://relay.example.com',
|
||||||
priceType: 'spontaneous', // Customer chooses amount
|
priceType: 'spontaneous', // Customer chooses amount
|
||||||
description: 'Lamassu ATM - Cash Out',
|
description: 'bitSpire - Cash Out',
|
||||||
})
|
})
|
||||||
|
|
||||||
// Result: noffer1qqs8h5mrx8v9...
|
// Result: noffer1qqs8h5mrx8v9...
|
||||||
|
|
@ -337,7 +337,7 @@ Used to create, update, or revoke payment offers.
|
||||||
// ATM generates noffer for cash-out
|
// ATM generates noffer for cash-out
|
||||||
const noffer = clink.createOffer({
|
const noffer = clink.createOffer({
|
||||||
priceType: 'spontaneous',
|
priceType: 'spontaneous',
|
||||||
description: 'Lamassu ATM - Cash Out',
|
description: 'bitSpire - Cash Out',
|
||||||
})
|
})
|
||||||
|
|
||||||
// Display QR code with noffer
|
// Display QR code with noffer
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Machine Installation
|
# Machine Installation
|
||||||
|
|
||||||
This document describes how to deploy the Lamassu Next ATM software to a Sintra machine.
|
This document describes how to deploy the bitSpire ATM software to a Sintra machine. (Historical name: "Lamassu Next" — renamed on the `dev` branch as part of the LNbits-backend transition.)
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ These can be self-hosted or provided by a third party.
|
||||||
|
|
||||||
```
|
```
|
||||||
release/
|
release/
|
||||||
├── Lamassu ATM-0.1.0.AppImage # Portable executable (recommended)
|
├── bitSpire-0.1.0.AppImage # Portable executable (recommended)
|
||||||
└── linux-unpacked/ # Unpacked application directory
|
└── linux-unpacked/ # Unpacked application directory
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -56,21 +56,21 @@ The AppImage is a self-contained executable that works on any Linux distribution
|
||||||
1. Copy to Sintra:
|
1. Copy to Sintra:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
scp "apps/machine/release/Lamassu ATM-0.1.0.AppImage" user@sintra:/opt/lamassu/
|
scp "apps/machine/release/bitSpire-0.1.0.AppImage" user@sintra:/opt/lamassu/
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Make executable:
|
2. Make executable:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ssh user@sintra
|
ssh user@sintra
|
||||||
chmod +x "/opt/lamassu/Lamassu ATM-0.1.0.AppImage"
|
chmod +x "/opt/lamassu/bitSpire-0.1.0.AppImage"
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Test manually:
|
3. Test manually:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export DISPLAY=:0
|
export DISPLAY=:0
|
||||||
"/opt/lamassu/Lamassu ATM-0.1.0.AppImage" --no-sandbox
|
"/opt/lamassu/bitSpire-0.1.0.AppImage" --no-sandbox
|
||||||
```
|
```
|
||||||
|
|
||||||
### Option B: Unpacked Directory
|
### Option B: Unpacked Directory
|
||||||
|
|
@ -145,7 +145,7 @@ Create `/etc/systemd/system/lamassu-kiosk.service`:
|
||||||
|
|
||||||
```ini
|
```ini
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Lamassu ATM Kiosk
|
Description=bitSpire ATM Kiosk
|
||||||
After=graphical.target network-online.target
|
After=graphical.target network-online.target
|
||||||
Wants=network-online.target
|
Wants=network-online.target
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue