v2.3.2 go-btfs-lite
First release of go-btfs-lite which removes certain functionality to reduce the final binary files for multiple OS.
This release assumes user will opt to use btfs "simple mode" while initializing the node, meaning we are removing BTTC related repositories as much as possible without removing BTFS functionality.
Current reduction size (average): 43.6%
Removed dependencies for this release:
- github.com/go-redis/redis/v7
- github.com/bittorrent/go-btfs/guide
- github.com/anacrolix/torrent
- crawshaw.io/sqlite
- github.com/ipfs/go-ipld-git
- github.com/bittorrent/go-btfs/core/commands (Several commands)
- github.com/bittorrent/go-btfs-common/protos/guard
- github.com/andybalholm/brotli
- github.com/dgraph-io/badger
- github.com/anacrolix/torrent/request-strategy
- github.com/ethereum/go-ethereum/core/types
- bazil.org/fuse
Identified TO-DOs:
- Modify init default sequence to start a simple mode by default when triggering a
btfs init
command. - Explore compressing binaries using UPX, need to wait until ups maintainer fixes a blocker in upx/upx#686
Use cases
- Bulk data download plugin or library, e.g. Termux lib to download packages instead of relying on servers or IPFS
- Eventually create a similar command line tool like cURL or wget but using BTFS, maybe even adding support for BTFS on such programs. The simpler the better.
- BTFS websites stored visualizer avoiding the need of a centralized gateway.