Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support HTTP REST API #3098

Closed
eingenito opened this issue Jul 22, 2019 · 5 comments
Closed

Support HTTP REST API #3098

eingenito opened this issue Jul 22, 2019 · 5 comments
Assignees
Labels
C-dev-productivity Category: Developer productivity C-ux Category: Anything related to user experience

Comments

@eingenito
Copy link

eingenito commented Jul 22, 2019

Description

Related spec issue: filecoin-project/specs#400

The current HTTP RPC API from go-ipfs-cmds was never designed as a general purpose API framework and is awkward for developer-users:

  • doesn’t support standard web patterns, e.g. for pagination
  • doesn’t support client authentication
  • not a widely-used or understood standard
  • lacks rich tooling and support c.f. REST, gRPC or other common frameworks
  • difficult to document as a wire format
  • somewhat difficult to replicate outside of Go

A standard HTTP api could address these issues and offer the possibility of cross-implementation compatibility for tools that communicate with a node.

Scope

The goals of this effort would be:

  • Design a v1 (or v0?) REST API for interacting with a filecoin node suitable for use across implementations
  • Implement the API in go-filecoin
  • Migrate the existing CLI commands to use the new API possibly eliminating the use of go-ipfs-cmds

Risks + pitfalls

A lot of work to replace a working but somewhat awkward existing API. Helpful for longer term adoption and support of 3rd parties building on Filecoin

Where to begin

@eingenito working on a draft of such an API for review by the team and any other interested parties.

@ridewindx
Copy link
Contributor

Any progress or plan on this?

@eingenito
Copy link
Author

Hey @ridewindx there is some progress - a WIP design document: https://docs.google.com/document/d/1ANnTHOU-8612ayvvS7Ru4B1L4voojLE0R0TQ8zF1x5s/edit#

@shannonwells
Copy link
Contributor

shannonwells commented Oct 29, 2019

Status: See filecoin-project/go-http-api -- further development is on hold for now.

@gargdeepak
Copy link

@shannonwells @anorth I can pick this up if you can share what's remaining to be done

@anorth
Copy link
Member

anorth commented Apr 14, 2020 via email

@hunjixin hunjixin closed this as completed Jan 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-dev-productivity Category: Developer productivity C-ux Category: Anything related to user experience
Projects
None yet
Development

No branches or pull requests

6 participants