This development dispatch covers work completed since the Decred v0.0.5 release from February 26th, 2016. Since then, developers have merged 35 pull requests of code into 4 software repositories. During this period, a total of 96 commits occurred in these (and newly covered) repositories and represent modifications to the effect of 20,650 lines of code added to and 10,668 lines removed from the codebase. Included in the new repositories covered is Paymetheus - a native Windows wallet GUI for Decred. Finally, 2 requests for proposals (RFP) were closed and consultation with new developers is in progress to begin work on these deliverables (RFP-1 and RFP-5). A total of 3 RFPs remain open. Binaries: https://github.com/decred/decred-release/releases/tag/v0.0.6 dcrd Added consolidate command and response framework to the JSON RPC - enabling wallet to consolidate small UTXOs into a large UTXO (59-7570926) Fixed a copy-paste error in chainsvrcmds.go (63-e318312) Rewrote checkBlockForHiddenVotes to correctly regenerate the block template with the correct number of votes - would previously corrupt block templates by incorrectly inserting votes from other blocks (68-af863ab) Added spendable to listunspent results (69-38ff4bb) Exported ReadVarString and WriteVarString functions so they are available for callers to use (69-3a30ba7) Fixed a bug introduced with the fix for checkBlockForHiddenVotes (70-61dd0bc) Added new RPC handlers for getticketfee and setticketfee (71-c1420d9) Added getticketsvotebits batched command for wallet RPC (72-95b4e76) Added a new RPC function existsmempooltxs to the daemon to quickly check for the existence of transactions in the mempool (74-cd8ea2e) Fixed issues with documentation (75-b237418) Updated versioning (79-8f0d8f2) Credits: @ay-p, @ceejep, @davecgh, @jrick, jzbz dcrwallet Added consolidate command handling to the wallet JSON RPC (61-833ae9b) Added AppVeyor continuous integration (65-a2a1321) Added spendable field to listunspent results (65-eb25d88) Removed unnecessary address manager locks - allows the use of AccountName when iterating over all account numbers (65-c31dc63) Fixed retrieval of public key addresses from the address manager (65-6ee1f9b) Introduced additional network activity with the dcrd process to ensure that the network connection is not silently dropped (65-33d053c) Temporarily increased session RPC timeout (65-31d1526) Fixed wallet compile after SigCache addition to NewEngine (65-cef0021) Fixed signmessage RPC (65-4f6edce) Updated hdkeychain NewMaster API change (65-6ba74e6) Added the chain subsystem logger to dcrrpcclient (65-52b8e19) Separated out default ports and utility functions for reuse by other tools (65-b0566e0) Fixed RPC listen addresses to correctly handle IPv6 zones (65-6af96bf) Introduced a new RPC server using gRPC - the legacy RPC server remains the default (65-497ffc1) Fixed fee calculation for gettransaction (65-bb1102b) Fixed loader.CreateNewWallet to generate a random seed if a nil seed was passed (65-4c839ae) Fixed waddrmgr.IsError to avoid logging errors when trying to lock an already locked wallet (65-515cbc6) Fixed JSON-RPC server to return WWW-Authenticate header the same way dcrd does if it receives invalid credentials (65-aec660c) Changed datadir short option to be -b (65-fda2e14) Prevented server from returning an error when empty string are passed as parameters for transaction comments for the sendfrom, sendmany, and sendtoaddress RPCs (65-cc97e06) Fixed listtransactions results to set account field (65-b480a0a) Addressed an error case when creating a change address during the process of creating a new transaction - by now using the default account for change when spending outputs from an imported key (65-32ca193) Fixed gettransaction results to set account name (65-102cd55) Added option to prevent RPC server TLS key from ever being written to disk (65-567752e) Added information display about the wallet path if it exists (65-2808c4f) Use btcsuite vendored crypto repo (65-2806a15) Created results for each wallet.TransactionSummary output (65-da14596) Made walletpassphrase with timeout=0 never lock the wallet (65-d2e93f9) Followed specification for FundTransaction RPC (65-0a96453) Regenerated gRPC files from descriptor (65-b286d69) Added a way for gRPC API to set a change output script just before signing a transaction (65-8455454) Added VersionService to gRPC server to query server versions (65-620a3c6) Fixed a bug displaying the wrong number of votes in getstakeinfo (66-a6a8ce9) Added getstakeinfo online help (71-3fa0130) Added functionality for users to set the per kb fees for stake ticket purchasing (72-4f51acb) Changed voted in getstakeinfo to only return blockchain votes (73-daf40c4) Streamlined getting and setting of fees (74-ee276f6) Added new command getticketsvotebits to the legacy RPC to allow the caller to pass a list of tickets to the RPC and get a list of voteBits data in return (75-12ff153) Added wallet handling for getgenerate command (79-00b9840) Corrected TicketsForAddress to remove pruned tickets from the response (80-8ac528e) Prevented address counter from being reset when it should not (82-8213003) Fixed an issue with new wallet creation only displaying the hexadecimal and not the PGP word list version (84-a86b675) Fixed the unsafemainnet option so it only affects mainnet (86-0b35b98) Stopped uses of database before closing to prevent any database corruption issues that may happen during clean shutdown (87-9c9699f) Allowed newlines and extra spaces when entering seed during wallet creation (88-6c7e2d0) Added validation for the address provided to --ticketaddress (90-9f1b598) Fixed issues with dependencies (65-8999c13) and documentation (65-647e7fd, 65-c4abe02, 65-97963b4, 65-4171638, 65-f03556b, 89-a06e0d9) Updated versioning (65-5482fee, 65-b701fad, 78-d17a172, 92-3d845de) Credits: @ay-p, @ceejep, @chappjc, dajohi, @jcv, @jrick, Roasbeef, runeaune, wallclockbuilder dcrrpcclient Added a hook for getticketsvotebits in wallet to the RPC client (7-aada751) Added handling for the existsmempooltxs command for daemon (8-7181e59) Updated versioning (6-d3a8710) Credits: @ceejep, @jcv Paymetheus Fixed parsing of change output script if no change is needed (2-3044017) Added method to import seed when creating wallet (2-481c689) Used horizontal radio buttons across top (2-f480144) Removed RadioButton.GroupName since they all share the same parent (2-a60497d) Merged upstream branch (2-187dbe8) Improved error reporting for startup errors (3-ccbe725) Allowed wallet creation when either the hexadecimal or PGP word list encoding of the seed is entered in the backup confirmation dialog (3-8e82946) Updated confirmation dialog property source on enter (3-df30b91) Disabled rename account dialog if name is empty (3-677c69f) Used attachable properties for updating source on enter (3-0b9b3d7) Converted Paymetheus.Decred to a Portable Class Library (3-5177a2e) Updated NuGet dependencies (3-6eddfc2) Synced protobuf descriptor and regenerated (3-ae6d110, 3-f1b17da) Added client method to fetch BIP0044 internal address (3-9c1841e) Added warning about wallet theft during seed backup (3-810bd9a) Added check for RPC server version during client connect (3-f2507cf) Fixed issues with licensing (1-675350d, 2-ba8ca3c) Credits: @jrick RFPs Added e-mail for proposal submissions (11-654cb60) Credits: @jcv
Great update! Decred is progressing nicely. An idea for dcrwallet: getSStxAveragePrice --> --ticketmaxprice=getSStxAveragePrice This usage would smooth out volatility in SStx prices if it were widely used. Good idea? Possible? @ay-p, @ceejep, @chappjc, @jcv, @jrick
I'm running v0.0.5 on aws, successfully and smoothly stake mining. Do I need to update if I'm happy with how things are running now? In either case, how should one go about performing the update without interfering with staked tickets? I'm thinking: 1. Shut down running instances of dcrd and wallet. 2. Move files to "old" folder. 3. Download new versions. 4. Start up, executing same commands as prior for stake mining. Let me know if this procedure seems appropriate? I'm assuming the new files will know my wallet address, ticket status, etc. automatically. If not, would I just restore wallet from seed in the new wallet? Thank you for the support and another considerable update!
Yeah that works for me. To keep down time as little as possible, i either use .bat or enter all necessary commands and then execute them one by one after shutting down old command windows using ctrl+C. takes less than 30 seconds. All your data is in appdata/local/dcrd & appdata/local/dcrwallet folders so new exe will find it w/o problem. It has nothing to do with old exe files.
Let me preface this with the fact that I am not an expert. If we keep the seed offline and redundantly secured, then why would we need a wallet backup feature? Isn't that sufficient?
I am not sure about that, that might keep your addresses intact but people had missing tickets until they copied the wallet file itself.
Can't we just copy the APPDATA Dcrwallet folder to a backup drive then? Then just copy paste and restore, if necessary?
Yup! Dcrd and Dcrwallet folders from appdata, I copied it to another machine starting PoS mining, everything worked smooth, not a problem.