Skip to content

Releases: zcash/lightwalletd

v0.4.16

29 Jul 17:38
Compare
Choose a tag to compare

IMPORTANT:

If you haven't done so already (by installing and following the instructions in the release notes of v0.4.14 or v0.4.15), it's necessary to reconstruct the disk cache of compact blocks because the compact block serialization format has changed. (Note, if you've already done so for v0.4.14 or v0.4.15, you don't need to do this again.) To do this:

  1. Shut down lightwalletd
  2. Do either of the following:
    • rm -r /var/lib/lightwalletd/db then start the new lightwalletd (release v0.4.16), or
    • start the new lightwalletd with the option --redownload (this is needed only once, even if lightwalletd stops before it finishes syncing)

This will rebuild the local compact block disk cache. It will take several hours, depending on your hardware and network speed.

Note, if you store the database in a different directory than /var/lib/lightwalletd/db, using the --data-dir option, remove that directory instead.

What's changed since v0.4.13:

  • #443 - Update dockerfile (minimum Golang version is 1.17)
  • #445 - Only pass the limit argument to z_getsubtreesbyindex if maxEntries > 0

v0.4.15

07 Jul 05:24
Compare
Choose a tag to compare

IMPORTANT:

If you're upgrading from an earlier release (other than the very short-lived v0.4.14), it's necessary to reconstruct the disk cache of compact blocks because the compact block serialization format has changed. To do this:

  1. Shut down lightwalletd
  2. Do either of the following:
    • rm -r /var/lib/lightwalletd/db then start the new lightwalletd (release v0.4.15), or
    • start the new lightwalletd with the option --redownload (this is needed only once, even if lightwalletd stops before it finishes syncing)

This will rebuild the local compact block disk cache. It will take several hours, depending on your hardware and network speed.

Note, if you store the database in a different directory than /var/lib/lightwalletd/db, using the --data-dir option, remove that directory instead.

What's changed since v0.4.13:

  • #409 - Fix reorg race condition that can cause rare crashes
  • #415 - (minor bugfix) Fix GetLatestBlock gRPC
  • #435 - add Sapling and Orchard tree commitment sizes to GetBlock result
  • #431 - add GetBlockNullifier and GetBlockRangeNullifiers
  • #439 - add GetSubtreeRoots gRPC
  • #440 - Bring in latest compact_formats.proto (from zcash/librustzcash)
  • #442 - Bump google.golang.org/grpc from 1.47.0 to 1.53.0 (@dependabot -- automatic dependency update)

v0.4.14

04 Jul 19:42
Compare
Choose a tag to compare

IMPORTANT:

If you're upgrading from an earlier release, it's necessary to reconstruct the disk cache of compact blocks because the compact block serialization format has changed. To do this:

  1. Shut down lightwalletd
  2. Do either of the following:
    • rm -r /var/lib/lightwalletd/db then start the new lightwalletd (release v0.4.14), or
    • start the new lightwalletd with the option --redownload (this is needed only once, even if lightwalletd stops before it finishes syncing)

This will rebuild the local compact block disk cache. It will take several hours, depending on your hardware and network speed.

Note, if you store the database in a different directory than /var/lib/lightwalletd/db, using the --data-dir option, remove that directory instead.

What's changed since v0.4.13:

  • #409 - Fix reorg race condition that can cause rare crashes
  • #415 - (minor bugfix) Fix GetLatestBlock gRPC
  • #435 - add Sapling and Orchard tree commitment sizes to GetBlock result
  • #431 - add GetBlockNullifier and GetBlockRangeNullifiers
  • #439 - add GetSubtreeRoots gRPC
  • #440 - Bring in latest compact_formats.proto (from zcash/librustzcash)

v0.4.13

21 Jul 17:59
Compare
Choose a tag to compare

What's changed

  • #395 - remove vendor, clean up module files and Makefile
  • #399 - Fix darksidewallet for missing transaction IDs (txids)
  • #323 - add GetLatestTreeState() grpc
  • #404 - Fix GetMempoolTx bug returning no entries
  • #403 - add required locking (mutex) to GetMempoolTx

v0.4.12: add --sync-from-height command-line option

24 May 23:27
Compare
Choose a tag to compare

Convenience follow-on to v0.4.11

Releases v04.11 and v0.4.12 both fix the same critical bug (see #392)! It's imperative to upgrade to either of these releases before NU5 activates on mainnet!

If you have not deployed v0.4.11 yet, we recommend upgrading to this release instead. Release v0.4.11 requires you to completely rebuild the lightwalletd cache (see its release notes), which causes several hours of downtime. This release (v0.4.12) makes it possible to correct the cache without having to rebuild it from scratch. This is much faster and easier.

This release adds a new lightwalletd command-line argument option, --sync-from-height <height>. This option causes lightwalletd to drop all blocks at this height and above from the cache at startup, so that lightwalletd will begin syncing from the given height.

This process must be followed for testnet, and also on mainnet only if NU5 has already activated there (expected May 31, 2022, at approximately 1600 UTC).

  1. Stop the running lightwalletd (it's not necessary to stop the local zcashd)
  2. Upgrade lightwalletd to this release, v0.4.12
  3. Restart lightwalletd with the new option, please specify these heights:
  • Testnet: Start lightwalletd with the option --sync-from-height 1842420
  • Mainnet: Start lightwalletd with the option --sync-from-height 1687104
  1. Let lightwalletd finish syncing (it should take only a few minutes)
  2. You may leave lightwalletd running, but when it is restarted, don't specify --sync-from-height again, or it will do unnecessary work.

What's Changed

  • add --sync-from-height command-line option (#380)

v0.4.11

24 May 15:25
Compare
Choose a tag to compare

Critical bugfix release!

This release fixes a critical bug (see #392)! It's imperative to upgrade to this release before NU5 activates!

Since NU5 has already activated on testnet, please follow this procedure to deploy this release on testnet. Also follow this procedure for mainnet if NU5 has already activated (scheduled to be May 31, 2022, at approximately 1600 UTC).

Note, if this procedure causes too much downtime, see alternate instructions below to minimize downtime.

  1. Stop the running lightwalletd (it's not necessary to stop the local zcashd)
  2. Remove the lightwalletd cache directory (these are the default locations, your installation may have them in a different path)
  • testnet: rm -r /var/lib/lightwalletd/db/test
  • mainnet: rm -r /var/lib/lightwalletd/db/main
  1. Start lightwalletd

It will take 2 or 3 hours for the lightwalletd to recreate the cache directory, depending on your system's CPU performance.

To minimize downtime (mainnet), this can be done on the same system as your production lightwalletd is running:

  1. Start a separate temporary instance of the new lightwalletd (v0.4.11) using a different port number (9069, of it's in use, try another), for example:
    ./lightwalletd --no-tls-very-insecure --log-file /dev/stdout --grpc-bind-addr 127.0.0.1:9069 --data-dir /tmp/lwd-data-dir
  2. Let it sync; this will take 2 or 3 hours, the "adding block" messages will stop and you'll begin to see only "waiting for block" messages
  3. Stop the temporary lightwalletd (control-C)
  4. Stop the production lightwalletd and upgrade it to the new release (v0.4.11)
  5. Copy /tmp/lwd-data-dir/db/main (or the 2 files within) to the production cache (see filesystem paths above)
  6. Start the production lightwalletd as usual

What's Changed

  • Add support to GetTreeState to return Orchard final state (#384)
  • Fix V5 transaction txid (#393, the PR for #392)

v0.4.10

26 Apr 03:22
Compare
Choose a tag to compare

What's Changed

  • Fix testnet consensusBranchID check and add NU5 tests: #381
  • update docs/rtd/index.html (gRPC interface): #382
  • update protoc and grpc toolchains: #376

Full Changelog: v0.4.9...v0.4.10

v0.4.9

09 Dec 22:40
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.8...v0.4.9

v0.4.8

26 Oct 17:51
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.4.7...v0.4.8

v0.4.7

18 May 21:45
Compare
Choose a tag to compare

This release adds the following PRs since the previous release, v0.4.6:

  • #349 add darksidewallet support for GetAddressUtxos
  • #355 GetBlockRange: allow start < end, return blocks in reverse order