-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Description
Part of #8959 – based on discussions from IPFS Thing 2022
JS counterpart: #9125
Current state
We have two RPC clients for "GO-IPFS":
- https://github.com/ipfs/go-ipfs-api (the oldest one)
- https://github.com/ipfs/go-ipfs-http-client (more modern)
After renaming to Kubo, this state of things is arguably a really really bad user experience:
- Which RPC client should GO developers use to interact with Kubo?
- What is the reason to choose one over another?
Desired state
Ideally, we should have one Kubo client at https://github.com/ipfs/go-kubo-rpc-client
Keeping go- prefix is important because we want consistency across languages,
and Kubo team will maintain go-kubo-rpc-client too.
TODO
- decide if we need to maintain both libraries, or if one of them should be abandoned (or maybe create something totally new)
- People who may have relevant historical context: @Stebalien @hsanjuan @MichaelMure @magik6k
go-ipfs-apisupports more things, e.g. MFS.- Our CLI/RPC uses https://github.com/ipfs/go-ipfs-cmds/ – maybe use this directly and generate RPC based on implemented commands, like we generate docs https://github.com/ipfs/ipfs-docs/tree/main/tools/http-api-docs ?
- 👉 DECISION: move
go-ipfs-http-clientto Kubo repo askubo/client/rpc, and use it going forward.
- decide how to handle transition to minimize blast radius.
- 👉DECISION: keep old repos intact, and create a new one, forking
go-ipfs-http-client, making it "official" one.
- 👉DECISION: keep old repos intact, and create a new one, forking
- update docs to mention only the new client
- archive old clients
- update their README's and godocs to point at the new
go-kubo-rpc-client - archive repositories (but don't move them anywhere - we don't want to break existing code that depends on them)
- update their README's and godocs to point at the new
- CI Test To Ensure New Commands Are Added To Official Clients #10178
- we notes from JS version: Automation to detect new Kubo commands js-kubo-rpc-client#47 – most likely the CI workflow could be reused between JS and GO.
jamesthesken and tekakutli
Metadata
Metadata
Assignees
Labels
No labels
