fuel-core icon indicating copy to clipboard operation
fuel-core copied to clipboard

feat: Snap/Torrent-style initial sync

Open rymnc opened this issue 1 year ago • 0 comments

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 SnapSync RunnableService conditionally 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

rymnc avatar Jan 07 '25 03:01 rymnc