Litecoin Core v0.16.0 Release Candidate

Source Node: 1100813
Adrian Gallagher

Follow the Google+ page or Twitter for the latest dev news.

We are pleased to release Litecoin Core 0.16.0 release candidate. This is a new major version release, including new features, various bugfixes and performance improvements, as well as updated translations.

It is recommended for power users to upgrade to this version. After sufficient testing, Litecoin Core v0.16.0 final will be released and is recommended for all users to upgrade.

Segwit Wallet

Litecoin Core 0.16.0 introduces full support for segwit in the wallet and user interfaces. A new argument has been added, which supports , (default), and addresses. It controls what kind of addresses are produced by , , and . A argument has also been added, with the same options, and by default equal to , to control which kind of change is used.

A new parameter has been added to the and RPCs to specify which type of address to generate. A argument has been added to the RPC to override the argument for specific transactions.

  • All segwit addresses created through or RPCs explicitly get their redeemscripts added to the wallet file. This means that downgrading after creating a segwit address will work, as long as the wallet file is up to date.
  • All segwit keys in the wallet get an implicit redeemscript added, without it being written to the file. This means recovery of an old backup will work, as long as you use new software.
  • All keypool keys that are seen used in transactions explicitly get their redeemscripts added to the wallet files. This means that downgrading after recovering from a backup that includes a segwit address will work

Note that some RPCs do not yet support segwit addresses. Notably, / doesn't support segwit addresses, nor does at this time. Support for segwit in those RPCs will continue to be added in future versions.

P2WPKH change outputs are now used by default if any destination in the transaction is a P2WPKH or P2WSH output. This is done to ensure the change output is as indistinguishable from the other outputs as possible in either case.

BIP173 (Bech32) Address support (“ltc1…” addresses)

Full support for native segwit addresses (BIP173 / Bech32) has now been added. This includes the ability to send to BIP173 addresses (including non-v0 ones), and generating these addresses (including as default new addresses, see above).

A checkbox has been added to the GUI to select whether a Bech32 address or P2SH-wrapped address should be generated when using segwit addresses. When launched with it is checked by default. When launched with it is unchecked and disabled.

HD-wallets by default

Due to a backward-incompatible change in the wallet database, wallets created with version 0.16.0 will be rejected by previous versions. Also, version 0.16.0 will only create hierarchical deterministic (HD) wallets. Note that this only applies to new wallets; wallets made with previous versions will not be upgraded to be HD.

Wallets directory configuration ()

Litecoin Core now has more flexibility in where the wallets directory can be located. Previously wallet database files were stored at the top level of the litecoin data directory. The behavior is now:

  • For new installations (where the data directory doesn’t already exist), wallets will now be stored in a new subdirectory inside the data directory by default.
  • For existing nodes (where the data directory already exists), wallets will be stored in the data directory root by default. If a subdirectory already exists in the data directory root, then wallets will be stored in the subdirectory by default.
  • The location of the wallets directory can be overridden by specifying a option where can be an absolute path to a directory or directory symlink.

Care should be taken when choosing the wallets directory location, as if it becomes unavailable during operation, funds may be lost.

The minimum version of the GCC compiler required to compile Litecoin Core is now 4.8. No effort will be made to support older versions of GCC. See discussion in issue #11732 for more information. The minimum version for the Clang compiler is still 3.3. Other minimum dependency versions can be found in in the repository.

Pruned nodes can now signal BIP159’s NODE_NETWORK_LIMITED using service bits, in preparation for full BIP159 support in later versions. This would allow pruned nodes to serve the most recent blocks. However, the current change does not yet include support for connecting to these pruned peers.

The SHA256 hashing optimizations for architectures supporting SSE4, which lead to ~50% speedups in SHA256 on supported hardware (~5% faster synchronization and block validation), have now been enabled by default. In previous versions they were enabled using the flag when building, but are now the default and no longer deemed experimental.

  • The option to reuse a previous address has now been removed. This was justified by the need to “resend” an invoice, but now that we have the request history, that need should be gone.
  • Support for searching by TXID has been added, rather than just address and label.
  • A “Use available balance” option has been added to the send coins dialog, to add the remaining available wallet balance to a transaction output.
  • A toggle for unblinding the password fields on the password dialog has been added.

New RPC

A new RPC has been added to manually invoke a blockchain rescan. The RPC supports start and end-height arguments for the rescan, and can be used in a multiwallet environment to rescan the blockchain at runtime.

New RPC

A new RPC has been added which allows the current mempool to be saved to disk at any time to avoid it being lost due to crashes / power loss.

Safe mode disabled by default

Safe mode is now disabled by default and must be manually enabled (with ) if you wish to use it. Safe mode is a feature that disables a subset of RPC calls - mostly related to the wallet and sending - automatically in case certain problem conditions with the network are detected. However, developers have come to regard these checks as not reliable enough to act on automatically. Even with safe mode disabled, they will still cause warnings in the field of the RPC and launch the command.

Renamed script for creating JSON-RPC credentials

The script was renamed to . This script can be used to create credentials for a JSON-RPC user.

Validateaddress improvements

The RPC output has been extended with a few new fields, and support for segwit addresses (both P2SH and Bech32). Specifically:

  • A new field is True for P2WPKH and P2WSH addresses ("ltc1..." addresses), but not for P2SH-wrapped segwit addresses (see below).
  • The existing field will now also report True for P2WSH addresses.
  • A new field is present for all script addresses where the script is known and matches something that can be interpreted as a known address. This is particularly true for P2SH-P2WPKH and P2SH-P2WSH addresses. The value for includes much of the information would report if invoked directly on the embedded address.
  • For multisig scripts a new field was added that reports the full public keys involved in the script (if known). This is a replacement for the existing field (which reports the same information but encoded as P2PKH addresses), represented in a more useful and less confusing way. The field remains present for non-segwit addresses for backward compatibility.
  • For all single-key addresses with known key (even when wrapped in P2SH or P2WSH), the field will be present. In particular, this means that invoking on the output of will always report the , even when the address type is P2SH-P2WPKH.
  • The deprecated RPC was removed. It is recommended that the more specific RPCs are used:
  • The wallet RPC will return an error if called with an address not in the wallet.
  • The wallet RPC was deprecated and will be removed in version 0.17, set the argument of , or option instead.
  • now includes hex-encoded scripts from the wallet in the dumpfile, and now imports these scripts, but corresponding addresses may not be added correctly or a manual rescan may be required to find relevant transactions.
  • The RPC now includes an field.
  • A new parameter has been added to the RPC which allows for a raw transaction to be fetched from a specific block if known, even without enabled.
  • The and RPCs now have optional parameters to override the heuristic witness checks if necessary.
  • The timeout is now clamped to 2^30 seconds.
  • Using addresses with the RPC is now deprecated, and will be removed in a later version. Public keys should be used instead.
  • Blockchain rescans now no longer lock the wallet for the entire rescan process, so other RPCs can now be used at the same time (although results of balances / transactions may be incorrect or incomplete until the rescan is complete).
  • The RPC has now been made public rather than hidden.
  • An boolean has been added to the RPC to indicate whether the node is currently in IBD or not.
  • is now included in the output of
  • can be used to specify an alternative debug logging file.
  • litecoin-cli now has an option to allow the RPC password to be read from standard input.
  • The option has been removed.
  • litecoin-cli now supports a new flag which returns an output like that of the now-removed RPC.
  • The default regtest JSON-RPC port has been changed to 19443 to avoid conflict with testnet’s default of 19332.
  • Segwit is now always active in regtest mode by default. Thus, if you upgrade a regtest node you will need to either -reindex or use the old rules by adding to your regtest litecoin.conf. Failure to do this will result in a CheckBlockIndex() assertion failure that will look like: Assertion `(pindexFirstNeverProcessed != nullptr) == (pindex->nChainTx == 0)' failed.

To download, please visit the download page here. Alternatively, you can view the download folder here.

Please use GPG to verify the integrity of the release binaries. This ensures that the binary you have downloaded has not been tampered with. Linux, MacOS and Win32 cygwin command line GPG instructions are available here. Please also note that we GPG sign the binaries as a convenience to you, the ultimate way to verify the integrity of the builds is to build them yourself using Gitian. Instructions on how to perform these builds, can be found here.

For this release, the binaries have been signed with key identifier FE3348877809386C (thrasher’s key).

Despite this version being heavily tested, this version may still contain bugs. Always backup your wallet.dat file before upgrading. If you encounter any issues, please let us know by posting to the bug reporting section below.

The master branch contains the latest commits to the next stable releases of Litecoin Core.

Build instructions for Linux can be found here.

Build instructions for OSX can be found here.

Builds instructions for Windows can be found here.

Submit any issues you encounter here and one of the Litecoin developers will assist you.

Sign up for announcements only or development discussion.

These are the SHA-256 hashes of the released files:

70c8530b957110ba6eaa4794d28b667ecff7e59d0e306e5899236aab5dd84e0b litecoin-0.16.0-aarch64-linux-gnu.tar.gz
b0a5ee56f89fcdb74b580ec5de0ff054b3b7dbb0a2cf6384f066e2217d6830a8 litecoin-0.16.0-arm-linux-gnueabihf.tar.gz
e5dab0814efdad4e0ae61b76d7b859e6fda6224c9fbe5d5fc6807fb7e13a05b1 litecoin-0.16.0-i686-pc-linux-gnu.tar.gz
90fcabe4627aa8c822a9ce7eb8fa55eb8a497c31513369bd8078c8401bf8583c litecoin-0.16.0-osx64.tar.gz
1d3a0ebb0b5c32f36f2157c252b8623c3152d318e7a40c8726e572b4e013ed17 litecoin-0.16.0rc1-osx.dmg
32ab7a80215092b02bc800e9c5d4bc7c0df2da693876f6ebd7e4a6277a812e05 litecoin-0.16.0rc1-win32-setup.exe
35572a215f034eb7c23e4c73c146e631087acf928a3b76113bc70fead3585052 litecoin-0.16.0rc1-win64-setup.exe
7dc4d72a40ec175bc00c464f626f8ffbff8a583e2105da1365662dceff138736 litecoin-0.16.0.tar.gz
f6d2f55f7f02f49bb6764e560d82cece7a8a598cf895af5c6947334b1e5ff7b2 litecoin-0.16.0-win32.zip
ae068caf852de47fb649f9002a440b57386ea88e5a6347287af15a8e2532d27e litecoin-0.16.0-win64.zip
2ca17e763d08ef621ea137519117234dd20db4be58cd3db317e40fe85b13fe4e litecoin-0.16.0-x86_64-linux-gnu.tar.gz

Thanks to everyone who directly contributed to this release:

  • The Bitcoin Core Developers
  • Adrian Gallagher
  • aunyks
  • coblee
  • cryptonexii
  • gabrieldov
  • Martin Smith
  • NeMO84
  • ppm0
  • romanornr
  • shaolinfry
  • spl0i7
  • ultragtx
  • VKoskiv
  • voidmain
  • xinxi
Source: https://blog.litecoin.org/litecoin-core-v0-16-0-release-candidate-e1ac751d7f33?source=rss----d41bceeb173b---4

Time Stamp:

More from Litecoin