IPFS on Android (with IPFSDroid) already works kinda well, but having the app running is currently not an option, because it sucks your battery empty in no time. Would it be possible, to implement an API call, that switches a node into low power (and possibly also into low bandwidth) mode, so that running this on mobile devices is more doable? Killing the node all the time would be another way, but that does kinda defeat the purpose of IPFS.
First step would be probably running go-ipfs in DHT client mode:
ipfs daemon --routing=dhtclient
We are working on connection closing which should further reduce the number of connections thus reducing bandwidth and power usage.
Thanks :)
Yeah, as @Kubuxu pointed out you probably want to use --routing=dhtclient. Its probably also worth turning off the reprovider with: ipfs config Reprovider.Interval "0" so your node doesnt rebroadcast all this things it has every 12 hours.
Note: Bitswap sessions (https://github.com/ipfs/go-ipfs/issues/3786) will help reduce background traffic significantly.
Sweet-IPFS 0.2.2 adds a "low power" mode by using this config
"Swarm": {
"ConnMgr": {
"LowWater": 20,
"HighWater": 100,
"GracePeriod": "80s"
}
}
Most helpful comment
First step would be probably running go-ipfs in DHT client mode:
ipfs daemon --routing=dhtclientWe are working on connection closing which should further reduce the number of connections thus reducing bandwidth and power usage.