librustzcash
librustzcash copied to clipboard
zcash_client_backend: Add gRPC bindings behind feature flag
The lightwalletd service file is sourced from zcash/lightwalletd@ad5ecda5fbb5e12799f926b8cd785d54fdd250c8
Closes zcash/librustzcash#585.
tests & Clippy lints appear to be failing.
That's expected; this PR requires a newer Rust than our MSRV, due to required dependencies. We can merge this when we bump our MSRV, which will be after #646.
Is the .proto file here the canonical source of truth going forward? How do we ensure it doesn't get out of sync with lightwalletd?
Protobuf files, and gRPC on top of them, are both designed to be forward-compatible, so there's no need to synchronise updates on the client and server side. I would consider this repo to be the canonical source for compact-formats.proto
(because it defines common data structures) and lightwalletd to be the canonical source for service.proto
(because it defines the services that lightwalletd
exposes), but it doesn't actually matter; lightwalletd
can be updated with changes to its gRPC interface, and as long as those changes are made correctly within the gRPC framework then they won't break existing clients, which can then update to the new service.proto
whenever they need the updated features.
I'll prioritize checking zingolib compatibility with this. Thanks!
This is now based on #691 and uses tonic
.
Codecov Report
:exclamation: No coverage uploaded for pull request base (
prost@379b703
). Click here to learn what that means. Patch has no changes to coverable lines.
Additional details and impacted files
@@ Coverage Diff @@
## prost #642 +/- ##
========================================
Coverage ? 72.51%
========================================
Files ? 105
Lines ? 10316
Branches ? 0
========================================
Hits ? 7481
Misses ? 2835
Partials ? 0
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Clippy lints fixed in https://github.com/zcash/librustzcash/pull/691/commits/587e1fa60b4d408cfb3762fced23e8b620a71532.