This development dispatch covers work completed since the Decred v0.7.0 release on December 26, 2016. Since then, developers have merged 140 pull requests into 9 repositories.
Here are direct links to the Paymetheus GUI wallet installers:
decrediton cross-platform GUI wallet installers:decrediton v0.8.0 Linux 64-bitdecrediton v0.8.0 OS X 64-bit
dcrinstall cross-platform text-based CLI installers:https://github.com/decred/decred-release/releases/tag/v0.8.0
all the various binaries except for dcrinstall:https://github.com/decred/decred-binaries/releases/tag/v0.8.0
NOTE: All Windows binaries only support Windows 7 and newer.
A lot has happened in the past several weeks since the 0.7.0 release of Decred. On the valuation front, the exchange rate has gone up substantially from a low of approximately USD 0.43 on December 28th to an all-time-high of USD 3.31 on February 5th, which has since settled around USD 2.50. The number of downloads of binaries from GitHub for the 0.7.0 release has gone up by a factor of 5 or more, and we have a substantially larger number of users in Slack and other chat channels. This substantial improvement in valuation, exposure and community engagement is due mainly to our recent work with several marketing contractors via the dev org, DHG, which I will say more about below.
Beyond matters related to Decred's valuation, there has been substantial progress on several of our software projects and with their documentation. The bulk of the code needed to enable hard fork voting has been completed, and it will be demonstrated live on testnet over the next few weeks, via a corresponding website that shows its progress. A substantial design overhaul has been completed during the past several months, which includes a new logo and changes to every project website. decrediton, the cross platform GUI, has made a huge amount of progress, going from an alpha project to a solid beta in a single release. Paymetheus, the native Windows wallet, now uses the new stakepool API integration to simplify setting up ticket buying with a stakepool. Several additions and updates have been made to the Decred documentation site by documentation contractors. More detailed descriptions of our progress can be found below.
Marketing, Documentation and Development Contractors
Per the recent 2017 Decred Roadmap, a deliverables-driven RFP process did not end up working out very well, so we have since changed our RFP process to be need-driven by domain. The dev org, DHG, has contracted 5 people to do marketing, 2 to do documentation and 3 to do development work. So far, this arrangement is working out very well and has led to substantial progress on the marketing and documentation fronts.
The marketing contractors have met with considerable success in increasing awareness, engagement and generally creating demand for decred. The puzzles created by @coin_artist have been particularly effective at drawing new users to our Slack channels and creating a general buzz about Decred. The efforts of @Daniel,@Emilio Mann, @Tivra and @Dyrk have served to grow our community, engage new users, create additional demand, support regional markets and broaden our social media support. Overall, this marketing work has been very successful to date.
The documentation and development contractors have started doing work more recently, so they haven't had as much time as the marketing contractors to get their deliverables flowing. @gratefulcheddar and@Shadowlance have been pushing out a lot of new and updated documentation over the past few weeks, and their output should become much more apparent over the next few months as they shore up the Decred documentation. @karamble has pushed out a lot of web development work in the past couple weeks, which has made an otherwise monolithic release much more manageable. @raedah has submitted several pull requests that improve dcrwallet's ticketbuyer, which should lead to improvements in the fee market for tickets. We expect the contributions from our documentation and development contractors to become more apparent in the coming months.
Substantial Design Update
A design overhaul of Decred was initiated in RFP-7 several months ago with @linnutee, and it is being brought to completion with the 0.8.0 release. The work includes a new logo, design updates for every project website and a branding package for other Decred-related projects to use. As you can imagine, updating every website the project maintains is a pretty daunting task, so beyond @linnutee and sander doing all the design and coding, we had @karambleintegrate and audit their work, and@Shadowlance contributed text copy in several places.
For those who are interested in the details of this work, I recommend you give@linnutee's recent Medium post a read.
Hard Fork Voting Demo
While it's certainly less tangible than a surge in the exchange rate, the core of Decred is based around decentralization as a process, and the first major step in that process, hard fork voting, has been prepared for a demo on testnet. Stakeholders will soon have the ability to vote on defined issues in dcrwallet, and this will allow Decred to episodically hard fork based on how its stakeholders vote. If 75% or more of the stakeholders vote “yes” for a given issue during a voting period, it will go into effect approximately 4 weeks later (on mainnet), and this includes “hard fork” consensus changes. Getting this code ready has been particularly challenging since it is all consensus-related code, which is notoriously unforgiving when it comes to bugs.
The testnet demo has an accompanying webpage that allows users to watch each step in the voting process occur. We chose to have a single issue for the demo, to increase the block size from 1 MiB to 1.25 MB, and we felt this was appropriate since the block size has been so contentious for Bitcoin. There are 3 stages to hard fork voting, which is reflected on the demo website, and this process draws from some parts of the BIP0009 soft fork process from Bitcoin. First, Proof-of-Work miners must update their dcrds to the latest release until a threshold percentage, 75% in the case of testnet, of blocks in a rolling window show the new block version in their header. Second, Proof-of-Stake miners, i.e. stakeholders, must update their voting wallets to the latest release of dcrwallet until a threshold percentage, 75% for testnet, of votes in blocks in a fixed window show the new vote version. At the end of the first interval with 75% or greater support for the new vote version, the stake version is incremented to the new version and a voting period begins. Once a voting period comes to an end, any issues that receive 75% or greater 'yes' votes are considered complete and will become active after a lock-in period. Issues that receive 75% or greater 'no' votes are considered dead and will not be voted on further. If an issue does not receive a 75% or greater vote either direction, the issue remains up for voting in future voting periods until an expiration time is reached. The process of upgrading PoW miners, PoS miners and voting will occur on an ongoing episodic basis and allow Decred's consensus code to evolve over time, according to the will of its stakeholders. We estimate that it will take 3-6 weeks for the testnet demo to have the block size increase voted in and for the hard fork to occur, so users can stop by and check the progress on the webpage.
Major GUI Wallet Progress
Until this release, only Windows users had the option of running a self-contained GUI wallet with Paymetheus, so we are pleased to announce that decrediton, a cross platform GUI wallet, is ready for use on Linux and OS X. decrediton now supports all the basic wallet functions and delivers most of what users would expect a GUI wallet: it is simple to install, has a graphical setup wizard, can restore from existing wallet seeds, and can send and receive payments. Considering that the 0.7.0 release of decrediton was in a very much “alpha” state, this release constitutes a huge leap forwards in terms of improved user experience.
Beyond the decrediton progress, Paymetheus has added support for a new stake pool integration API, which simplifies the process of using a stake pool with Paymetheus. Once a user has registered an account at a stake pool, they can copy an API key from their stake pool login into Paymetheus, and then Paymetheus handles the rest of the stake pool setup. Prior to adding this API to stake pools, the user would have to generate a pubkey, copy and paste it to the stakepool, hit a button, and then copy and paste the multisig address back into Paymetheus. We had originally wanted to make even signup for a stake pool possible via this API, however, this created an obvious Denial-of-Service vector and had to be removed. The new process for using a stake pool is much less error prone and avoids confusion on part of users, so it is a notable improvement.
By the next release, both Paymetheus and decrediton will support automatic ticket buying and have an interface for users to set their voting preferences. Between this release and the next, we will make minor releases that include these new features in the GUI wallets, so that users can test them and give us feedback. We will announce these minor releases and provide updated binaries to make it easy for everyone to test out the new features as they are added.
The file cmd/dcrinstall/pubkey.go contains the decred public key which is used to check the signed manifest in the release. You can compare the contents of this file to what you get from a keyserver to confirm that dcrinstaller is using the proper key.