ipfs-inactive/interface-js-ipfs-core

core-api for Go implementation

Opened this issue · 4 comments

I'm working on the go-ipfs-core-api in go-ipfs/core/coreapi (ipfs/kubo#2876) for now, but I guess ideally it should move here? Should I move the js stuff into a subdirectory?

Also, should this repo be named something something core-api, instead of core interface? The terms API and interface aren't neccessarily synonymous. I know it's late for this concern, I just picked up the go-core-api work again and found it a bit irritating.

but I guess ideally it should move here?

yes

Should I move the js stuff into a subdirectory?

Probably best to move all things that can be moved related to js into a folder javascript and add another folder go with the go things. Should also have a note on this in the readme

interface-core-api/go roadmap

The PM tracking milestone for this is here for now: https://github.com/ipfs/go-ipfs/milestone/19

The preliminary roadmap looks as follows:

  1. gateway powered by go-ipfs/core/coreapi
    1. preliminary Unixfs API: Cat(), Ls(), with tests -- ipfs/kubo#3207
    2. preliminary Unixfs API: Add(), with tests
    3. Object API: AddLink(), RmLink()
  2. Unixfs API specs
  3. go-ipfs/core/coreapi moved to interface-ipfs-core/go
  4. gateway extracted from go-ipfs to go-ipfs-gateway
  5. go-ipfs-api implements Core API
    1. unixfs, object, block
    2. etc.
  6. go-ipfs commands use Core API
    1. unixfs, object, block
    2. etc.
  7. more API specs and implementations in go-ipfs-api and interface-core-api

@lgierth anything that can be PR'ed to this repo? I'm interested to know if the current way of defining the API works for go land as well