Wishlist: Static or zcash-cli only usage help. #2973
Labels
A-documentation
Area: Documentation
A-rpc-interface
Area: RPC interface
D-bitcoin-divergence
Design issue: Divergence from Bitcoin (upstream code and/or architecture).
E-good-first-issue
Effort: Suitable for someone new to the codebase.
usability
use case
user interface
Motivation:
I find it quite annoying that I can't use
zcash-cli help
without a running daemon. I want to be able to read all cli help from a "static source" without connecting to a zcash network or starting to verify blocks.Proposed Specification:
Modify
zcash-cli
andzcashd
as follows:zcash-cli
is modified so that every response from a daemon reports the release version ofzcashd
and if that version is different than the version fozcash-cli
in any request thenzcash-cli
emits an error tostderr
saying something like "ERROR: This zcash-cli has version FOO but the daemon reports version BAR. Please use zcash-cli version BAR to connect to that daemon." Thenzcash-cli
exits with an error message. This is introducing a policy change frombitcoin{d,-cli}
and it will break any deployment that's doing this weird cross-version client/server thing. If any such deployments even exist, we can start a conversation with those users about zcashd complexity vs deployment complexity.zcash-cli help [COMMAND]
fulfills the request locally. (Note: This is a notable design change frombitcoin{d,-cli}
because this is the first case of a "rich client" behavior instead of a "thin client".Meanwhile, the RPC calls for
help
remain functional with no interface changes.Implementation:
In terms of implementation, both the
zcashd
RPC response code and thezcash-cli
implementation should use exactly the same code that serves text that comes from static sources. These static sources should be easy for humans to read directly, so for example we can link to the help text for any revision within github and share those links.The text was updated successfully, but these errors were encountered: