zingolib icon indicating copy to clipboard operation
zingolib copied to clipboard

The Are Multiple Sources of Truth for the gRPC interface

Open zancas opened this issue 2 years ago • 2 comments

In particular the following files all define the CompactBlock type:

(1) ECC Rust Client LIbrary: zcash_client_backed

(2) ECC Go Zcashd Proxy: lightwalletd

(3) Zingolabs Rust Contract SDK: zingolib

Many sources of truth for the network interface eliminates one of the motivating benefits of a protobuf architecture, which is that the client and server are guaranteed to agree on an interface because they derive it from the same source!

Potential Solution:

  • some repository contains the canonical specs (.protos) dependents reference those spec files. It seems obvious that the canonical spec files should be in lightwalletd.

zancas avatar Jul 08 '22 19:07 zancas