Large File Storage (LFS)
GitForest includes decentralized large file storage for sharing ML model weights, datasets, and other big artifacts over the P2P network — think Git LFS, but fully decentralized with BitTorrent-style distribution.
How it works
- Content-addressed blobs — files are hashed (SHA-256) and stored outside git. The hash is the file's identity on the network.
- Adaptive chunking — files are split into pieces for parallel download and verification:
- < 100 MB: 256 KB pieces
- 100 MB – 1 GB: 1 MB pieces
- >= 1 GB: 4 MB pieces
- Piece verification — each piece is verified against its hash as it arrives (BitTorrent-style), so corrupted transfers are detected and retried automatically.
- Seeding — peers who hold a blob seed it for others; seeder/leecher counts are the organic quality signal.
Blob commands
$ gitforest blob add ./model-weights.bin
$ gitforest blob list
$ gitforest blob info <id> # size, pieces, path
$ gitforest blob pointer <id> # generate a git pointer file
$ gitforest blob remove <id>
Pointer files
Instead of committing big binaries into git history, commit a tiny pointer file that references the blob by hash:
version https://gitforest.net/lfs/v1
oid sha256:<blob_id>
size <bytes>
Anyone cloning the repo can fetch the referenced blob from the P2P network on demand.
Collections (models & datasets)
Group many blobs into a named, versioned collection manifest — perfect for ML model weights, dataset bundles, or release artifacts:
$ gitforest collection create --name my-dataset --blobs <id1>,<id2>
$ gitforest collection list
$ gitforest collection info <id>
Use cases
- Sharing ML model weights without a central hub
- Distributing large datasets with built-in verification
- Release artifact mirrors that peers can seed
- Backing up large project assets across machines you control