fuel-core
fuel-core copied to clipboard
feat: Snap/Torrent-style initial sync
Currently, syncing a node from scratch can be done only via p2p. We lack the ability to share backups of the databases between filesystems/os abstractions and hence heavily rely on p2p for syncing when rather someone's database could initially be bootstrapped by another mechanism.
Sub-Issues
- [x] Platform agnostic backups/recovery for rocksdb.
- [x] https://github.com/FuelLabs/fuel-core/pull/2535
- [ ] Describe chunking of backup with compression. We can do some interesting things by having magnet links for block ranges, but mvp can have just one magnet link.
- [ ] Describe
SnapSyncRunnableServiceconditionally mounted based on cli args.
Definition of Done
- [ ] I can start a fuel node which generates a backup every x days and serves it over the torrent protocol
- [ ] I can start a fuel node with
--snap-sync --snap-sync-magnet-uri <>to initially bootstrap my fuel node