github decred/decred-binaries v1.1.2



To install the command line tools, please see

To install decrediton download, uncompress, and run
decrediton Linux or
decrediton OSX or
decrediton Windows.

See manifest-v1.1.2.txt, and the package specific manifest files for sha256 sums and the associated .asc files to confirm those shas.

See for more info on verifying the files.


dcrd v1.1.2

This release of dcrd primarily contains performance enhancements, infrastructure
improvements, and other quality assurance changes.

While it is not visible in this release, significant infrastructure work has
also been done this release cycle towards porting the Lightning Network (LN)
daemon which will ultimately allow LN payments to be backed by Decred.

Notable Changes

Faster Block Validation

A significant portion of block validation involves handling the stake tickets
which form an integral part of Decred's hybrid proof-of-work and proof-of-stake
system. The code which handles this portion of validation has been
significantly optimized in this release such that overall block validation is
up to approximately 3 times faster depending on the specific underlying hardware
configuration. This also has a noticeable impact on the speed of the initial
block download process as well as how quickly votes for winning tickets are
submitted to the network.

Data Carrier Transaction Standardness Policy

The standard policy for transaction relay of data carrier transaction outputs
has been modified to support canonically-encoded small data pushes. These
outputs are also known as OP_RETURN or nulldata outputs. In particular,
single byte small integers data pushes (0-16) are now supported.


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

Protocol and network:

Transaction relay (memory pool):


dcrd command-line flags:


Developer-related package changes:

Testing and Quality Assurance:


Code Contributors (alphabetical order):

  • Alex Yocom-Piatt
  • Dave Collins
  • David Hill
  • detailyang
  • Donald Adu-Poku
  • Federico Gimenez
  • Jason Zavaglia
  • John C. Vernaleo
  • Jonathan Chappelow
  • Jolan Luff
  • Josh Rickmar
  • Maninder Lall
  • Matheus Degiovani
  • Nicola Larosa
  • Samarth Hattangady
  • Ugwueze Onyekachi Michael

dcrwallet v1.1.2

This release focuses on internal improvements to the wallet to increase code
quality, thereby making it easier to add optional support for SPV syncing in a
future release. As always, it also comes with bug fixes, new features and other
improvements, which are detailed below.

Bug fixes

  • Vote transactions that become invalid when the main chain tip block changes
    are now removed from the wallet. This allows the invalid vote to be double
    spent by another vote later if the ticket is picked again on a different

  • Ticket buyer now attempts to avoid purchasing tickets for old blocks if it is
    enabled while the wallet is catching up to the network.

  • The application now exits cleanly if an interrupt signal (e.g. ^C or SIGINT)
    is received while at a prompt (such as during wallet creation, or with
    --promptpass) instead of hanging at the prompt.

  • The application no longer refuses to start when duplicate RPC listener
    addresses which bind to port 0 are specified in the config.

  • The listtransactions JSON-RPC has been fixed so that the order and amount
    values of all results match the results returned by Bitcoin Core.

  • The gettransaction JSON-RPC has been fixed to return fees as negative
    numbers instead of positive, which matches the behavior of Bitcoin Core.

New features

  • A new gRPC method WalletService.GetTickets has been introduced to return all
    wallet ticket purchases between a block range. The results are streamed to
    the client.

  • A new gRPC method WalletService.ValidateAddress has been added with similar
    semantics and usage to the validateaddress JSON-RPC method. It can be used
    to decode an address string, ensuring that it is a valid address, as well as
    returning whether the address is owned by the wallet.

  • A new gRPC service DecodeMessageService has been introduced to make it
    easier for clients not able to decode raw Decred wire messages themselves to
    decode a message into a gRPC message. Currently, one method exists in the
    service, DecodeRawTransaction, which decodes a Decred transaction.

  • Pagination support has been added to the WalletService.GetTransactions
    method through the introduction of a new target_transaction_count parameter
    in the request. Responses are immediately streamed to the client when the
    target is reached.

  • The TX IPC pipe has been added (enabled with the pipetx option) to receive
    messages from the application by a parent process. When combined with the
    rpclistenerevents option, this allows the application to inform the parent
    process of the listener addresses used by the gRPC and JSON-RPC servers. This
    is especially useful when binding listeners to port 0 as the application is
    able to report the actual port chosen by the operating system to the parent

Other improvements

  • Vendoring management of dependency source code has been switched from glide
    to dep. See the for new build instructions.

  • The BIP0044 coin type has been seamlessly upgraded from the old Decred value
    of 20 to 42. The new coin type is the coin type reserved for Decred in
    SLIP0044 and
    will allow greater compatibility with third party wallets. New wallets are
    always created with the new coin type, but for legacy compatibility old
    wallets and seed restores which have address usage with the old coin type will
    not be upgraded.

  • The address discovery algorithm has been made more concurrent and should see
    performance improvements, especially on CPUs with high core counts.

  • Performance improvements were made to the WalletService.GetTransactions gRPC
    method by avoiding unnecessary JSON-RPC calls to dcrd.

  • The ticketaddress option has been deprecated and replaced by the
    ticketbuyer.votingaddress option.

  • Publishing duplicate vote transactions in a redundant voting wallet setup no
    longer logs an error for a rejected duplicate transaction.


All commits since the last release may be viewed on GitHub

decrediton v1.1.2

This release marks a major turning point in our overall look and feel of
Decrediton. We have introduced consistent header areas with a new subpage/tab
interface. React-motion has been added to give a better feel for transitions
from page to page and expanded area reveals. All information modals and
passphrase modals have been consolidated to have a consistent feel whenever they
are used.

As part of the design overhaul, the Tickets page has begun its transformation
to provide a much better user experience. My Tickets subpage is the first step
into giving users a clearer picture into their current staking situation. In
the upcoming release, we will be adding extensive statistics and graphing to
further help visualize a given users' balance and staking history. Overall,
we aim to continue to add more tools that will help users' staking experience
be much more enjoyable and carefree.

We have also added advanced daemon setup abilities for users that want to use
remote daemons or use a different location for their blockchain data. In the
next release, we plan on also adding the ability to handle advanced back-end
wallet setups: easily switch between different wallet files on the same machine,
connecting to a remote wallet and other possible situations. But these advanced
options will also be completely transparent for users that choose to run with
the default settings.

We have added a Security Center page that will be a catch-all place to
store tools that we feel have utility, but aren't needed for everyday normal
wallet operation. The first 2 tools that have been added are for Signing and
Verifying messages using addresses and private keys to prove ownership of a
given address. Here is a typical use case: User A wants to prove to User B
that they control a given address. With the Sign Message tool, User A enters
the address, a message and their wallet's private passphrase. The tool produces
a hash that was created based on that address' private key and the given
message. With the Verify Message tool, User B can use the address in question,
the hash and the message from User A to verify that it was signed using that
address' private key.

We are also happy to announce the introduction of internationalization.
Brazilian Portuguese has been added for the first pass and we will be slowly
adding more languages on every new release.

Things to expect in the next release:

  • New overview page design
  • Rich historical Statistics/Graphs
  • New staking account user experience
  • Advanced wallet settings
  • More languages translated

Bug fixes

  • Fix issue on Windows caused by using "Aux" as a filename. Aux is a restricted
    filename with Windows and a simple filename change fixed it.

  • Fix shutdown issue with macOS. When cmd-Q or quitting Decrediton from the
    dock caused dcrd and dcrwallet to not be shutdown in the background. By
    adding a final closeClis() in app.on("before-quit",...) it ensures that
    everything is closed on any shutdown.

  • Removed Skip Sync button due to the new slip44 change in dcrwallet. With the
    new coin type change, dcrwallet needs to check if there has been any address
    usage up to that point in the chain for a given wallet.

  • Shorten account names in various areas to avoid obnoxious overflow.

  • Fix issue that was occuring when clearing out stakepool configurations. This
    would cause users to possibly have incorrect stakepool setups.

  • Change functionality of the space key during seed entry. Previously, when the
    user would enter the space key they would end up not "selecting" a word and
    then just type the whole seed. Now the space "selects" the word just as
    pressing tab does.


All commits since the last release may be viewed on GitHub
here. Also see
all changes to dcrwallet

latest releases: v1.6.3, v1.6.2, v1.6.1...
3 years ago