ipfs / ipfs/kubo

CoreAPI progress tracking issue

Open
#4,498 3 comments 3 reactions 0 assignees View on GitHub
topic/core-api topic/meta
Dominant language
Go
Stars
17.1k
Forks
3.2k
Avg merge
3d 18h
Merged PRs (30d)
11

Description

This issue is for tracking progress on the [CoreAPI](https://github.com/ipfs/go-ipfs/tree/master/core/coreapi) package

**blockers:**
- [x] #4672 - Improve paths in CoreApi
- [x] #5825 - Global offline option
- [x] #5661 - go-ipfs-files 2.0
- [x] #5865 - Move coreapi tests to the interface
- [x] #5906 - ls reports real size
- [x] #5922 - Make Dag api just be a DAGService

**related issues:**
* [x] #5491 - Switch all path resolutions to the CoreAPI (#5492, #5563)
* [ ] #4887 - Init support
* [x] #5929 - Make sure Gateway.NoFetch applies fully (#5939, #5943, #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
- [x] **block** - #4548
- [ ] config
- [x] **dag** - #4471
- [x] **dht** - #4774 #4804
- [ ] files - https://github.com/ipfs/interface-go-ipfs-core/pull/19 / #6081
- [x] key - #4477
- [x] **name** - #4477
- [x] **object** - #4492
- [x] **pin** - #4575
- [x] **pubsub** - #4774 #4805
- [x] swarm - #4774 #4803 (Needs tests)
- [x] **unixfs** - #5501 / ? / ?
- [ ] Get some batching interfaces - #5215
- [ ] Rewrite commands to use coreapi
- [x] Wire up CoreAPI to commands - #4643
- [x] block - #5331
- [ ] config
- [x] dag - https://github.com/ipfs/go-ipfs/pull/5939
- [ ] dht
- [ ] files - #6081
- [x] key - #5339
- [x] name - #5563
- [x] object - #4643
- [x] pin - #5843
- [x] pubsub - #4805
- [x] swarm - https://github.com/ipfs/go-ipfs/pull/4803
- [x] Move to interface-go-ipfs-core (tracked in https://github.com/ipfs/go-ipfs/issues/3176) - #5978
- [ ] Implement go-ipfs-api using CoreAPI - https://github.com/ipfs/go-ipfs-api/pull/76 https://github.com/ipfs/go-ipfs-http-api/pull/1
- [x] Figure out deprecating current API - https://github.com/ipfs/go-ipfs-api/issues/139#issuecomment-442185887
- [x] block - https://github.com/ipfs/go-ipfs-http-client/pull/1 (tests need #5926)
- [ ] config
- [x] dag - https://github.com/ipfs/go-ipfs-http-client/pull/1 (blocked: #5922, tests need #5935)
- [x] dht - https://github.com/ipfs/go-ipfs-http-client/pull/1 (tests need #5926)
- [ ] files
- [x] key - https://github.com/ipfs/go-ipfs-http-client/pull/1 (tests need #5926)
- [x] name - https://github.com/ipfs/go-ipfs-http-client/pull/1
- [x] object - https://github.com/ipfs/go-ipfs-http-client/pull/1 (tests need #5926)
- [x] pin - https://github.com/ipfs/go-ipfs-http-client/pull/1
- [x] pubsub - https://github.com/ipfs/go-ipfs-http-client/pull/1
- [x] swarm - https://github.com/ipfs/go-ipfs-http-client/pull/1 (untested)
- [x] unixfs - https://github.com/ipfs/go-ipfs-http-client/pull/1 (needs #5906, tests need #5935, #5934)

(I'm aware of https://github.com/ipfs/interface-ipfs-core/issues/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)


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.