Comply with our Twitter for the newest dev information.
We’re happy to launch Litecoin Core 0.18.1 launch candidate. This can be a new main model launch, together with new options, numerous bug fixes, efficiency enhancements and up to date translations.
It’s endorsed for energy customers to improve to this model. After ample testing, Litecoin Core 0.18.1 last will probably be launched and is really useful for all customers to improve.
In case you are operating an older model, shut it down. Wait till it has utterly shut down (which could take a couple of minutes for older variations), then run the installer (on Home windows) or simply copy over /Purposes/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 probably be transformed to a brand new format, which is able to take wherever from a couple of minutes to half an hour, relying on the pace of your machine.
Observe 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 straight from 0.7.x and earlier with out redownloading the blockchain isn’t supported. Nonetheless, as regular, 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 really useful to make use of Litecoin Core on unsupported methods.
Litecoin Core also needs to work on most different Unix-like methods however isn’t as ceaselessly examined on them.
From 0.17.0 onwards, macOS
Along with previously-supported CPU platforms, this launch’s pre-compiled distribution additionally supplies 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 is suggested to not use coin management options with a number of wallets loaded.
Mining
- Calls to
getblocktemplate
will fail if the segwit rule isn’t specified. Callinggetblocktemplate
with out segwit specified is sort of definitely a misconfiguration since doing so ends in decrease rewards for the miner. Failed calls will produce an error message describing the best way to allow the segwit rule.
Configuration possibility adjustments
- 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 a substitute, 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 must be disabled, so a warning is now printed if a person selects such a configuration. If you should expose RPC with a view 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 traditional Docker port specification). - The
rpcpassword
possibility now causes a startup error if the password set within the configuration file accommodates 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 selection now defaults to being off, in order that adjustments in coverage and disconnect/ban conduct is not going to trigger a node that’s whitelisting one other to be dropped by friends. Customers can nonetheless explicitly allow this conduct with the command line possibility (and should need to think about contacting the Litecoin Core mission to tell us about their use-case, as this characteristic may very well be deprecated sooner or later).
When making a transaction with a payment above -maxtxfee
(default 0.1 LTC), the RPC instructions walletcreatefundedpsbt
and fundrawtransaction
will now fail as an alternative of rounding down the payment. Beware that the feeRate
argument is laid out in LTC per kilobyte, not litoshi per byte.
- A brand new brief document in regards to the JSON-RPC interface describes circumstances the place the outcomes of an RPC would possibly include inconsistencies between information sourced from completely different subsystems, reminiscent of pockets state and mempool state. A be aware is added to the REST interface documentation indicating that the identical guidelines apply.
- Additional data is added to the JSON-RPC documentation about the best way to safe this interface.
- A brand new document in regards to the
litecoin.conf
file describes the best 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 lots of different circumstances the place two or extra packages have to work together to generate a whole 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 needs to obtain notifications for, reminiscent of which addresses it needs 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 forestall Litecoin-Qt from being constructed with help 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 help are inspired to make use of this feature 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 supplies 5.9.7)
getnodeaddresses
returns peer addresses identified to this node. It might be used to search out nodes to hook up with with out utilizing a DNS seeder.listwalletdir
returns an inventory 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. In the intervening time, it returns an array of the at the moment energetic instructions and the way lengthy they have been operating.deriveaddresses
returns a number of addresses equivalent 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 will need to have completely different inputs. The ensuing PSBT will include each enter and output from all the PSBTs. Any signatures supplied in any of the PSBTs will probably be dropped.analyzepsbt
examines a PSBT and supplies details about what the PSBT accommodates and the subsequent steps that have to be taken with a view to full the transaction. For every enter of a PSBT,analyzepsbt
supplies details about what data is lacking for that enter, together with whether or not a UTXO must be supplied, what pubkeys nonetheless have to be supplied, which scripts have to be supplied, and what signatures are nonetheless wanted. Each enter may even checklist which position is required to finish that enter, andanalyzepsbt
may even checklist the subsequent position on the whole wanted to finish the PSBT.analyzepsbt
may even present the estimated payment fee and estimated digital dimension of the finished transaction if it has sufficient data to take action.utxoupdatepsbt
searches the set of Unspent Transaction Outputs (UTXOs) to search 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 data from the UTXO being spent. For segwit inputs, solely the UTXO itself is critical. For non-segwit outputs, your complete earlier transaction is required in order that signers can make sure that they’re signing the proper factor. Sadly, as a result of the UTXO set solely accommodates UTXOs and never full transactions,utxoupdatepsbt
will solely add the UTXO for segwit inputs.
Observe: some low-level RPC adjustments 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 payment filter. You should use this to detect that you’ve got friends which can be prepared to simply accept transactions under the default minimal relay payment.- The mempool RPCs, reminiscent of
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 payment under the allowed minimums. It now prints a warning. The particular worth of “0” should be used to request the minimal worth.getaddressinfo
now supplies anischange
discipline indicating whether or not the pockets used the tackle in a change output.importmulti
has been up to date to help 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 in regards to the tackle’s scriptPubKey, elective redeemScript, and elective witnessScript to ensure that the pockets to have the ability to generate an unsigned enter spending funds despatched to that tackle.- The
getaddressinfo
,listunspent
, andscantxoutset
RPCs now return a furtherdesc
discipline that accommodates an output descriptor containing all key paths and signing data for the tackle (apart from the personal key). Thedesc
discipline is barely returned forgetaddressinfo
andlistunspent
when the tackle is solvable. importprivkey
will protect previously-set labels for addresses or public keys equivalent to the personal key being imported. For instance, should you imported a watch-only tackle with the label “chilly pockets” in earlier releases of Litecoin Core, subsequently importing the personal key would default to resetting the tackle’s label to the default empty-string label (“”). On this launch, the earlier label of “chilly pockets” will probably be retained. When you optionally specify any label in addition to the default when callingimportprivkey
, the brand new label will probably be utilized to the tackle.- See the Mining part for adjustments 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 examine the unspent UTXO set for a transaction. The remaining behaviors are as follows: 1. If a blockhash is supplied, examine the corresponding block. 2. If no blockhash is supplied, examine the mempool. 3. If no blockhash is supplied however txindex is enabled, additionally examine txindex. unloadwallet
is now synchronous, which means it is not going to return till the pockets is absolutely 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 elective vary for ranged descriptors to specify the beginning and finish of the vary to import. Descriptors with key origin data imported by means ofimportmulti
may have their key origin data 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 electiveclean
argument that can be utilized to create a clean pockets. Clean wallets shouldn’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 (through the use ofsethdseed
) 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 may 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 adjustments from the ‘account’ API to the ‘label’ API.
addwitnessaddress
is eliminated after being deprecated in model 0.16.0.generate
is deprecated and will probably be absolutely eliminated in a subsequent main model. This RPC is barely 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 can be utilizinggenerate
for testing functions ought to transition to utilizing thegeneratetoaddress
RPC, which doesn’t require or use the pockets part. Callinggeneratetoaddress
with an tackle 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 components 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 tackle. Shoppers ought to use theembedded.tackle
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 greatest 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 objects 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 payment” has been eliminated. As a substitute, the person 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 payment.
- Within the Overview tab, the watch-only steadiness would be the solely steadiness 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 obtainable on macOS if compiled with macosx min model higher 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, reminiscent of whether or not the pockets is encrypted, whether or not it makes use of an HD seed, what number of transactions it accommodates, and what number of tackle ebook entries it has.
This part describes deliberate adjustments to Litecoin Core that 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 need to obtain funds. These addresses are backwards appropriate with all widely-used software program. Beginning with Litecoin Core 0.20 (anticipated a couple of yr after 0.18), Litecoin Core will default to native segwit addresses (bech32) that present further payment financial savings and different advantages. Presently, many wallets and providers already help sending to bech32 addresses, and if the Litecoin Core mission sees sufficient further adoption, it’s going to as an alternative default to bech32 receiving addresses in Litecoin Core 0.20. P2SH-wrapped segwit addresses will proceed to be supplied if the person requests them within the GUI or by RPC, and anybody who doesn’t need the replace will be capable to configure their default tackle kind. (Equally, pioneering customers who need to change their default now might set the
addresstype=bech32
configuration possibility in any Litecoin Core launch from 0.16.0 up.)
- BIP 61 reject messages at the moment are deprecated. Reject messages haven’t any use case on the P2P community and are solely logged for debugging by most community nodes. Moreover, they improve bandwidth and will be dangerous for privateness and safety. It has been attainable to disable BIP 61 messages since v0.17 with the
-enablebip61=0
possibility. BIP 61 messages will probably be disabled by default in a future model, earlier than being eliminated totally.
This part describes RPC adjustments primarily helpful for testing, principally not related in manufacturing. The adjustments 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 at all times returns the elemental cause 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 seemingly 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 ready to true however the important thing metadata for a public key has not been up to date but, then that key may have a derivation path as if it have been simply an unbiased 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 replenish, a misbehaving node will probably be disconnected to make room for nodes with no historical past of issues (except the misbehaving node helps your node in another approach, reminiscent of 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. When you manually ban a peer, reminiscent of through the use of the
setban
RPC, all connections from that peer will nonetheless be rejected.
- The important thing metadata will have to be upgraded the primary time that the HD seed is on the market. For unencrypted wallets it will happen on pockets loading. For encrypted wallets it will happen the primary time the pockets is unlocked.
- Newly encrypted wallets will not require restarting the software program. As a substitute such wallets will probably be utterly unloaded and reloaded to realize the identical impact.
- A sub-project of Litecoin Core now supplies {Hardware} Pockets Interplay (HWI) scripts that enable command-line customers to make use of a number of standard {hardware} key administration units with Litecoin Core. See their project page for particulars.
- This launch adjustments 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 robust randomness. This strikes Litecoin Core slightly nearer to not needing to depend upon OpenSSL, a dependency that has brought on 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 stop 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 may 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 final word solution to confirm the integrity of the builds is to construct them your self utilizing Gitian. Directions on the best 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. At all times backup your pockets.dat file earlier than upgrading. When you encounter any points, please tell us by posting to the bug reporting part under.
The grasp department accommodates the newest commits to the subsequent 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:
b8a118e94703e84128bec31a99a59b91af54edb1b0470b970cec3809fc8753ae litecoin-0.18.1-aarch64-linux-gnu.tar.gz
7a47b11065c86a661eec3eb5ba8d157d65ac7e16930fbd381e519d4dcbf86574 litecoin-0.18.1-arm-linux-gnueabihf.tar.gz
58be96c96f7579f05acb3b544698a3e1cd8ede8fb10874ccc7ce1ee9de4f3fc0 litecoin-0.18.1-i686-pc-linux-gnu.tar.gz
8798e030235e2099a456f06a8488a5567641058885965da03036538fa57df0a6 litecoin-0.18.1-osx64.tar.gz
68f4348cb9aa913845a94bcc93718b83b593999ed41e245cdfed0477ec1a9631 litecoin-0.18.1rc1-osx.dmg
7b7f78588340d26b222ff927c7bbfa5eafa68d80b8408d1835f537361a4d9123 litecoin-0.18.1rc1-win32-setup.exe
b76f31c9e7341ffb21f655cfa217ee50b9cde4e10f117eba7167aff85a57e769 litecoin-0.18.1rc1-win64-setup.exe
00e05c776d57443127ed4a75c5a27b3789f8f7bbf01edb668bfa75ac138a49d3 litecoin-0.18.1-riscv64-linux-gnu.tar.gz
6dfa71ccf059463f0a304f85ff1ca8b88039d63e93269d6f056ab24915be936d litecoin-0.18.1.tar.gz
4aea854431c495f43bf3665fc6c0e18f2e6a0caf2b5c4682b8aca4875650c5ad litecoin-0.18.1-win32.zip
fa47ab17be61a924ac5dcba251cbea919aef7ff2dabe7803a6b3af402ef1fe75 litecoin-0.18.1-win64.zip
3c8d2cd2cc06645fc553ced8361c6951eef50e09dc2334268625902bcdb18f76 litecoin-0.18.1-x86_64-linux-gnu.tar.gz
Due to everybody who straight 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