interledger-rs icon indicating copy to clipboard operation
interledger-rs copied to clipboard

Should we add a gRPC version of the HTTP API?

Open emschwartz opened this issue 6 years ago • 2 comments

Note: worth looking at:

  • https://github.com/hyperium/tonic
  • https://github.com/pingcap/grpc-rs

emschwartz avatar Oct 14 '19 17:10 emschwartz

I think the answer is 'yes', especially if we're investing in gRPC support in rippled.

Generally, I think that Ripple / Xpring should push the same suite of technologies across all of our APIs so there's a cohesive development experience (and internally, engineers can develop institutional knowledge more easily).

A one time investment here saves a bunch of time when you want to build out clients and tools. I would also suggest that you will save a lot of effort in maintaining these APIs because of the backwards compatibility and self documenting schema benefits.

Lastly, I think that generated code with method names and proper objects makes it easier for developers who don't have context to get started with your APIs (as opposed to manually prodding a JSON API or trawling through documentation).

I assume this is more of a philosophical question than a technical one. I'm happy to elaborate on the technical merits of gRPC over a JSON API (typing, code generation, compatibility) if it contributes to the discussion.

keefertaylor avatar Oct 14 '19 17:10 keefertaylor

Tonic got a 0.1 release: https://luciofran.co/tonic-0-1-release/

gakonst avatar Jan 20 '20 17:01 gakonst