Open
Description
This issue is for tracking progress on the CoreAPI package
blockers:
- Improve paths in CoreApi #4672 - Improve paths in CoreApi
- CoreAPI: Global offline option #5825 - Global offline option
- Update for go-ipfs-files refactor #5661 - go-ipfs-files 2.0
- Move coreapi tests to the interface #5865 - Move coreapi tests to the interface
- ls: Report real file size #5906 - ls reports real size
- coreapi: replace coreiface.DagAPI with ipld.DAGService #5922 - Make Dag api just be a DAGService
related issues:
- Switch all path resolutions to the CoreAPI #5491 - Switch all path resolutions to the CoreAPI (Cleanup instances of manual resolver construction #5492, Switch name publish/resolve to coreapi #5563)
- [coreapi] [feature] Add repository initialization support #4887 - Init support
- Make sure Gateway.NoFetch applies fully #5929 - Make sure Gateway.NoFetch applies fully (Port dag commansds to CoreAPI #5939, Refactor ipfs get to use CoreAPI #5943, Port
ipfs ls
to CoreAPI #5962)
List of APIs to support (apis with bold names what is needed to replace go-ipfs-api with coreapi-based implementation without removing features, add more if I forgot something):
- Define / implement coreapi in go-ipfs
- block - coreapi: Block API #4548
- config
- dag - RFC: coreapi.Dag #4471
- dht -
[WIP] coreapi: pubsub, dht, swarm #4774coreapi: DHT API #4804 - files - [RFC] MFS interface draft interface-go-ipfs-core#19 / CoreAPI: Files API #6081
- key - RFC: coreapi.Name,Key #4477
- name - RFC: coreapi.Name,Key #4477
- object - coreapi: Basic object API implementation #4492
- pin - coreapi: Pin API #4575
- pubsub -
[WIP] coreapi: pubsub, dht, swarm #4774coreapi: PubSub API #4805 - swarm -
[WIP] coreapi: pubsub, dht, swarm #4774coreapi: Swarm API #4803 (Needs tests) - unixfs - Refactor UnixFS CoreAPI #5501 / ? / ?
- Get some batching interfaces - Batching in CoreAPI #5215
- Rewrite commands to use coreapi
- Wire up CoreAPI to commands - commands: switch object to CoreAPI #4643
- block - block cmd: Use coreapi #5331
- config
- dag - Port dag commansds to CoreAPI #5939
- dht
- files - CoreAPI: Files API #6081
- key - key cmd: Refactor to use coreapi #5339
- name - Switch name publish/resolve to coreapi #5563
- object - commands: switch object to CoreAPI #4643
- pin - cmds/pin: use coreapi/pin #5843
- pubsub - coreapi: PubSub API #4805
- swarm - coreapi: Swarm API #4803
- Move to interface-go-ipfs-core (tracked in core/coreapi package extracted to interface-ipfs-core repo #3176) - coreapi: extract interface #5978
- Implement go-ipfs-api using CoreAPI -
[WIP] Implement CoreAPI go-ipfs-api#76Initial implementation go-ipfs-http-client#1- Figure out deprecating current API - proposed Module rename. -api => -http-client go-ipfs-api#139 (comment)
- block - Initial implementation go-ipfs-http-client#1 (
tests need coreapi: Adjust some tests for go-ipfs-http-api #5926) - config
- dag - Initial implementation go-ipfs-http-client#1 (
blocked: coreapi: replace coreiface.DagAPI with ipld.DAGService #5922, tests need coreapi: few more error check fixes #5935) - dht - Initial implementation go-ipfs-http-client#1 (
tests need coreapi: Adjust some tests for go-ipfs-http-api #5926) - files
- key - Initial implementation go-ipfs-http-client#1 (
tests need coreapi: Adjust some tests for go-ipfs-http-api #5926) - name - Initial implementation go-ipfs-http-client#1
- object - Initial implementation go-ipfs-http-client#1 (
tests need coreapi: Adjust some tests for go-ipfs-http-api #5926) - pin - Initial implementation go-ipfs-http-client#1
- pubsub - Initial implementation go-ipfs-http-client#1
- swarm - Initial implementation go-ipfs-http-client#1 (untested)
- unixfs - Initial implementation go-ipfs-http-client#1 (
needs ls: Report real file size #5906, tests need coreapi: few more error check fixes #5935, coreapi: add some seeker tests #5934)
(I'm aware of ipfs-inactive/interface-js-ipfs-core#66, I'd say that this interface should get to a 'mostly done' stage here as it's much easier to refine it while it's in one place)