Observe our Twitter for the newest dev information.
We’re happy to launch Litecoin Core 0.18.1. This can be a new main model launch, together with new options, numerous bugfixes and efficiency enhancements, in addition to up to date translations. It’s endorsed for all customers to improve to this model.
If you’re operating an older model, shut it down. Wait till it has fully shut down (which could take a couple of minutes for older variations), then run the installer (on Home windows) or simply copy over /Functions/Litecoin-Qt
(on Mac) or litecoind
/litecoin-qt
(on Linux).
The primary time you run model 0.15.0 or newer, your chainstate database will likely be transformed to a brand new format, which can take wherever from a couple of minutes to half an hour, relying on the velocity of your machine.
Word that the block database format additionally modified in model 0.8.0 and there’s no computerized improve code from earlier than model 0.8 to model 0.15.0 or later. Upgrading immediately from 0.7.x and earlier with out redownloading the blockchain just isn’t supported. Nonetheless, as typical, previous pockets variations are nonetheless supported.
Litecoin Core is supported and extensively examined on working methods utilizing the Linux kernel, macOS 10.10+, and Home windows 7 and newer. It’s not beneficial to make use of Litecoin Core on unsupported methods.
Litecoin Core must also work on most different Unix-like methods however just isn’t as regularly examined on them.
From 0.17.0 onwards, macOS
Along with previously-supported CPU platforms, this launch’s pre-compiled distribution additionally offers binaries for the RISC-V platform.
Pockets GUI
For superior customers who’ve each (1) enabled coin management options, and (2) are utilizing a number of wallets loaded on the similar time: The coin management enter choice dialog can erroneously retain wrong-wallet state when switching wallets utilizing the dropdown menu. For now, it’s endorsed to not use coin management options with a number of wallets loaded.
Mining
- Calls to
getblocktemplate
will fail if the segwit rule just isn’t specified. Callinggetblocktemplate
with out segwit specified is nearly definitely a misconfiguration since doing so leads to decrease rewards for the miner. Failed calls will produce an error message describing the way to allow the segwit rule.
Configuration possibility modifications
- A warning is printed if an unrecognized part identify is used within the configuration file. Acknowledged sections are
[test]
,[main]
, and[regtest]
. - 4 new choices can be found for configuring the utmost variety of messages that ZMQ will queue in reminiscence (the “excessive water mark”) earlier than dropping further messages. The default worth is 1,000, the identical as was used for earlier releases. See the ZMQ documentation for particulars.
- The
rpcallowip
possibility can not be used to robotically hear on all community interfaces. As an alternative, therpcbind
parameter should be used to specify the IP addresses to hear on. Listening for RPC instructions over a public community connection is insecure and needs to be disabled, so a warning is now printed if a consumer selects such a configuration. If it’s worthwhile to expose RPC to be able to use a instrument like Docker, make sure you solely bind RPC to your localhost, e.g.docker run [...] -p 127.0.0.1:9332:9332
(that is an additional:9332
over the conventional Docker port specification). - The
rpcpassword
possibility now causes a startup error if the password set within the configuration file comprises a hash character (#), because it’s ambiguous whether or not the hash character is supposed for the password or as a remark. - The
whitelistforcerelay
possibility is used to relay transactions from whitelisted friends even when not accepted to the mempool. This feature now defaults to being off, in order that modifications in coverage and disconnect/ban habits won’t trigger a node that’s whitelisting one other to be dropped by friends. Customers can nonetheless explicitly allow this habits with the command line possibility (and should wish to contemplate contacting the Litecoin Core venture to tell us about their use-case, as this function might be deprecated sooner or later).
When making a transaction with a price above -maxtxfee
(default 0.1 LTC), the RPC instructions walletcreatefundedpsbt
and fundrawtransaction
will now fail as an alternative of rounding down the price. Beware that the feeRate
argument is laid out in LTC per kilobyte, not litoshi per byte.
- A brand new brief document concerning the JSON-RPC interface describes instances the place the outcomes of an RPC may include inconsistencies between information sourced from completely different subsystems, resembling pockets state and mempool state. A be aware is added to the REST interface documentation indicating that the identical guidelines apply.
- Additional info is added to the JSON-RPC documentation about the way to safe this interface.
- A brand new document concerning the
litecoin.conf
file describes the way to use it to configure Litecoin Core. - A brand new doc introduces Litecoin Core’s BIP174 Partially-Signed Litecoin Transactions (PSBT) interface, which is used to permit a number of packages to collaboratively work to create, signal, and broadcast new transactions. That is helpful for offline (chilly storage) wallets, multisig wallets, coinjoin implementations, and plenty of different instances the place two or extra packages have to work together to generate an entire transaction.
- The output script descriptor documentation has been up to date with details about new options on this still-developing language for describing the output scripts {that a} pockets or different program desires to obtain notifications for, resembling which addresses it desires to know obtained funds. The language is at the moment utilized in a number of new and up to date RPCs described in these launch notes and is predicted to be tailored to different RPCs and to the underlying pockets construction.
- A brand new
--disable-bip70
possibility could also be handed to./configure
to stop Litecoin-Qt from being constructed with assist for the BIP70 fee protocol or from linking libssl. Because the fee protocol has uncovered Litecoin Core to libssl vulnerabilities prior to now, builders who do not want BIP70 assist are inspired to make use of this selection to scale back their publicity to future vulnerabilities. - The minimal required model of Qt (when constructing the GUI) has been elevated from 5.2 to five.5.1 (the depends system offers 5.9.7)
getnodeaddresses
returns peer addresses identified to this node. It could be used to seek out nodes to hook up with with out utilizing a DNS seeder.listwalletdir
returns a listing of wallets within the pockets listing (both the default pockets listing or the listing configured by the-walletdir
parameter).getrpcinfo
returns runtime particulars of the RPC server. For the time being, it returns an array of the at the moment lively instructions and the way lengthy they have been operating.deriveaddresses
returns a number of addresses comparable to an output descriptor.getdescriptorinfo
accepts a descriptor and returns details about it, together with its computed checksum.joinpsbts
merges a number of distinct PSBTs right into a single PSBT. The a number of PSBTs should have completely different inputs. The ensuing PSBT will include each enter and output from the entire PSBTs. Any signatures supplied in any of the PSBTs will likely be dropped.analyzepsbt
examines a PSBT and offers details about what the PSBT comprises and the following steps that must be taken to be able to full the transaction. For every enter of a PSBT,analyzepsbt
offers details about what info is lacking for that enter, together with whether or not a UTXO must be supplied, what pubkeys nonetheless must be supplied, which scripts must be supplied, and what signatures are nonetheless wanted. Each enter can even record which position is required to finish that enter, andanalyzepsbt
can even record the following position generally wanted to finish the PSBT.analyzepsbt
can even present the estimated price price and estimated digital measurement of the finished transaction if it has sufficient info to take action.utxoupdatepsbt
searches the set of Unspent Transaction Outputs (UTXOs) to seek out the outputs being spent by the partial transaction. PSBTs have to have the UTXOs being spent to be supplied as a result of the signing algorithm requires info from the UTXO being spent. For segwit inputs, solely the UTXO itself is important. For non-segwit outputs, the whole earlier transaction is required in order that signers can ensure that they’re signing the right factor. Sadly, as a result of the UTXO set solely comprises UTXOs and never full transactions,utxoupdatepsbt
will solely add the UTXO for segwit inputs.
Word: some low-level RPC modifications primarily helpful for testing are described within the Low-level Modifications part under.
getpeerinfo
now returns a furtherminfeefilter
discipline set to the peer’s BIP133 price filter. You should utilize this to detect that you’ve got friends which are keen to just accept transactions under the default minimal relay price.- The mempool RPCs, resembling
getrawmempool
withverbose=true
, now return a further “bip125-replaceable” worth indicating whether or not the transaction (or its unconfirmed ancestors) opts-in to asking nodes and miners to switch it with a higher-feerate transaction spending any of the identical inputs. settxfee
beforehand silently ignored makes an attempt to set the price under the allowed minimums. It now prints a warning. The particular worth of “0” should be used to request the minimal worth.getaddressinfo
now offers anischange
discipline indicating whether or not the pockets used the handle in a change output.importmulti
has been up to date to assist P2WSH, P2WPKH, P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH settle for a furtherwitnessscript
parameter.importmulti
now returns a furtherwarnings
discipline for every request with an array of strings explaining when fields are being ignored or are inconsistent, if there are any.getaddressinfo
now returns a furthersolvable
boolean discipline when Litecoin Core is aware of sufficient concerning the handle’s scriptPubKey, non-obligatory redeemScript, and non-obligatory witnessScript to ensure that the pockets to have the ability to generate an unsigned enter spending funds despatched to that handle.- The
getaddressinfo
,listunspent
, andscantxoutset
RPCs now return a furtherdesc
discipline that comprises an output descriptor containing all key paths and signing info for the handle (apart from the personal key). Thedesc
discipline is simply returned forgetaddressinfo
andlistunspent
when the handle is solvable. importprivkey
will protect previously-set labels for addresses or public keys comparable to the personal key being imported. For instance, in the event you imported a watch-only handle with the label “chilly pockets” in earlier releases of Litecoin Core, subsequently importing the personal key would default to resetting the handle’s label to the default empty-string label (“”). On this launch, the earlier label of “chilly pockets” will likely be retained. In the event you optionally specify any label moreover the default when callingimportprivkey
, the brand new label will likely be utilized to the handle.- See the Mining part for modifications to
getblocktemplate
. getmininginfo
now omitscurrentblockweight
andcurrentblocktx
when a block was by no means assembled through RPC on this node.- The
getrawtransaction
RPC & REST endpoints not test the unspent UTXO set for a transaction. The remaining behaviors are as follows: 1. If a blockhash is supplied, test the corresponding block. 2. If no blockhash is supplied, test the mempool. 3. If no blockhash is supplied however txindex is enabled, additionally test txindex. unloadwallet
is now synchronous, which means it won’t return till the pockets is totally unloaded.importmulti
now helps importing of addresses from descriptors. A “desc” parameter will be supplied as an alternative of the “scriptPubKey” in a request, in addition to an non-obligatory vary for ranged descriptors to specify the beginning and finish of the vary to import. Descriptors with key origin info imported byimportmulti
could have their key origin info saved within the pockets to be used with creating PSBTs. Extra details about descriptors will be discovered here.listunspent
has been modified in order that it additionally returnswitnessScript
, the witness script within the case of a P2WSH or P2SH-P2WSH output.createwallet
now has an non-obligatoryclean
argument that can be utilized to create a clean pockets. Clean wallets wouldn’t have any keys or HD seed. They can’t be opened in software program older than 0.18. As soon as a clean pockets has a HD seed set (by utilizingsethdseed
) or personal keys, scripts, addresses, and different watch solely issues have been imported, the pockets is not clean and will be opened in 0.17.x. Encrypting a clean pockets can even set a HD seed for it.
signrawtransaction
is eliminated after being deprecated and hidden behind a particular configuration possibility in model 0.17.0.- The ‘account’ API is eliminated after being deprecated in v0.17. The ‘label’ API was launched in v0.17 as a substitute for accounts. See the release notes from v0.17 for a full description of the modifications from the ‘account’ API to the ‘label’ API.
addwitnessaddress
is eliminated after being deprecated in model 0.16.0.generate
is deprecated and will likely be totally eliminated in a subsequent main model. This RPC is simply used for testing, however its implementation reached throughout a number of subsystems (pockets and mining), so it’s being deprecated to simplify the wallet-node interface. Initiatives which are utilizinggenerate
for testing functions ought to transition to utilizing thegeneratetoaddress
RPC, which doesn’t require or use the pockets part. Callinggeneratetoaddress
with an handle returned by thegetnewaddress
RPC offers the identical performance because the previousgenerate
RPC. To proceed utilizinggenerate
on this model, restart litecoind with the-deprecatedrpc=generate
configuration possibility.- Be reminded that elements of the
validateaddress
command have been deprecated and moved togetaddressinfo
. The next deprecated fields have moved togetaddressinfo
:ismine
,iswatchonly
,script
,hex
,pubkeys
,sigsrequired
,pubkey
,embedded
,iscompressed
,label
,timestamp
,hdkeypath
,hdmasterkeyid
. - The
addresses
discipline has been faraway from thevalidateaddress
andgetaddressinfo
RPC strategies. This discipline was complicated because it referred to public keys utilizing their P2PKH handle. Purchasers ought to use theembedded.handle
discipline for P2SH or P2WSH wrapped addresses, andpubkeys
for inspecting multisig individuals.
- A brand new
/relaxation/blockhashbyheight/
endpoint is added for fetching the hash of the block within the present finest blockchain based mostly on its peak (what number of blocks it’s after the Genesis Block).
- A brand new Window menu is added alongside the prevailing File, Settings, and Assist menus. A number of gadgets from the opposite menus that opened new home windows have been moved to this new Window menu.
- Within the Ship tab, the checkbox for “pay solely the required price” has been eliminated. As an alternative, the consumer can merely lower the worth within the Customized Feerate discipline all the way in which all the way down to the node’s configured minimal relay price.
- Within the Overview tab, the watch-only stability would be the solely stability proven if the pockets was created utilizing the
createwallet
RPC and thedisable_private_keys
parameter was set to true. - The launch-on-startup possibility is not accessible on macOS if compiled with macosx min model better than 10.11 (use CXXFLAGS=”-mmacosx-version-min=10.11″ CFLAGS=”-mmacosx-version-min=10.11″ for setting the deployment sdk model)
- A brand new
litecoin-wallet
instrument is now distributed alongside Litecoin Core’s different executables. Without having to make use of any RPCs, this instrument can at the moment create a brand new pockets file or show some primary details about an current pockets, resembling whether or not the pockets is encrypted, whether or not it makes use of an HD seed, what number of transactions it comprises, and what number of handle e-book entries it has.
This part describes deliberate modifications to Litecoin Core which will have an effect on different Litecoin software program and providers.
- Since model 0.16.0, Litecoin Core’s built-in pockets has defaulted to producing P2SH-wrapped segwit addresses when customers wish to obtain funds. These addresses are backwards appropriate with all widely-used software program. Beginning with Litecoin Core 0.20, Litecoin Core will default to native segwit addresses (bech32) that present further price financial savings and different advantages. Presently, many wallets and providers already assist sending to bech32 addresses, and if the Litecoin Core venture sees sufficient further adoption, it would as an alternative default to bech32 receiving addresses in Litecoin Core 0.20. P2SH-wrapped segwit addresses will proceed to be supplied if the consumer requests them within the GUI or by RPC, and anybody who doesn’t need the replace will have the ability to configure their default handle kind. (Equally, pioneering customers who wish to change their default now could set the
addresstype=bech32
configuration possibility in any Litecoin Core launch from 0.16.0 up.)
- BIP 61 reject messages are actually deprecated. Reject messages haven’t any use case on the P2P community and are solely logged for debugging by most community nodes. Moreover, they enhance bandwidth and will be dangerous for privateness and safety. It has been potential to disable BIP 61 messages since v0.17 with the
-enablebip61=0
possibility. BIP 61 messages will likely be disabled by default in a future model, earlier than being eliminated solely.
This part describes RPC modifications primarily helpful for testing, largely not related in manufacturing. The modifications are talked about for completeness.
- The
submitblock
RPC beforehand returned the rationale a rejected block was invalid the primary time it processed that block, however returned a generic “duplicate” rejection message on subsequent events it processed the identical block. It now all the time returns the elemental motive for rejecting an invalid block and solely returns “duplicate” for legitimate blocks it has already accepted. - A brand new
submitheader
RPC permits submitting block headers independently from their block. That is possible solely helpful for testing. - The
signrawtransactionwithkey
andsignrawtransactionwithwallet
RPCs have been modified in order that in addition they optionally settle for awitnessScript
, the witness script within the case of a P2WSH or P2SH-P2WSH output. That is appropriate with the change tolistunspent
. - For the
walletprocesspsbt
andwalletcreatefundedpsbt
RPCs, if thebip32derivs
parameter is about to true however the important thing metadata for a public key has not been up to date but, then that key could have a derivation path as if it have been simply an impartial key (i.e. no derivation path and its grasp fingerprint is itself).
- The
-usehd
configuration possibility was eliminated in model 0.16. From that model onwards, all new wallets created are hierarchical deterministic wallets. This launch makes specifying-usehd
an invalid configuration possibility.
- This launch permits friends that your node robotically disconnected for misbehavior (e.g. sending invalid information) to reconnect to your node you probably have unused incoming connection slots. In case your slots refill, a misbehaving node will likely be disconnected to make room for nodes and not using a historical past of issues (until the misbehaving node helps your node in another method, resembling by connecting to part of the Web from which you don’t have many different friends). Beforehand, Litecoin Core banned the IP addresses of misbehaving friends for a time period (default of 1 day); this was simply circumvented by attackers with a number of IP addresses. In the event you manually ban a peer, resembling by utilizing the
setban
RPC, all connections from that peer will nonetheless be rejected.
- The important thing metadata will must be upgraded the primary time that the HD seed is obtainable. For unencrypted wallets this can happen on pockets loading. For encrypted wallets this can happen the primary time the pockets is unlocked.
- Newly encrypted wallets will not require restarting the software program. As an alternative such wallets will likely be fully unloaded and reloaded to realize the identical impact.
- A sub-project of Litecoin Core now offers {Hardware} Pockets Interplay (HWI) scripts that enable command-line customers to make use of a number of widespread {hardware} key administration units with Litecoin Core. See their project page for particulars.
- This launch modifications the Random Quantity Generator (RNG) used from OpenSSL to Litecoin Core’s personal implementation, though entropy gathered by Litecoin Core is fed out to OpenSSL after which learn again in when this system wants sturdy randomness. This strikes Litecoin Core a bit of nearer to not needing to rely on OpenSSL, a dependency that has precipitated safety points prior to now. The brand new implementation gathers entropy from a number of sources, together with from {hardware} supporting the rdseed CPU instruction.
- On macOS, Litecoin Core now opts out of utility CPU throttling (“app nap”) throughout preliminary blockchain obtain, when catching up from over 100 blocks behind the present chain tip, or when reindexing chain information. This helps forestall these operations from taking an excessively very long time as a result of the working system is making an attempt to preserve energy.
To obtain, please go to the obtain web page here. Alternatively, you’ll be able to view the obtain folder here.
Please use GPG to confirm the integrity of the discharge binaries. This ensures that the binary you’ve got downloaded has not been tampered with. Linux, MacOS and Win32 cygwin command line GPG directions can be found here. Please additionally be aware that we GPG signal the binaries as a comfort to you, the last word option to confirm the integrity of the builds is to construct them your self utilizing Gitian. Directions on the way to carry out these builds, will be discovered here.
For this launch, the binaries have been signed with key identifier FE3348877809386C (thrasher’s key).
Regardless of this model being closely examined, this model should include bugs. All the time backup your pockets.dat file earlier than upgrading. In the event you encounter any points, please tell us by posting to the bug reporting part under.
The grasp department comprises the newest commits to the following secure releases of Litecoin Core.
Construct directions for Linux will be discovered here.
Construct directions for OSX will be discovered here.
Builds directions for Home windows will be discovered here.
Submit any points you encounter right here and one of many Litecoin builders will help you.
Join bulletins solely or improvement dialogue.
These are the SHA-256 hashes of the launched recordsdata:
e0bdd4aa81502551a0c5abcfaae52c8bbaf4a980548aa6c91053643d81924b51 litecoin-0.18.1-aarch64-linux-gnu.tar.gz59b73bc8f034208295634da56a175d74668b07613cf6484653cb467deafb1d52 litecoin-0.18.1-arm-linux-gnueabihf.tar.gz0a2788d58bd22c3754927e216bf18c64145b9fdc0d709f3f49ba3040b876a066 litecoin-0.18.1-i686-pc-linux-gnu.tar.gz4ce590ecbaecaced7253473bc574a2b70527c9aeb3a3ab33a843ea1c9caf0c86 litecoin-0.18.1-osx64.tar.gzb81d9101c6ecb38b7699cf3d05ab57df7922f40f23c8a3377750c335d7102266 litecoin-0.18.1-osx.dmge5585eaff887b9d3de9f14230db0375b858e5cccc571bdb909dfc337d5bd357c litecoin-0.18.1-riscv64-linux-gnu.tar.gz6dfa71ccf059463f0a304f85ff1ca8b88039d63e93269d6f056ab24915be936d litecoin-0.18.1.tar.gz778eac92953d82a3b2e0cdc925e7da9103edd0d9a9ffa151c3c7cc79b9814091 litecoin-0.18.1-win32-setup.exe39d02e463893c970f92ed5ffcb603a1a7b2e2dacdaea306e8526414af841d247 litecoin-0.18.1-win32.zipbd38a1d5d4ac1ca4246f9534032a369b0f3cd38fb2aa82c66010642fa72e65f7 litecoin-0.18.1-win64-setup.exe9ff1f552f8ed3f058a56332defa7c61cfb345848428d7b419182096eca2ac99a litecoin-0.18.1-win64.zipca50936299e2c5a66b954c266dcaaeef9e91b2f5307069b9894048acf3eb5751 litecoin-0.18.1-x86_64-linux-gnu.tar.gz
Because of everybody who immediately contributed to this launch:
- The Bitcoin Core Developers
- Adrian Gallagher
- aunyks
- coblee
- cryptonexii
- EP1JUNE
- gabrieldov
- jmutkawoa
- Loshan
- Martin Smith
- NeMO84
- OlegKozhemiakin
- ppm0
- romanornr
- shaolinfry
- spl0i7
- stedwms
- ultragtx
- VKoskiv
- voidmain
- wbsmolen
- xinxi