Litecoin Core v0.15.1 Release Candidate

Adrian Gallagher
Litecoin Project
Published in
5 min readFeb 8, 2018

--

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

We are pleased to release Litecoin Core 0.15.1 release candidate. This is a new minor 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.15.1 final will be released and is recommended for all users to upgrade.

Network fork safety enhancements

A number of changes to the way Litecoin Core deals with peer connections and invalid blocks have been made, as a safety precaution against blockchain forks and misbehaving peers.

  • Unrequested blocks with less work than the minimum-chain-work are now no longer processed even if they have more work than the tip (a potential issue during IBD where the tip may have low-work). This prevents peers wasting the resources of a node.
  • Peers which provide a chain with less work than the minimum-chain-work during IBD will now be disconnected.
  • For a given outbound peer, we now check whether their best known block has at least as much work as our tip. If it doesn’t, and if we still haven’t heard about a block with sufficient work after a 20 minute timeout, then we send a single getheaders message, and wait 2 more minutes. If after two minutes their best known block has insufficient work, we disconnect that peer. We protect 4 of our outbound peers from being disconnected by this logic to prevent excessive network topology changes as a result of this algorithm, while still ensuring that we have a reasonable number of nodes not known to be on bogus chains.
  • Outbound (non-manual) peers that serve us block headers that are already known to be invalid (other than compact block announcements, because BIP 152 explicitly permits nodes to relay compact blocks before fully validating them) will now be disconnected.
  • If the chain tip has not been advanced for over 7.5 minutes, we now assume the tip may be stale and will try to connect to an additional outbound peer. A periodic check ensures that if this extra peer connection is in use, we will disconnect the peer that least recently announced a new block.
  • The set of all known invalid-themselves blocks (i.e. blocks which we attempted to connect but which were found to be invalid) are now tracked and used to check if new headers build on an invalid chain. This ensures that everything that descends from an invalid block is marked as such.

Minimum relay fee lowered

The minimum relay fee -minrelayfee has been lowered to 0.01 lites per kB (0.00001 LTC). This is to prepare for dropping the minimum transaction fee to 0.1 lites per kB (0.0001 LTC) in the next release.

Mempool replacement disabled by default

Mempool replacement --mempoolreplacement has been disabled by default.

Miner block size limiting deprecated

Though blockmaxweight has been preferred for limiting the size of blocks returned by getblocktemplate since 0.13.0, blockmaxsize remained as an option for those who wished to limit their block size directly. Using this option resulted in a few UI issues as well as non-optimal fee selection and ever-so-slightly worse performance, and has thus now been deprecated. Further, the blockmaxsize option is now used only to calculate an implied blockmaxweight, instead of limiting block size directly. Any miners who wish to limit their blocks by size, instead of by weight, will have to do so manually by removing transactions from their block template directly.

GUI settings backed up on reset

The GUI settings will now be written to guisettings.ini.bak in the data directory before wiping them when the -resetguisettings argument is used. This can be used to retroactively troubleshoot issues due to the GUI settings.

Duplicate wallets disallowed

Previously, it was possible to open the same wallet twice by manually copying the wallet file, causing issues when both were opened simultaneously. It is no longer possible to open copies of the same wallet.

Debug -minimumchainwork argument added

A hidden debug argument -minimumchainwork has been added to allow a custom minimum work value to be used when validating a chain.

Low-level RPC changes

  • The “currentblocksize” value in getmininginfo has been removed.
  • dumpwallet no longer allows overwriting files. This is a security measure as well as prevents dangerous user mistakes.
  • backupwallet will now fail when attempting to backup to source file, rather than destroying the wallet.
  • listsinceblock will now throw an error if an unknown blockhash argument value is passed, instead of returning a list of all wallet transactions since the genesis block. The behaviour is unchanged when an empty string is provided.

Download Binaries

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).

WARNING

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.

Source code & Build instructions

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.

Bug Reporting

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

Mailing Lists

Sign up for announcements only or development discussion.

Hashes for verification

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

1fc3a5eb442b3b59d9568ea414f48bbd6632da4ada75bfc40e435cc4bcb78a4b  litecoin-0.15.1-aarch64-linux-gnu.tar.gz
7f9b4820957fde77293a05871b8d73e3e2f29cab1e287789e0f42f00bb29a574 litecoin-0.15.1-arm-linux-gnueabihf.tar.gz
c8a18e93af9c2c583a3e081028a1480509f93111d633262fe4f14fd71564b5e5 litecoin-0.15.1-i686-pc-linux-gnu.tar.gz
2a2f20e602ebdea973b6615fbfd9b5457d5810aee4da6577f8fce367bf6b6217 litecoin-0.15.1-osx64.tar.gz
c972045beee8ffa384a17d3a66a1804f983efa5a59dc460eea302a3b86d6fb02 litecoin-0.15.1rc1-osx.dmg
d6bce9e81f991594e0bcef715ae5f794ced413616233290e2029fa3c89eac8ee litecoin-0.15.1rc1-win32-setup.exe
0c102d60cca7edc60765d54fc6221e44e271b2cf8230bbb7c88078ca48e4361d litecoin-0.15.1rc1-win64-setup.exe
fd0d9348adb6029ee1562c9afad4ae4b2607411b6da46a6ced37604f9497f349 litecoin-0.15.1.tar.gz
c67daa79778d5a77a809e1f5b2e13505e97b1d826da78af8e99e79e016d3dd4c litecoin-0.15.1-win32.zip
5ddc0324b317da5bfb176af74c60cfc054eaff0fa54641aaee7c7acc2d5db860 litecoin-0.15.1-win64.zip
1ea89eb559ed4e76954de9ab82c3895d68e0c19e2e33dac1f2708b55d65c9d01 litecoin-0.15.1-x86_64-linux-gnu.tar.gz

Thanks to everyone who directly contributed to this release:

--

--