Warning
This tool was not updated since 2021 and go-ipfs v0.8.0 and repo version 11. Badgerv1 is considered unstable and is deprecated.
Modern Kubo supports various datastores via plugin system, and instead of conversion tool like this, users are advised to create a new repository.
Datastore converter for go-ipfs
This tool is WIP and may damage your data. Make sure to make a backup first.
TODO:
- Finish basic conversion code
- package.json for gx
- Tests
- CI (needs ipfs/kubo#4007, ipfs/kubo#3575)
- Coverage > 80% or more
- Review
- Standard readme
- Revert on error / from backup
- Cleanup backup subcommand
- Optimize some standard cases
- Don't copy directories when not needed
- Detect renames
- Not that common
- Report progress
- Don't depend on go-ipfs
These instructions assume that go has been installed as described here.
$ GO111MODULE=on go get github.com/ipfs/ipfs-ds-convert@latest
Apply the Badger Datastore profile:
ipfs config profile apply badgerds
Then, start the conversion using
$ ipfs-ds-convert convert
This can take a very long time to complete depending on the size of the datastore. If running this on a headless server it's recommended to use something like screen
or tmux
to run this command in a persistent shell.
PRs are welcome!
Small note: If editing the Readme, please conform to the standard-readme specification.
MIT © Łukasz Magiera