Update docs/build-notes.md

Document Fulcrum milestone and add authentication milestone
This commit is contained in:
2026-08-28 16:19:26 +00:00
parent c8529489a1
commit 72f1f14ae0
+80 -65
View File
@@ -8,98 +8,113 @@
### Milestone 1 — Working StartOS service ### Milestone 1 — Working StartOS service
* StartOS package builds successfully - StartOS package builds successfully
* Docker container starts correctly - Docker container starts correctly
* Service installs on physical StartOS server - Service installs on physical StartOS server
* Web interface is served by nginx - Web interface is served by nginx
* UTF-8 support verified - UTF-8 support verified
* Repository cleaned and structured - Repository cleaned and structured
### Milestone 2 — Fulcrum connectivity and live service status ### Milestone 2 — Fulcrum connectivity and live service status
* Fulcrum is configured as a StartOS dependency - Fulcrum is configured as a StartOS dependency
* Munin receives the Fulcrum endpoint from StartOS - Munin receives the Fulcrum endpoint from StartOS
* Munin performs a real Electrum `server.version` connectivity check - Munin performs a real Electrum `server.version` connectivity check
* Status API reports Fulcrum configuration and connection state - Status API reports Fulcrum configuration and connection state
* Verified status API response with `fulcrum.connected: true` - Verified status API response with `fulcrum.connected: true`
* Web interface displays `Fulcrum (Electrum server)` - Web interface displays `Fulcrum (Electrum server)`
* Web interface displays the Fulcrum connection status and endpoint - Web interface displays the Fulcrum connection status and endpoint
* Web interface displays wallet, label, transaction, and last-scan status - Web interface displays wallet, label, transaction, and last-scan status
* Status can be refreshed from the web interface - Status can be refreshed from the web interface
* TypeScript check passes - TypeScript check passes
* JavaScript bundle builds successfully - JavaScript bundle builds successfully
* Docker image builds successfully - Docker image builds successfully
* S9PK package builds successfully - S9PK package builds successfully
* S9PK package was sideloaded and installed on the physical StartOS server - S9PK package was sideloaded and installed on the physical StartOS server
* Munin starts successfully after installation - Munin starts successfully after installation
### Milestone 3 — Query Bitcoin data through Fulcrum
- Query blockchain data through the Fulcrum Electrum server
- Verify address and transaction queries
- Build the backend foundation for wallet monitoring
- Query current blockchain height through `blockchain.headers.subscribe`
- Display Fulcrum server version and blockchain height through the status API
- Verify live blockchain height from the physical StartOS server
## Current architecture ## Current architecture
* StartOS package - StartOS package
* Alpine Linux container - Alpine Linux container
* nginx serving the web interface - nginx serving the web interface
* Node.js status API - Node.js status API
* Static dashboard in `web/index.html` - Static dashboard in `web/index.html`
* Fulcrum provided as a StartOS dependency - Fulcrum provided as a StartOS dependency
* Electrum protocol connectivity check from Munin to Fulcrum - Electrum protocol connectivity check from Munin to Fulcrum
- Blockchain height queried through Fulcrum
## Current status ## Current status
Munin Bitcoin is running as a StartOS service and can verify connectivity to the configured Fulcrum Electrum server. Munin Bitcoin is running as a StartOS service and can verify connectivity to the configured Fulcrum Electrum server.
Munin can query the current Bitcoin blockchain height through Fulcrum.
Bitcoin Core RPC is not currently used by Munin. Bitcoin Core RPC is not currently used by Munin.
Wallet configuration, label storage, transaction scanning, and notification functionality are not yet implemented. Wallet configuration, label storage, transaction scanning, and notification functionality are not yet implemented.
## Next steps ## Next steps
### Milestone 3Query Bitcoin data through Fulcrum ### Milestone 4Authentication and access control
* Query blockchain data through the Fulcrum Electrum server - Add user authentication for the Munin web interface
* Verify address and transaction queries - Require authentication before accessing wallet and monitoring data
* Build the backend foundation for wallet monitoring - Add password management
- Protect wallet addresses, xpubs, BSMS data, labels, and transaction information
- Keep authentication credentials separate from wallet data
- Integrate with StartOS authentication/security conventions where appropriate
### Milestone 4 — Address watchlist ### Milestone 5 — Address watchlist
* Add watch-only Bitcoin addresses - Add watch-only Bitcoin addresses
* Store monitored addresses persistently - Store monitored addresses persistently
* Display address activity and UTXOs - Display address activity and UTXOs
* Display transaction history - Display transaction history
### Milestone 5 — xpub watch-only wallets ### Milestone 6 — xpub watch-only wallets
* Import xpub-based watch-only wallets - Import xpub-based watch-only wallets
* Derive addresses for monitoring - Derive addresses for monitoring
* Support common extended public key formats - Support common extended public key formats
* Track wallet activity without private keys - Track wallet activity without private keys
### Milestone 6 — BSMS multisig wallets ### Milestone 7 — BSMS multisig wallets
* Import BSMS wallet files - Import BSMS wallet files
* Support multisig wallet/watch-only configuration - Support multisig wallet/watch-only configuration
* Monitor multisig wallet addresses and transactions - Monitor multisig wallet addresses and transactions
* Keep private signing material out of Munin - Keep private signing material out of Munin
### Milestone 7 — BIP-329 labels ### Milestone 8 — BIP-329 labels
* Import BIP-329 labels - Import BIP-329 labels
* Export BIP-329 labels - Export BIP-329 labels
* Store and manage labels persistently - Store and manage labels persistently
* Associate labels with relevant Bitcoin objects - Associate labels with relevant Bitcoin objects
### Milestone 8 — Notifications ### Milestone 9 — Notifications
* Add NTFY notifications - Add NTFY notifications
* Add email notifications through SMTP - Add email notifications through SMTP
* Allow notification settings to be configured per wallet - Allow notification settings to be configured per wallet
* Support notifications for new transactions - Support notifications for new transactions
* Support notifications for relevant wallet/UTXO changes - Support notifications for relevant wallet/UTXO changes
* Use the NTFY documentation and Start9 SMTP packaging examples as implementation references - Use the NTFY documentation and Start9 SMTP packaging examples as implementation references
### Milestone 9 — PWA ### Milestone 10 — PWA
* Make the web interface a fully installable PWA - Make the web interface a fully installable PWA
* Add responsive desktop and mobile layouts - Add responsive desktop and mobile layouts
* Add service worker and application manifest - Add service worker and application manifest
* Improve offline application-shell behaviour - Improve offline application-shell behaviour
* Polish wallet, transaction, label, and notification views - Polish wallet, transaction, label, and notification views