zingolabs / zingolib

An API and test-app that exposes zcash functionality for app consumption
MIT License
15 stars 23 forks source link

The Are Multiple Sources of Truth for the gRPC interface #38

Open zancas opened 2 years ago

zancas commented 2 years ago

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:

zancas commented 2 years ago

Variants on the above solution:

zancas commented 2 years ago

Tracking this work here: https://github.com/zcash/librustzcash/issues/585