Peer default config must have default Datastore config #1460
Description
- Version: 0.30.1
- Platform: All
Type: Bug
Severity: High
This is currently a blocker for interop tests for IPNS
, among other interop tests.
Description:
Both js-ipfs
and go-ipfs
repos have not been compatible for a long time.
go-ipfs
introduced the datastore_spec
in version 0.4.11
as we can check in the Changelog and more specifically, in the following commits:
Taking into consideration the go-ipfs
repo, it requires that a datastore_spec
files exists in the repo, the Datastore
configuration should be in the config
file and both must match for starting a node with this repo. This way, when we create a repo with a JS daemon (it does not create the datastore_spec
nor has the Datastore
configuration in the config
file) and we try to use it with a GO daemon, it fails.
With a view to make interop tests between both implementations, we need to have a repo that works with both.
Firstly, it is mandatory that the js-ipfs-repo
creates the mentioned datastore_spec
file in the init function as the go implementation does here. I created a PR js-ipfs-repo#173 for adding this datastore_spec
file to the repo.
Moreover, we need to have a default datastore config for the peer. We can provide a config when starting a daemon with the js-ipfsd-ctl
, but I believe that we should have the same default configuration as go-ipfs
, and consequently, have the datastore
default config specified.
Steps to reproduce the error:
There are two PRs referencing this problem in ipfs/interop
: