Skip to content

Releases: decred/decred-binaries

v1.8.1

09 Oct 16:37
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and runDecrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.8.1-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.8.1

This is a patch release of dcrd that includes some updates to the RPC server and JSON-RPC API in light of the changes made by DCP0011 as follows:

  • The getblock and getblockheader RPCs now have an additional powhash field for the new Proof-of-Work hash
  • The getnetworkhashps RPC now treats -1 for the blocks parameter as the default number of blocks versus the previous behavior that is no longer applicable to the new difficulty ajustement algorithm

The RPC server version as of this release is 8.1.0.

Changelog

This patch release consists of 5 commits from 2 contributors which total to 7 files changed, 47 additional lines of code, and 29 deleted lines of code.

All commits since the last release may be viewed on GitHub here.

RPC:

Developer-related package and module changes:

Misc:

Code Contributors (alphabetical order):

  • Dave Collins
  • Jonathan Chappelow

dcrwallet v1.8.1

This release contains important bug fixes for VSP users.

Bug fixes

  • A warning is logged if a VSP fee payment could not be created due to a locked wallet (1c1bcfbd).

  • VSP fee payments started by RPC requests are no longer cancelled early after the RPC returns (07854e37).

  • The random duration interval during which ticket fee payment operations occur was fixed using the correct calculation of when a ticket goes live (c4c6c421).

  • Fee payment confirmations are no longer assumed to be valid after they receive 6 confirmations, and the VSP is contacted to ensure that it has also confirmed the payment (7c551ce6).

  • Block heights for ticket liveness and expiry are recalculated properly whenever unmined tickets are processed by the VSP client (1319da0b).

New features

  • The verbose getblock and getblockheader JSON-RPC results now include a powhash field with the hash calculated for the Proof-of-Work algorithm.

Changelog

The following lists all commits since dcrwallet v1.8.0:

  • 1c1bcfbd: vsp: Dont ignore locked wallet errs
  • 07854e37: vsp: Hardcode background ctx
  • c4c6c421: vsp: Fix blocksUntilLive calc
  • 7c551ce6: vsp: Only remove confirmed payments
  • 1319da0b: vsp: Recalculate live/expiry height
  • bc7f095c: Bump patch version for upcoming 1.8.1 release
  • a02926a8: Update dcrd JSON-RPC types module
  • 7cb12ad4: Update decred dependencies

Code Contributors (alphabetical order):

Decrediton v1.8.1

This is a minor Decrediton release that updates DEX to the most recent release and fixes a few critical bugs.

Bug fixes

  • Fix response buffer size for logging into DEX on v1.8.0

Changelog

All commits since the last release may be viewed on GitHub here.

v1.8.0

13 Jun 19:34
24762d7
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.8.0-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.8.0

This is a new major release of dcrd. Some of the key highlights are:

  • Two new consensus vote agendas which allow stakeholders to decide whether or not to activate support for the following:
    • Changing the Proof-of-Work hashing algorithm to BLAKE3 and the difficulty algorithm to ASERT
    • Changing the Proof-of-Work and Proof-of-Stake subsidy split from 10%/80% to 1%/89%
  • Separation of block hash from Proof-of-Work hash
  • BLAKE3 CPU mining support
  • Initial sync time reduced by about 20%
  • Runtime memory management optimizations
  • Faster cryptographic signature validation
  • Low fee transaction rejection
  • Unspent transaction output set size reduction
  • No more checkpoints
  • Improved network protocol message responsiveness
  • Header proof commitment hash storage
  • Address index removal
  • Several CLI options deprecated
  • Various updates to the RPC server:
    • Total coin supply output correction
    • More stable global communication over WebSockets
    • Winning ticket notifications when unsynced mining on test networks
    • Several other notable updates, additions, and removals related to the JSON-RPC API
  • Infrastructure improvements
  • Miscellaneous network and protocol optimizations
  • Quality assurance changes

For those unfamiliar with the voting process in Decred, all code needed in order to support each of the aforementioned consensus changes is already included in this release, however it will remain
dormant until the stakeholders vote to activate it.

For reference, the consensus change work was originally proposed and approved for initial implementation via the following Politeia proposal:

The following Decred Change Proposals (DCPs) describe the proposed changes in detail and provide full technical specifications:

Upgrade Required

It is extremely important for everyone to upgrade their software to this latest release even if you don't intend to vote in favor of the agenda. This particularly applies to PoW miners as failure to upgrade will result in lost rewards after block height 777240. That is estimated to be around June 29th, 2023.

Downgrade Warning

The database format in v1.8.0 is not compatible with previous versions of the software. This only affects downgrades as users upgrading from previous versions will see a one time database migration.

Once this migration has been completed, it will no longer be possible to downgrade to a previous version of the software without having to delete the database and redownload the chain.

The database migration typically takes around 4-6 minutes on HDDs and 2-3 minutes on SSDs.

Notable Changes

Two New Consensus Change Votes

Two new consensus change votes are now available as of this release. After upgrading, stakeholders may set their preferences through their wallet.

Change PoW to BLAKE3 and ASERT

The first new vote available as of this release has the id blake3pow.

The primary goals of this change are to:

  • Increase decentralization of proof of work mining by obsoleting the current specialized hardware (ASICs) that is only realistically available to the existing highly centralized mining monopoly
  • Improve the proof of work mining difficulty adjustment algorithm responsiveness
  • Provide more equal profitability to steady state PoW miners versus hit and run miners

See the following for more details:

Change PoW/PoS Subsidy Split to 1/89 Vote

The second new vote available as of this release has the id changesubsidysplitr2.

The proposed modification to the subsidy split in tandem with the change to the PoW hashing function is intended to break up the mining cartel and further improve decentralization of the issuance process.

See the following for more details:

Separation of Block Hash from Proof-of-Work Hash

A new Proof-of-Work (PoW) hash that is distinct from the existing block hash is now used for all consensus rules related to PoW verification.

Block hashes have historically served multiple roles which include those related to proof of work (PoW). As of this release, the roles related to PoW are now solely the domain of the new PoW hash.

Some key points related to this change are:

  • The new PoW hash will be exactly the same as the existing block hash for all blocks prior to the activation of the stakeholder vote to change the PoW hashing algorithm
  • The block hash continues to use the existing hashing algorithm
  • The block hash will no longer have the typical pattern of leading zeros upon activation of the PoW hashing algorithm
  • The PoW hash will have the typical pattern of leading zeros both before and after the activation of the new PoW hashing algorithm

BLAKE3 CPU Mining Support

The internal CPU miner has been significantly optimized to provide much higher hash rates, especially when using multiple cores, and now automatically mines using the BLAKE3 algorithm when the blake3pow agenda is active.

Initial Sync Time Reduced by About 20%

The amount of time it takes to complete the initial chain synchronization process with default settings has been reduced by about 20% versus the previous release.

Runtime Memory Management Optimizations

The way memory is managed has been optimized to provide performance enhancements to both steady-state operation as well as the initial chain sync process.

The primary benefits are:

  • Lower maximum memory usage during transient periods of high demand
  • Approximately a 10% reduction to the duration of the initial sync process
  • Significantly reduced overall total memory allocations (~42%)
  • Less overall CPU usage for the same amount of work

Faster Cryptographic Signature Validation

Similar to the previous release, this release further improves some aspects of the underlying crypto code to increase its execution speed and reduce the number of memory allocations. The overall result is a 52% reduction in allocations and about a 1% reduction to the verification time for a single signature.

The primary benefits are:

  • Improved vote times since blocks and transactions propagate more quickly throughout the network
  • Approximately a 4% reduction to the duration of the initial sync process

Low Fee Transaction Rejection

The default transaction acceptance and relay policy is no longer based on priority and instead now immediately rejects all transactions that do not pay the minimum required fee.

This provides a better user experience for transactions that do not pay enough fees.

For some insight into the motivation for this change, prior to the introduction of support for child pays for parent (CPFP), it was possible for transactions to essentially become stuck forever if they didn't pay a high enough fee for miners to include them in a block.

In order to prevent this, a policy was introduced that allowed relaying transactions that do not pay enough fees based on a priority calculated from the fee as well as the age of coins being spent. The result is that the priority slowly increased over time as the coins aged to ensure such transactions would eventually be relayed and mined. In order to prevent abuse the behavior could otherwise allow, the policy also included additional rate-limiting of these types of transactions.

While the policy served its purpose, it had some downsides such as:

  • A confusing user experience where transactions that do not pay enough fees and also are not old enough to meet the dynamically changing priority requirements are rejected due to having insufficient priority instead of not paying enough fees as the user might expect
  • The priority requirements dynamically change over time which leads to non-deterministic behavior and thus ultimately results in what appear to be intermittent/transient failures to users

The policy is no longer necessary or desirable given such transactions can now use CPFP to increase the overall fee of the e...

Read more

v1.7.7

17 Apr 16:00
7e73099
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.7-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.7.7

This is a patch release of dcrd that includes the following changes:

  • Use the latest network protocol version
  • Reduce bandwidth usage in certain scenarios by avoiding requests for inventory that is already known
  • Mitigate excessive CPU usage in some rare scenarios specific to the test network
  • Improve best address candidate selection efficiency

Changelog

This patch release consists of 19 commits from 3 contributors which total to 92 files changed, 1357 additional lines of code, and 1191 deleted lines of code.

All commits since the last release may be viewed on GitHub here.

Protocol and network:

Documentation:

Developer-related package and module changes:

Testing and Quality Assurance:

Misc:

Code Contributors (alphabetical order):

  • Dave Collins
  • Eng Zer Jun
  • Jonathan Chappelow

dcrwallet v1.7.7

This release includes many bug fixes and performance improvements that, in particular, benefits ticketbuying and other heavily-used wallets that contain many transactions.

Bug fixes

  • A deadlock during address discovery was corrected.

  • SPV peer selection no longer requires excessive CPU usage when few quality
    peers are known.

  • A data race during rescanning in SPV mode was corrected.

  • A logic race that could result in failing to watch addresses after purchasing tickets, and subsequently missing transactions paying to these addresses, was corrected.

  • A duplicate log message when failing to watch addresses after purchasing tickets was removed.

  • Account balances are no longer calculated by the automatic ticket buyer if the ticketbuyer.balancetomaintainabsolute flag is unset or zero. Calculating balances is a expensive operation on wallets with many transactions, and avoiding this unnecessary task can provide a significant performance boost.

  • The hardcoded maximum number of UTXOs that can be concurrently mixed during account mixing was removed and replaced with a maximum value that scales with the mixsplitlimit config option.

  • Mixed ticket buying and account mixing no longer creates change that is smaller than the minimum amount needed to mix a UTXO at the smallest common denomination during change account mixing. Previously, change that was too small to mix was only discarded (i.e. included in the transaction fee) during mixing at the smallest common denomination.

New features

  • A watchlast config setting was included to configure the maximum number of recent addresses on an account branch are watched at startup.

  • A new UTXO selection algorithm was implemented to pick UTXOs at random. Previously, randomization was implemented by reading all UTXOs into memory and shuffling. The new algorithm reads UTXOs from the database directly without needing to read all UTXOs into memory, which provides both performance and memory improvements over the previous algorithm.

Changelog

All commits since the last release may be viewed on GitHub here.

Decrediton v1.7.7

This release includes a various new features and bug fixes. Users are now able to choose individually on each TSpend instead of by pubkey. Launcher views have been totally revamped and improved. Trezor views have also had an improved UX introduced. And last but not least, DEX has been upgraded to 0.6.0 which now allows for trading with ETH.

New Features

  • DEX has been updated to 0.6.0 which now allows access to the dcr-eth trading pair. You can find the full rundown of improvements to DEX for 0.6.0 here.

  • TSpends can now be voted on individually instead of by the overall signing pubkey. This gives stakeholders more control over their voting rights when it comes to treasury expenditures.

  • Launching views have been redesigned and should allow for more interactivity and learning while waiting for the wallet to fully load in. Ideally this should reduce the number of support questions we receive overall.

  • Trezor wallet creation views have been fully revamped and should allow for a much better user experience. The new views can be seen here.

Bug fixes

  • Resend vote choices to recently updated VSPs. If a user updates their local vote preference before the VSP that controls their ticket, this was required to ensure that the User's vote choices were maintained after they update to the new version.

  • Fix Dex Window not launching after wallet reload.

  • Speed up and refine wallet start up process. There were a few extraneous processes that were occurring durign startup that could cause delays in the wallet fully opening.

  • Fix an issue with the send form that would cause incorrect amounts to be used as the final value. Eg. User enters 50 to send, but only would register 5.

  • Fix time remaining estimation during block syncing.

  • Fix various minor CSS issues throughout.

Changelog

All commits since the last release may be viewed on GitHub here.

v1.7.6

16 Nov 22:13
5f74230
Compare
Choose a tag to compare

2022-11-16

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.6-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

Decrediton v1.7.6

This is a small release that contains no changes to the Decrediton base, but fixes an issue with the underlying DEX. This also fixes an issue with Decrediton v1.7.5 on Windows resolving alternative DNS servers (8.8.8.8 etc).

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

v1.7.5

14 Oct 13:06
5f74230
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run
Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.5-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.7.5

This is a patch release of dcrd that updates the utxo cache to improve its robustness, optimize it, and correct some hard to hit corner cases that involve a mix of manual block invalidation, conditional flushing, and successive unclean shutdowns.

Changelog

This patch release consists of 19 commits from 1 contributor which total to 13 files changed, 1118 additional lines of code, and 484 deleted lines of code.

All commits since the last release may be viewed on GitHub here.

Developer-related package and module changes:

Testing and Quality Assurance:

Misc:

Code Contributors (alphabetical order):

  • Dave Collins

dcrwallet v1.7.5

This release includes minor fixes and improvements for the wallet.

In addition to the fixes and new features listed below, the wallet has also been updated to follow the TestNet3 hard fork which throttles the difficulty changes allowed as hashpower is quickly increased on the network. This was an unvoted hard fork that only affects the test network, and all users of the test network must upgrade.

Bug fixes

  • The SFNodeCF service flag was removed from the required services of nodes connected to in SPV mode. Version 2 compact filters are now required by consensus rules and there is no service flag to identify their support.

  • An issue preventing the signrawtransaction JSON-RPC method from using private keys in the request parameters was corrected.

  • The automated ticket buyer no longer attempts to mix change if the StakeShuffle server is not specified in the application config
    (--csppserver) or the gRPC requests that started the buyer.

New features

  • The gRPC methods VotingService.TreasuryPolicies and VotingService.SetTreasuryPolicies were added for gRPC clients to be able to view and set the treasury voting policies of a ticket with VSPs.

  • An importpubkey JSON-RPC method was introduced to import raw secp256k1 public keys and their derived P2PKH address to the imported account. This method is only usable on watching-only wallets.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • bgptr
  • Dave Collins
  • David Hill
  • Josh Rickmar
  • Matheus Degiovani

Decrediton v1.7.5

This release is mainly due to a critical fix that was included in DEX 0.5.4.

There are other small bug fixes and improvements included as well.

Bug fixes

  • Fix never ending loading button on Treasury Spending tab.

  • Add Ticket Spent entry to the Revocation tx details page.

  • Fix placeholder size in TextInput

  • Rename cspp to StakeShuffle throughout.

  • Refresh DEX window with F5 key now working as expected.

  • Add testnet PiKeys on testnet for treasury spending tab.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • Alex Yocom-Piatt

v1.7.3

18 May 18:57
d7537d8
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.2-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

Decrediton v1.7.3

This is a small patch release that fixes an issue with macOS 10.15 (Catalina) not being able to launch dcrd and dcrwallet properly.

We also fixed an issue with updating Treasury Spending choices failing due to dcrwallet not having an rpc implemented.

A couple other minor styling issues that were found in v1.7.2 were fixed as well.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • Alex Yocom-Piatt
  • bgptr

v1.7.2

11 May 16:09
c55b87a
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.2-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.7.2

This is a patch release of dcrd to resolve a rare and hard to hit case when optional indexing is enabled.

Changelog

This patch release consists of 4 commits from 2 contributors which total to 11 files changed, 158 additional lines of code, and 15 deleted lines of code.

All commits since the last release may be viewed on GitHub here and here.

Protocol and network:

Developer-related package and module changes:

Misc:

Code Contributors (alphabetical order):

  • Dave Collins
  • Donald Adu-Poku

dcrwallet v1.7.2

This release updates the wallet in light of the activation of DCP0009 on all Decred networks, as well as providing various other fixes.

Bug fixes

  • All ticket revoking functionality has been removed or disabled due to the activation of DCP0009 which modified consensus rules to require miners to include revocations for new expired or missed tickets. The wallet will no longer log warnings and errors due to revocations being created in response to missed tickets, and all RPCs which manually revoked tickets have been deprecated and no longer perform any action. Old unspent tickets will be revoked by project members, eliminating the need for the wallet to ever create a revocation of its own.

  • The verifymessage JSON-RPC method and MessageVerificationService.VerifyMessage gRPC method were corrected to return success when the message is validly signed by the keys associated with a P2PKH address. P2PK addresses are no longer valid inputs and an appropriate error will be returned if one is used.

  • The walletpubpassphrasechange JSON-RPC method was enabled. This method was already implemented but the method was not exposed in the RPC API.

  • Some options in the sample configuration were rewritten to move comments that described various options to their own lines. This prevents parsing and/or runtime errors if an option was uncommented due to the configuration not ignoring comments that do not begin at the start of a line.

New features

  • The WalletService.GetTicket gRPC method now provides the VSP host associated with a ticket.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • bgptr
  • Dave Collins
  • Josh Rickmar

Decrediton v1.7.2

This Decrediton release includes various bug fixes for issues found during v1.7.1 usage. DCRDEX has been updated to 0.4.3. We have also added a few new features that should improve usage before the next big release.

Bug fixes

  • Fix 'account not found' error when registering for DCRDEX. There was a corner case that could be triggered due to using an incorrect password when creating a DEX account.

  • Launcher now allows for completion of wallets that had not completed their creation steps.

  • Improved performance of Transaction/Ticket history pages. Better scroll and saving previous place where they were viewing.

  • Automatically set the 'per-account encryption' during wallet creation since the passphrase is available.

New features

  • Ticket transaction details now show their associated VSP Host and a button that allows for the user to check the tickets' status at that VSP.

  • Due to the recent network upgrade, we've removed all of the Revoke buttons.

  • We've removed DEX login step once the user has successfully launched the DEX window for the first time.

  • Add Treasury Spending tab on the Governance Page. This allows for stakeholders to approve or deny the public keys that sign the tspends.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • Alex Yocom-Piatt
  • Amir Massarwa
  • bgptr
  • Jonathan Chappelow

v1.7.1

17 Feb 15:50
6e0878a
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.1-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.7.1

This is a patch release of dcrd which includes the following changes:

  • Resolve an issue related to RPC authentication of limited users

Changelog

This patch release consists of 2 commits from 2 contributors which total to 3 files changed, 170 additional lines of code, and 35 deleted lines of code.

All commits since the last release may be viewed on GitHub here.

RPC:

Misc:

Code Contributors (alphabetical order):

  • Dave Collins
  • 刘昆

dcrwallet v1.7.1

This release includes vote policy bug fixes for VSP users.

Bug fixes

  • The setvotechoice JSON-RPC method, when setting a vote choice for a particular ticket, will use the VSP recorded with the ticket from the database rather than using the VSP in the current application configuration.

  • An issue where vote choices were sometimes not communicated with the VSP for all unexpired tickets was corrected.

  • The settreasurypolicy and settspendpolicy JSON-RPC methods now validate that the length of a ticket hash is exactly 32 bytes.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • Alex Yocom-Piatt
  • Jamie Holdstock

Decrediton v1.7.1

This patch release fixes a few outstanding issues found after the initial release of v1.7.0. We have also included the new design for the Settings page and LN wallet creation.

Bug Fixes

  • Live tickets were not showing fee status.

  • Autobuyer wasn't working due to minimum ticketbuyer limit being 0.

  • Update treasury balance to combine legacy and new treasury balances.

  • Fix issue when creating DEX account that allowed for users to proceed on bad passphrase entry.

  • Update menu items when changing from SPV mode for DEX access.

  • Various styling issue.

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • Alex Yocom-Piatt
  • bgptr
  • Jamie Holdstock
  • Jonathan Chappelow
  • Matheus Degiovani

v1.7.0

24 Jan 15:59
11a4fb4
Compare
Choose a tag to compare

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux AppImage or Decrediton Linux tar or Decrediton macOS amd64 or Decrediton macOS arm64 or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.0-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrd v1.7.0

This is a new major release of dcrd. Some of the key highlights are:

  • Four new consensus vote agendas which allow stakeholders to decide whether or not to activate support for the following:
    • Reverting the Treasury maximum expenditure policy
    • Enforcing explicit version upgrades
    • Support for automatic ticket revocations for missed votes
    • Changing the Proof-of-Work and Proof-of-Stake subsidy split from 60%/30% to 10%/80%
  • Substantially reduced initial sync time
  • Major performance enhancements to unspent transaction output handling
  • Faster cryptographic signature validation
  • Significant improvements to network synchronization
  • Support for a configurable assumed valid block
  • Block index memory usage reduction
  • Asynchronous indexing
  • Version 1 block filters removal
  • Various updates to the RPC server:
    • Additional per-connection read limits
    • A more strict cross origin request policy
    • A new alternative client authentication mechanism based on TLS certificates
    • Availability of the scripting language version for transaction outputs
    • Several other notable updates, additions, and removals related to the JSON-RPC API
  • New developer modules:
    • Age-Partitioned Bloom Filters
    • Fixed-Precision Unsigned 256-bit Integers
    • Standard Scripts
    • Standard Addresses
  • Infrastructure improvements
  • Quality assurance changes

For those unfamiliar with the voting process in Decred, all code needed in order to support each of the aforementioned consensus changes is already included in this release, however it will remain dormant until the stakeholders vote to activate it.

For reference, the consensus change work for each of the four changes was originally proposed and approved for initial implementation via the following Politeia proposals:

The following Decred Change Proposals (DCPs) describe the proposed changes in detail and provide full technical specifications:

It is important for everyone to upgrade their software to this latest release even if you don't intend to vote in favor of the agenda.

Upgrade Required

It is extremely important for everyone to upgrade their software to this latest release even if you don't intend to vote in favor of the agenda. This particularly applies to PoW miners as failure to upgrade will result in lost rewards after block height 635775. That is estimated to be around Feb 21st, 2022.

Downgrade Warning

The database format in v1.7.0 is not compatible with previous versions of the software. This only affects downgrades as users upgrading from previous versions will see a one time database migration.

Once this migration has been completed, it will no longer be possible to downgrade to a previous version of the software without having to delete the database and redownload the chain.

The database migration typically takes around 40-50 minutes on HDDs and 20-30 minutes on SSDs.

Notable Changes

Four New Consensus Change Votes

Four new consensus change votes are now available as of this release. After upgrading, stakeholders may set their preferences through their wallet.

Revert Treasury Maximum Expenditure Policy Vote

The first new vote available as of this release has the id reverttreasurypolicy.

The primary goal of this change is to revert the currently active maximum expenditure policy of the decentralized Treasury to the one specified in the original Politeia proposal.

See DCP0007 for the full technical specification.

Explicit Version Upgrades Vote

The second new vote available as of this release has the id explicitverupgrades.

The primary goals of this change are to:

  • Provide an easy, reliable, and efficient method for software and hardware to determine exactly which rules should be applied to transaction and script versions
  • Further embrace the increased security and other desirable properties that hard forks provide over soft forks

See the following for more details:

Automatic Ticket Revocations Vote

The third new vote available as of this release has the id autorevocations.

The primary goals of this change are to:

  • Improve the Decred stakeholder user experience by removing the requirement for stakeholders to manually revoke missed and expired tickets
  • Enable the recovery of funds for users who lost their redeem script for the legacy VSP system (before the release of vspd, which removed the need for the redeem script)

See the following for more details:

Change PoW/PoS Subsidy Split to 10/80 Vote

The fourth new vote available as of this release has the id changesubsidysplit.

The proposed modification to the subsidy split is intended to substantially diminish the ability to attack Decred's markets with mined coins and improve decentralization of the issuance process.

See the following for more details:

Substantially Reduced Initial Sync Time

The amount of time it takes to complete the initial chain synchronization process has been substantially reduced. With default settings, it is around 48% faster versus the previous release.

Unspent Transaction Output Overhaul

The way unspent transaction outputs (UTXOs) are handled has been significantly reworked to provide major performance enhancements to both steady-state operation as well as the initial chain sync process as follows:

  • Each UTXO is now tracked independently on a per-output basis
  • The UTXOs now reside in a dedicated database
  • All UTXO reads and writes now make use of a cache

Unspent Transaction Output Cache

All reads and writes of unspent transaction outputs (utxos) now go through a cache that sits on top of the utxo set database which drastically reduces the amount of reading and writing to disk, especially during the initial sync process when a very large number of blocks are being processed in quick succession.

This utxo cache provides significant runtime performance benefits at the cost of some additional memory usage. The maximum size of the cache can be configured with the new --utxocachemaxsize command-line configuration option. The default value is 150 MiB, the minimum value is 25 MiB, and the maximum value is 32768 MiB (32 GiB).

Some key properties of the cache are as follows:

  • For reads, the UTXO cache acts as a read-through cache
    • All UTXO reads go through the cache
    • Cache misses load the missing data from the disk and cache it for future lookups
  • For writes, the UTXO cache acts as a write-back cache
    • Writes to the cache are acknowledged by the cache immediately, but are only periodically flushed to disk
  • Allows intermediate steps to effectively be skipped thereby avoiding the need to write millions of entries to disk
  • On average, recent UTXOs are much more likely to be spent in upcoming blocks than older UTXOs, so only the oldest UTXOs are evicted as needed in order to maximize the hit ratio of the cache
  • The cache is periodically flushed with conditional eviction:
    • When the cache is NOT full, nothing is evicted, but the changes are still written to the disk set to allow for a quicker reconciliation in the case of an unclean shutdown
    • When the cache is full, 15% of the oldest UTXOs are evicted

Faster Cryptographic Signature Validation

Some ...

Read more

v1.7.0-rc3

19 Jan 18:35
11a4fb4
Compare
Choose a tag to compare
v1.7.0-rc3 Pre-release
Pre-release

Install

To install Decrediton desktop wallet, download, uncompress, and run Decrediton Linux or Decrediton macOS or Decrediton Windows.

To install the command-line tools, please see dcrinstall.

See decred-v1.7.0-rc3-manifest.txt and the other manifest files for SHA-256 hashes and the associated .asc signature files to confirm those hashes.

See README.md for more info on verifying the files.

Skip to downloads

Contents

dcrwallet v1.7.0-rc3

This release includes bug fixes and improvements from v1.7.0-rc2.

Bug fixes

  • The mixing protocol was fixed to operate properly on both 32 and 64-bit hardware. This fix necessitated a breaking protocol change. All users of v1.7.0-rc1 and v1.7.0-rc2 must upgrade to continue mixing.
  • DCP0010 activation is detected when running in RPC syncing mode and will produce votes with the proper subsidy value.
  • The walletinfo JSON-RPC method now produces more reliable results when neither the SPV nor RPC syncers have been associated with the wallet.
  • A received verack message is no longer required in SPV mode. This fixes several P2P connection issues caused by dcrd sometimes sending other messages before the verack.

Changelog

All commits since the last release may be viewed on GitHub
here.

Code Contributors (alphabetical order)

  • Jonathan Chappelow
  • Josh Rickmar

Decrediton v1.7.0-rc3

This release includes bug fixes and improvements from v1.7.0-rc2.

Bug fixes

  • Fix proper on-chain agendas being shown in Governance.
  • Improve dex page styling
  • Add Italian translations
  • Improve Dex Window functionality
  • Fix a possible cause of mixing wallet slowness.
  • Add dcrd upgrade check

Changelog

All commits since the last release may be viewed on GitHub here.

Code Contributors (alphabetical order)

  • Alex Yocom Piatt
  • bgptr
  • Matheus Degiovani