Skip to content

v2.3.2 go-btfs-lite

Compare
Choose a tag to compare
@simbadMarino simbadMarino released this 28 Sep 06:12

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%
image

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.