This additional logging may help with debugging lightwalletd clients as
it may isolate the problem to the client or server (lightwalletd) side.
To see entrypoint logging, you must start lightwalletd with the option
--log-level 5 (which is "debug"; the default is 4, which is "info")).
This option shouldn't be used in normal operation, because clients could
flood the log, causing crashes due to running out of disk space. Only
use this when actually debugging or testing.
For most gRPCs, also log return values if the log-level is 6 ("trace").
Return value logging isn't done if there is an error (it's assumed that
the client will log something) or if the output might be very large (we
don't want to overrun the log file).
Enabling trace (--log-level 6) enables everything below that level,
so entry logging is enabled as well.
This is a follow-on to PR 495, which changed the comments in
service.proto but didn't regenerate service.pb.go. This commits re-runs
protoc so the two are back in sync (but the changes were comments only).
This also modifies the internal `common.ZcashdRpcReplyGetrawtransaction`
type to ensure that the reinterpretation of the `-1` height value from
a `getrawtransaction` response is not platform-dependent.
This has been broken for a long time. If, when starting up, lightwalletd
discovers that the backend node (zebrad or zcashd) has not yet synced to
the Sapling activation height (419200 for mainnet, 280000 for testnet),
it should wait until that happens, then sync along with the backend
node. But instead, lightwalletd gets stuck indefinitely. The only way
to escape the hang is to stop and restart lightwalletd.
This commit fixes the problem; the block ingestor retries every 2
minutes (which was always the intention), rather than trying once and
then giving up.
This fixes issue #480. Enabling this option decreases the performance of
gRPCs GetBlock and GetBlockRange, but conserves disk space (the size of
the database is currently around 17GB).
Note, specifying this option will also delete the existing cache (so if
you start again without --nocache, the cache will need to be recreated).
Fixes#462. If the file extension is .conf (as in zcash.conf), then
parse the file as an INI file. If the extension is .toml (as in
zebrad.toml), then interpret as TOML.
Reduce the startup time from a couple of minutes to a few seconds (or
less) by removing the deserialization of all compact blocks in the disk
cache. This is an alternative to PR 482, see comment there for details.
To update to the latest dependencies, I removed everything within the
`require` sections of `go.mod`, updated to the latest protobuf compiler,
and then ran `go mod tidy` and `make`. This repopulated go.mod and go.sum.
I had previously done this in PR 395 (June 2022).
This should be done periodically to obtain the latest bug fixes and
other improvements in the dependencies. There should be no functional
changes.
No functional changes.
As pointed out in lightwalletd/pull/469, the errors package we're using
has been deprecated, so this commit updates the code to use "errors"
instead of "github.com/pkg/errors". Same with "io/ioutil", which has
been superceded by "os".
In production mode, the `GetTreeState` gRPC supports block specification
by either height or block hash. But until now, darkside emulation only
supports height. This commit adds support for block hash.
It also allows entries to be deleted (darkside `RemoveTreeState`) by
block hash (not just height).