zingolib
zingolib copied to clipboard
The Are Multiple Sources of Truth for the gRPC interface
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 thosespec
files. It seems obvious that the canonical spec files should be inlightwalletd
.