Summary
Running a Bitcoin node on a mobile device often means operating on metered cellular connections. Mandacaru should offer a low-bandwidth mode that minimizes data usage while still keeping the node functional.
Motivation
Mobile users may not always be on Wi-Fi. Without bandwidth controls, the Floresta node can consume significant data by downloading blocks, syncing compact block filters, and communicating with multiple peers. A low-bandwidth mode would make Mandacaru practical for everyday mobile use.
Possible Approaches
- Limit peer connections: Reduce the number of outbound peers to minimize relay traffic
- Pause sync on cellular: Automatically pause or throttle IBD/sync when on metered connections, resume on Wi-Fi
- Compact block filters start height: Use
filtersStartHeight in the Floresta Config to skip downloading filters for older blocks
- User-configurable toggle: Add a setting in the Settings screen to enable/disable low-bandwidth mode
Implementation Notes
This feature likely requires upstream support in the Floresta FFI layer (e.g., exposing peer limits or bandwidth throttling options in the Config struct). The current Config (via UniFFI bindings) does not expose bandwidth-related parameters beyond filtersStartHeight.
On the Android side, the app can detect network type via ConnectivityManager to automatically switch modes.
Summary
Running a Bitcoin node on a mobile device often means operating on metered cellular connections. Mandacaru should offer a low-bandwidth mode that minimizes data usage while still keeping the node functional.
Motivation
Mobile users may not always be on Wi-Fi. Without bandwidth controls, the Floresta node can consume significant data by downloading blocks, syncing compact block filters, and communicating with multiple peers. A low-bandwidth mode would make Mandacaru practical for everyday mobile use.
Possible Approaches
filtersStartHeightin the FlorestaConfigto skip downloading filters for older blocksImplementation Notes
This feature likely requires upstream support in the Floresta FFI layer (e.g., exposing peer limits or bandwidth throttling options in the
Configstruct). The currentConfig(via UniFFI bindings) does not expose bandwidth-related parameters beyondfiltersStartHeight.On the Android side, the app can detect network type via
ConnectivityManagerto automatically switch modes.