Larry Ruane
Larry Ruane
Closes #480. Enabling this option decreases the performance of gRPCs GetBlock and GetBlockRange, but conserves disk space (the current database size is about 17GB). Note, specifying this option will also...
If available, use `getblock verbose=3`. If not available, use the old way, which requires making two `getblock` RPCs. This is only a performance improvement. After the EOL of the latest...
When `zcashd` node is in IBD (initial block download, syncing the blockchain), and `lightwalletd` starts, it doesn't behave rationally. During startup, it calls `GetSaplingInfo()`, which calls zcashd's `getblockchaininfo` rpc, and...
This is a minor bug but should be fixed. To reproduce: ``` $ go run main.go --no-tls-very-insecure --log-file /dev/stdout --darkside-timeout 999999 --darkside-very-insecure ``` in another window: ``` $ grpcurl -plaintext...
#384 purported to add support for Orchard for `GetTreeState`, but it looks incomplete. The `GetTreeState` gRPC handler calls zcashd's `z_gettreestate` from within a loop. The loop continues, following the `z_gettreestate`'s...
Adopting this advice may make lightwalletd more solid, could possibly fix (currently-unknown) memory-use bugs and prevent future bugs, and could improve security (reduce memory-related attacks): https://levelup.gitconnected.com/building-immutable-data-structures-in-go-56a1068c76b2 Probably should at least...
Recently, `lightwalletd` has become more robust in the event that it has trouble communicating with `zcashd` -- for example, if you start `lightwalletd` and _then_ start `zcashd`, the former retries...
The instance of `zcashd` that a `lightwalletd` uses is required to have either `lightwalletd` or `insightexplorer` configuration options enabled. Currently, `lightwalletd` doesn't check that one of these options is enabled....
Avoid problems such as described here: https://levelup.gitconnected.com/building-immutable-data-structures-in-go-56a1068c76b2 It may be beneficial to apply these design ideas to the entire server, not just this one function. That would be a large...
Comment in `ParseFromSlice()`: ``` // TODO: Duplicate/otherwise-too-many transactions are a possible DoS // TODO: vector. At the moment we're assuming trusted input. // See https://nvd.nist.gov/vuln/detail/CVE-2018-17144 for an example. ```