Skip to content

The canonical source of truth for the Zcash light wallet GRPC interface and associated protobuf definitions.

License

Notifications You must be signed in to change notification settings

zcash/lightwallet-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Light Wallet Protocol Canonical files

This repository contains the canonical Protobuf definitions for the Zcash Light Wallet protocol.

Rationale

Before the creation of this repository, copies of wallet RPC .proto files existed in several repositories across the Zcash ecosystem. This posed a challenge for protocol developers, wallet maintainers, and infrastructure providers who would have to look up the Ad Hoc canonical files for their own use and changes were hard to propagate and communicate. There was also a danger of projects deploying incompatible changes, such as using the same field or tag number for a new message field.

This repository IS not a specification of the Zcash Light Client protocol. The Zcash Light Client Protocol is described in ZIP-307.

These files define the GRPC API for the ZIP 307 light wallet service using proto 3.

How to use these files

We recommend using git subtree to update downstream repositories to use the lastest tagged versions of this repository.

git subtree -p $(TARGET_PATH) pull [email protected]:zcash/lightwallet-protocol.git $(LATEST_VERSION) --squash

Example: YourProject

We assume YourProject is a git repository. Begin with a clean working tree. (Pulling in lightwallet-protocol creates its own commit; any changes you're making to your project should be in separate commits.)

You can install the tree command using your OS package manager of choice (although is not necessary).

$ cd YourProject
$ git subtree -p lightwallet-protocol/ pull [email protected]:zcash/lightwallet-protocol.git v0.4.0 --squash
$ tree .
├── lightwallet-protocol
│   ├── LICENSE
│   └── walletrpc
│       ├── compact_formats.proto
│       └── service.proto
... (other directories)

Current implementations

Servers

Clients

CLI and Dev Tooling

Light Wallets

Discussing and developing the Zcash Light Client Protocol

Light client protocol development is steered by the Light Client Working Group.

This workgroup meets bi-weekly and is invite-only, but you can reach out through this channel of the Zcash R&D Discord server.

About

The canonical source of truth for the Zcash light wallet GRPC interface and associated protobuf definitions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8