ipfs / ipfs/kubo

Possibility of making the filestore an external dependecy.

Open
#3,375 0 comments 0 reactions 0 assignees View on GitHub
status/deferred
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

Right now making any part of the filestore an external dependency will be difficult, but not impossible. The major reason for this is because the filestore depends on other parts of IPFS. (In fact in order to avoid circular imports I had to break the filestore into several packages) Here are the packages and the deps within ipfs of the full filestore implementation for reference:
```
filestore:
github.com/ipfs/go-ipfs/filestore/pb
github.com/ipfs/go-ipfs/merkledag/pb
github.com/ipfs/go-ipfs/thirdparty/ds-help
github.com/ipfs/go-ipfs/unixfs/pb

filestore/pb:

filestore/support:
github.com/ipfs/go-ipfs/blocks
github.com/ipfs/go-ipfs/blocks/blockstore
github.com/ipfs/go-ipfs/filestore
github.com/ipfs/go-ipfs/merkledag
github.com/ipfs/go-ipfs/thirdparty/ds-help
github.com/ipfs/go-ipfs/thirdparty/posinfo
github.com/ipfs/go-ipfs/unixfs/pb

filestore/util:
github.com/ipfs/go-ipfs/blocks/blockstore
github.com/ipfs/go-ipfs/blocks/blockstore/util
github.com/ipfs/go-ipfs/commands
github.com/ipfs/go-ipfs/core
github.com/ipfs/go-ipfs/filestore
github.com/ipfs/go-ipfs/filestore/support
github.com/ipfs/go-ipfs/merkledag
github.com/ipfs/go-ipfs/pin
github.com/ipfs/go-ipfs/repo/fsrepo
github.com/ipfs/go-ipfs/thirdparty/ds-help
github.com/ipfs/go-ipfs/unixfs
```

The other major stumbling blocks are the handling of the add command that depends on implementation details of the adder, and the `filestore` sub-command.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.