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
|
### 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 3 — Query Bitcoin data through Fulcrum
|
### Milestone 4 — Authentication 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
|
||||||
Reference in New Issue
Block a user