This development dispatch covers work completed since the Decred v1.0.1 release on April 29th, 2017. Since then, developers have merged over 150 pull requests into 8 repositories. Here are direct links to the Paymetheus (Windows) GUI wallet installers: Paymetheus v1.0.4 64-bit Paymetheus v1.0.4 32-bit Decrediton (OSX, Linux) GUI wallet installers: Decrediton v1.0.3 Linux 64-bit Decrediton v1.0.3 OS X 64-bit dcrinstall cross-platform text-based CLI installers: dcrinstall v1.0.3 All platforms All the various binaries except for dcrinstall: All v1.0.3 binaries NOTE: All Windows binaries only support Windows 7 and newer. This patch release primarily focused on UI/UX changes to the Paymetheus and Decrediton GUIs with improvements in ticket purchasing, address generation and rescanning, and passphrase management. In the backend, dcrwallet received a number of database enhancements and performance boosts as well better error handling. Progress was also made in dcrd with better block and error handling. For those interested in the technical details of all changes that occurred in the codebase, please consult the release notes. The following changes may be of interest to users and are of note: Paymetheus It is no longer possible to set a public passphrase when creating a wallet, and if a public passphrase was set on an existing wallet, users are given the opportunity to remove the passphrase. This change was made because the public passphrase was not effective and became a nuisance to many users. The Purchase Tickets view is now simply called Tickets and has been slightly modified to provide a better user experience. The split transaction fee setting has been removed from this view and labels on some of the other settings have been modified to make the options more understandable. There is now a button in the Tickets view to create ticket revocations. If a stakepool fails to vote or the vote is not included in a block by miners, and the pool also does not issue a revocation transaction, users can create the revocations themselves directly from the GUI. When importing scripts, it is now possible to start a rescan for all additional relevant transactions involving the script. This means that stakepool users restoring from seed will no longer need to drop down to the command-line tooling to fix their wallets. With the recent increase in Decred's value, default transaction fees have been dropped from 0.01 DCR/kB to 0.001. Decrediton It is now possible to import scripts into a Decrediton wallet. This will help users who are restoring from seed or transitioning from another wallet and also use a stakepool see their balance properly. The ability to issue ticket revocations has been added to the ticket page for cases where a stakepool does not vote or the vote is not included in a block. Log files can now be viewed using the system file browser from a menu item to help users debug or see issues. The private passphrase on a wallet may now be changed from within Decrediton. The rescan and address discovery features have been improved to speed up import and startup and prevent possible balance confusion. Special Event This release also coincided with the first ever Decred Ask Me Anything (AMA) event on Reddit. If you missed the AMA, you are welcome to enjoy the archived thread of the DCR team and community with special guest and lead developer @davecgh on the Decred subreddit. Thank you to @Noah, pvtwarren, and @Tivra for helping put it together! Public Keys 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. Contributors As always, thank you to the great contributors who made this release possible: Arriu, @ay-p, @chappjc, @dhill, @jcv, @jolan, @jrick, and @peterzen.
Default fees also seen to be back to 0.001 DCR in this release now that all PoW miners have upgraded.
@jcv @davecgh Updated to v1.0.3 a while ago. One strange thing with imported account balance compared to v1.0.1: - On v1.0.1 in the imported account balance: lockedbytickets = total = votingauthority (all these 3 values were equal) - After the update on v1.0.3 in the imported account balance: votingauthority > (just a little bit higher than) > lockedbytickets > (just a little bit higher than) total. Is this normal? And what is "votingauthority"? Total (on v1.0.3 = as on v1.0.1) in the imported account remained the same as on version v1.0.1 after the update so I guess there is no problem, but is the above normal or should I better re-create wallet from seed? There weren't any new transactions or new ticket vote between the update so as to change anything on balances, also there weren't any differences on the default account balances.
A question about the ticketbuyer since I just started using it recently. I've been purchasing manually ever since the wallet stopped accepting the setticketmaxprice in the command line. I have this set in my dcrwallet.conf, and it was purchasing tickets, when the price went lower than "max price: 61.17408955", but I want it to be 70. dcrwallet.conf ---- [Ticket Buyer Options] ticketbuyer.maxpriceabsolute=70 ticketbuyer.feetargetscaling=1.1 ---- Output from wallet: ---- 21:58:13.974 2017-06-12 [INF] TKBY: Not buying because max price exceeded: (max price: 61.17408955 DCR, ticket price: 114.76080076 DCR) ---- So, it does purchase tickets, but not at the max price that I specify. Is there something I'm missing? Please help, thank you.
OK after the imported balance issue I describe above, I have another issue with ticketbuyer on dcrwallet with v1.0.3 where it doesn't buy any ticket with appropriate values and funds but it returns a message about how many ticket purchases remain instead. So I have to only buy tickets manually. I didn't have such a problem with v1.0.1.
OK am I the only one having problems with v1.0.3? Now I can't even buy tickets manually, I bought a ticket with ticketfee of 0.48 and for many blocks now that even the max mined fee is lower my ticket didn't get mined and it stuck in ownmempooltix. Not only that but getbalance is keep showing me "spendable": 0 although I have some spendable funds left on my default account. I hope this will be fixed after this ticket price round. rescanwallet didn't help. Since it seems I am the only one unlucky with v1.0.3 I'll re-seed my wallet later and if I'll keep having problems I'll go back to v.1.0.1. Can I keep dcrd v1.0.3 and only change dcrwallet back to v.1.0.1? If I go back to dcrd v1.0.1 do I have to re-download the blockchain or there are not going to be any backwards compatibility issues? Is there going to be a new release any time soon?
I haven't noticed any issues on 1.0.3 with manual ticket purchases or my balances. If you want to go back to v1.0.1, I think you will have to re-download the entire block chain. I tried to roll back to 1.0.1 after I first upgraded to 1.0.3 and the new gRPC server implementation caused issues with bringing my wallet online. There was something about the dcrd database getting updated to 1.0.3 that prevented the rollback to 1.0.1. I was too pressed for time to re-download the entire blockchain, so I made my wallet config work with 1.0.3.
Thanks for the answer. I really don't know what may broke my dcrwallet this time. Everything was running good for quite a long time and after a lot of updates. Maybe it's a value I give to a flag to start dcrwallet that doesn't work as good as v1.0.1 (I don't use .conf files). I'll just delete wallet.db and recreate wallet from seed and I hope that will fix my issues on v1.0.3. Then if my problems remain I'll go back to v1.0.1 from scratch and I'll just hope for a new release with no issues. By the way my wallet.db is about 128 MB, isn't that file size a bit strange? I remember I've had similar problems (tickets with mineable fees stuck to ownmempooltix for the whole ticket price round) on very old releases when I've tried to buy more than one ticket at once.
What flags do you give dcrwallet when you launch, and what's the error you're getting? No harm in re-creating your wallet from seed, unless you miss out on tickets your wallet is supposed to vote for. My wallet file is around 130 MB, so I guess that's normal. I haven't had issues purchasing tickets... I think the fees are working as expected. I would like to point out that when you set your ticket fee with -the --wallet setticketfee flag, the value you specify is the fee rate per kB, not the fee paid in DCR. A manual ticket purchase (no stake pool) is about 0.296 kB, so if you set a fee rate of 0.5 DCR, your fee paid is about 0.5 DCR/kB * 0.296 kB, which comes out to roughly 0.148 DCR. Perhaps that's where you're finding the issue? That happened to me for awhile. I thought I was setting the fee to 0.5 DCR with the --wallet setticketfee command, and I was wondering why my tickets weren't getting purchased when the average fee was much lower.
OK there is no problem with v1.0.3 on buying tickets automatically and most probably manually. It was my setup that wasn't working good with v1.0.3, I've changed some settings on dcrwallet and now it seems to work fine. The "issue" with imported balances remain if it is an issue since total seems to be correct. Maybe someone else that have imported account(using a stake pool) can tell me if the imported balances are unequal {votingauthority > (just a little bit higher than) > lockedbytickets > (just a little bit higher than) total} before any new ticket purchases prompts (tickets on ownmempooltix) because on v1.0.1 they were equal.
Ok, so I think I got the ticketbuyer configured correctly, although the max price showing in the wallet console seems to be way off the number I put in my dcrwallet.conf ---- [Ticket Buyer Options] ticketbuyer.maxpriceabsolute=70 ticketbuyer.feetargetscaling=1.1 ;ticketbuyer.balancetomaintainabsolute=10 ticketbuyer.dontwaitfortickets=1 ticketbuyer.minfee=0.01 ticketbuyer.maxfee=0.5 ---- I had to set the minfee and maxfee or it would not buy tickets. I'm still getting messages like this where max price is 55 and not the 70 that I specified: ---- 22:45:49.303 2017-06-17 [INF] TKBY: Not buying because max price exceeded: (max price: 55.36032269 DCR, ticket price: 102.30347741 DCR) ----
To overcome this you probably have to set ticketbuyer.maxpricerelative higher than the default like 1.5 and over.
@zero, This worked for me, thank you. My new settings: ---- [Ticket Buyer Options] ;ticketbuyer.balancetomaintainabsolute=10 ticketbuyer.maxpriceabsolute=70 ticketbuyer.dontwaitfortickets=1 ticketbuyer.feetargetscaling=1.1 ticketbuyer.minfee=0.01 ticketbuyer.maxfee=0.5 ticketbuyer.maxpricerelative=1.7 ----