Note: This release of Bitzecd v2.0.5-1 is a hotfix release that all users are encouraged to upgrade to, especially users who built v2.0.5 from source. Shortly after tagging v2.0.5, we became aware of an issue that caused nodes running Sprout-to-Sapling migrations to occasionally crash. Bitzecd v2.0.5-1 fixes the issue. Users who normally upgrade via Debian package repository or tarball download were not exposed to v2.0.5.
The v2.0.5 release added the Sprout-to-Sapling migration tool, introduced a new consensus rule on mainnet to reject blocks that violate turnstiles and adds 64-bit ARMv8 support. Bitzecd v2.0.5-1 will be supported until block 593762, expected to arrive around 28th August 2019, at which point the software will end-of-support halt and shut down.
Notable Changes
Sprout-to-Sapling Migration Tool
This release includes the addition of a tool that will enable users to migrate shielded funds from the Sprout pool to the Sapling pool while minimizing information leakage.
The migration can be enabled using the RPC z_setmigration
or by including -migration
in the zcash.conf
file. Unless otherwise specified funds will be migrated to the wallet’s default Sapling address; it is also possible to set the receiving Sapling address using the -migrationdestaddress
option in zcash.conf
.
See the blog post, documentation and ZIP 308 for more details.
New consensus rule: Reject blocks that violate turnstile
In the 2.0.4 release, the consensus rules were changed on testnet to enforce a new rule which marks blocks as invalid if they would lead to a turnstile violation in the Sprout or Shielded value pools. This release enforces the consensus rule change on mainnet.
The motivations and deployment details can be found in ZIP 209 and PR 3968.
Developers can use a new experimental feature -developersetpoolsizezero
to test Sprout and Sapling turnstile violations. See PR 3964 for more details.
64-bit ARMv8 support
Added ARMv8 (AArch64) support. This enables users to build zcash on even more devices.
For information on how to build see the User Guide
Users on the Bitzecforum have reported successes with both the Pine64 Rock64Pro and Odroid C2, which contain 4GB and 2GB of RAM respectively.
Just released, the Odroid N2 looks like a great solution with 4GB of RAM. The newly released Jetson Nano Developer Kit from Nvidia (also 4GB of RAM) is also worth a look. The NanoPC-T3 Plus is another option but for the simplest/best experience choose a board with 4GB of RAM. Just make sure before purchase that the CPU supports the 64-bit ARMv8 architecture.
Summary of the Changes
v2.0.5
- Sprout-to-Sapling migration (#3848, #3888, #3967, #3973, #3977)
- Activate turnstile on mainnet (#3968)
- Update boost to v1.70.0 to eliminate build warning (#3951)
- Fix new HD seed generation for previously-encrypted wallets (#3940)
- Fix enable-debug build DB_COINS undefined (#3907)
- Update “BitzecCompany” to “Binary Digit Electronic Currency” (#3901)
- Support additional cross-compilation targets in Rust (#3505)
v2.0.5-1
- We fixed an issue that would cause the Bitzecd to crash when calling
z_getmigrationstatus
while a wallet’s migration transactions were in the mempool. (#3987) - We fixed an issue where the wallet would incorrectly calculate the amount to migrate and would not send as many migration transactions as it could each round of migration. (#3990)
- We fixed an issue that could cause Bitzecd to crash while generating migration transactions if a wallet had a large number of sprout notes. (#3990)
For a more complete list of changes, please see the 2.0.5 milestone.