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