# Dd-17: V0.5.0 (10/10/16) This development dispatch covers work completed since the Decred v0.4.0 release on September 06, 2016. Since then, developers have merged 102 pull requests into 9 repositories (see below for more detailed changes). Here are direct links to the Windows installers for Paymetheus: Paymetheus v0.5.0 64-bit Paymetheus v0.5.0 32-bit Installer: https://github.com/decred/decred-release/releases/tag/v0.5.1* Binaries: https://github.com/decred/decred-binaries/releases/tag/v0.5.1* * 0.5.1 was released with a dcrwallet bug fix for upgrading from very old wallet versions. Paymetheus users can safely use 0.5.0. All users are strongly encouraged to upgrade to this release. This release contains bugfixes and improvements to all of the decred tools (dcrd, dcrwallet, gominer, Copay, and Paymetheus). A new unified database for tickets and blocks has been added to dcrd. This provides significant performance and reliability improvements. gominer now supports NVIDIA GPUs using CUDA. gominer can now monitor temperatures and fan speeds on supported AMD or NVIDIA GPUs. The dcrd codebase has been modified to track the upstream btcd project more closely, allowing for easier copying of code between the two projects. Additional rpc tests have been added to dcrwallet (RFP-10). All changes since the last release are listed below. Paymetheus Fix quickstart for v0.4.0 (PR#172) Revert path hack to support https://github.com/decred/decred-windows-installer/issues/13 (PR#173) Do not ignore errors when starting dcrd. (PR#174) fix path, fixes #176 (PR#177) Bump for v0.5.0 (PR#183) Credits: @moo1337, @jrick, @jcv dcrwallet RFP-10 Milestone 2 (PR#336) Improve wallet atomicity. (PR#339) rpctest: fix appdata vs datadir issue (PR#342) Return previously-ignored errors in waddrmgr. (PR#346) Bump for v0.5.0 (PR#347) Fix namespace passed to wstakemgr API. (PR#348) Can't range over a slice being modified. (PR#349) Normalize addresses in all waddrmgr APIs. (PR#352) Update dcr* deps glide.lock for 0.5.0 (PR#356) Credits: @chappjc, @jrick, @jcv, @ay-p dcrd Do not error if dcrctl can't find dcrd.conf. (PR#339) Reconcile btcd and dcrd auto generated config file semantics (PR#341) Fix a bug with invalidating blocks in new DB and add more sanity checks (PR#343) dcrd: Fix another upgrade issue. (PR#346) add another checkpoint for mainnet and testnet (PR#348) Replace the ticket database with an efficient, atomic implementation (PR#349) Fix a bug indexing addrindex when blocks are invalidated (PR#353) Synchronize to the merging of btcd PR 666 (PR#358) Sync to btcd commit '5a1e77bd2dd6f5302a82d3d27b4e3a60526918b1' (PR#359) Merge in btcd commit 3b39edcaa1e867efc4223d95ca1496aaadf8eca3 (PR#360) travis: goclean (PR#361) deps: Update to latest commits. (PR#362) Merge in btcd commit e15d3008cfd59756db9570da9e47da6831313196 (PR#364) Merge in btcd commit b87723cd94ea11c29e22c4372ba4fe96886e7c83 (PR#366) Merge in btcd commit 644570487f379e9856ae4025181ecc6293d86711 (PR#367) Merge in btcd commit de4fb243899fc988cb3f320bbec9bee95966691b (PR#368) Merge in btcd commit 27c0f9f8d1af6a44423b03a2e4f03d4a87a1ac40 (PR#369) Merge in btcd commit e7ddaa468e5a699a9c21136e3d453ce38034b98a (PR#370) Merge in btcd commit b14032487f67ac140606e7b5f4cd4781243c62c7 (PR#371) Merge in btcd commit 1b234102147901738bb79b2edf2d803225a36d57 (PR#372) Merge in btcd commit 0d7f52660096c5a22f2cb95c102e0693f773a593 (PR#373) Merge in btcd commit f893558d782396f10c2fe49a8bc73deff4a36d14 (PR#374) Merge in btcd 7f07fb1093dd80105d36d61c8fb8a16f6e9d9b29 (PR#375) Merge in btcd commit dc83f4ee6a127038dc0238600bdc745d239cf8b1 (PR#376) Merge in btcd commit f68cd7422dd5d0e0d6002647305c1fd663aee77d (PR#377) Merge in btcd commit 5de5b7354ca458d6e7677d6b4629214d3f871b59 (PR#379) Merge in btcd commit 2adfb3b56acd280e84451e94dd0c06203eef9832 (PR#380) Merge in btcd commit 6229e3583505a82d4514b1efa86f910b78693825 (PR#381) Remove unused ErrBIP0030 (PR#385) Bump for v0.5.0 (PR#390) add more checkpoints for release (PR#396) Fix a bug for forced reorganizations (PR#392) blockchain: remove unnecessary check. (PR#400) Update dcr* deps for 0.5.0 (PR#401) Fix a bug reloading the blockchain (PR#402) Version the JSON-RPC API with semantic versioning. (PR#387) stake: Correct prng uint32 rollover. (PR#403) Improve the order of the context free tests (PR#404) Credits: @dhill, @moo1337, @jolan, @ay-p, @jcv, @ceejep, @davecgh, @jrick gominer Hook up travis (PR#) Print leading zeros in target difficulty. (PR#79) Initial support for cuda mining. (PR#81) Bump for v0.4.1 (PR#85) Small optimization for CUDA. (PR#88) adjust various headers so windows builds (PR#89) add result field so errors are unmarshaled properly (PR#90) gofmt (PR#91) fix cgo Go pointers issue (PR#92) move deviceListIndex increment back to the right spot (PR#93) Clean up some old or incorrect comments. (PR#95) use nvml to fetch fan and temperature information (PR#96) Fix the size of data copied from device. (PR#99) implement amdgpu sysfs support to fetch fan and temperature information (PR#100) fix using a device on the second OpenCL platform (PR#102) use a slice of submitIDs instead of a single submitID (PR#103) Jcv split (PR#105) implement ADL support to fetch fan/temperature information (PR#106) Implement CUDA on windows, Fixes #108 (PR#109) Remove some unused and unneeded code (PR#112) Remove unneeded word in INFO log line (PR#114) add automatic fan control to maintain a target temperature (PR#115) Improve cpu usage with CUDA. (PR#116) add some default Windows CFLAGS/LDFLAGS and remove unixy code (PR#117) Update sample config with all new options. (PR#119) add more Windows details and some general improvements (PR#120) Bump for v0.5.0 (PR#126) Credits: @jolan, @dhill, @jcv, @moo1337, @jrick dcrticketbuyer Add additional code to fix ticket left in window check (PR#53) purchase: handle updated balance in purchase window (PR#55) Bump for v0.5.0 (PR#61) Update dcr* deps for 0.5.0 (PR#65) Credits: javed-khan, @ay-p, @jcv dcrinstall remove last reference to webui (PR#59) Add -version flag (PR#61) don't need to copy directories anymore; fixes windows upgrade race (PR#62) Implement downloadonly flag. (PR#64) show output by default and add quiet option (PR#66) Bump version and defaults for v0.5.0 (PR#67) Credits: @moo1337, @jcv, @jolan Copay Update all logos and icons (PR#) Update so backup confirmation sorts properly and shows uppercased words (PR#44) Fix several places where the desktop version conflicts with upstream. (PR#45) Credits: @ay-p, @jcv 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. Important The Decred installer will only work on Windows 7 and above.
Upgrading to 0.5.1 without network downtime: ------------------------------------------- Due to the database optimizations that are included in the 0.5.0 release, it is required that you resync and rebuild the chain. This document serves as an instruction set for people that would like to reduce their downtime off the network. If you don't have any issues with your wallets being offline for approximately 1-2 hours then you may just upgrade to 0.5.0 and relaunch your binaries. But due to the nature of voting, it is important for PoS participants to have as little downtime as possible. 1) Download and extract the corresponding archive for your OS and architecture: https://github.com/decred/decred-binaries/releases/tag/v0.5.1 2) Once extracted: cd path/to/binaries 3) Now you will run another instance of dcrd in parallel with the currently running one. To do so cleanly you have to change some of the ports that dcrd uses for p2p and rpc connections. Here is an example command line with options: ./dcrd -u USER -P PASSWORD --listen=127.0.0.1:12345 --rpclisten=127.0.0.1:12346 As you can see from this example, we are using ports 12345 and 12346, you may use whichever ports you want as long as they are different than the dcrd mainnet defaults (9109, 9108) 4) This will begin the IBD for 0.5.0. Over a few different benchmarks (i7, 8GB RAM+, SSD) we've seen it take approximately 1 hr to complete. 5) Once you see it reach tip, you can ctrl-c to stop it. 6) Now you can stop your old version and then start your upgraded 0.5.0 bin and it should seamlessly grab the database that you previously synced.
Excellent, it appears the foundation has been laid for many great things to come. A huge thank you to all the devs who have worked so tirelessly on this project.
Some more tips I posted recently: https://spool.cc/2016/09/migrating-to-new-db/ Migrate carefully to avoid down time. I'd also suggest to lower process priority of the upgrading dcrd so your live dcrd doesn't lag. Although there's no need to change the appdata dir according to ay-p's instructions.
I've updated and sync'd the database to current block, deleted: Folder -- %LOCALAPPDATA%\dcrd\data\mainnet\blocks_leveldb File -- %LOCALAPPDATA%\dcrd\data\mainnet\blocks_leveldb.ver File -- %LOCALAPPDATA%\dcrd\data\mainnet\ticketdb.gob as stated here: https://forum.decred.org/threads/0-5-0-release-scheduled-for-monday-oct-10-2016.4035/#post-22228 I'm getting an error and can't access the wallet: Is there a way to fix this?
So there appears to be a bug in dcrwallet that does not allow certain situations to be upgraded to 0.5.0, If you upgraded from < 0.1.3 to anything >= 0.1.3 and have not reseeded since, you may experience this bug while starting up 0.5.0 dcrwallet: [ERR] DCRW: a database upgrade is required to upgrade wtxmgr from recorded version 1 to the latest version 2 If you encounter this we recommend you stay on the version you were previously on. We are preparing a release patch and it should be ready shortly.
Cold voting wallet updated. It was going smooth and fast, no issues. For now old DB will remain in hard disk for few days.
I added the .exe as trusted in the firewall software. That fixed the problem. dcrd.exe paymetheus.exe
Great, we're currently trying to optimize a few more hotspots that can hopefully decrease sync time even more.
Updated to v0.5.1 with no problem. Thanks to everyone involved for all the updates. Decred is moving forward, there is progress on v0.6.0 already. I think the download speed someone has is also a factor. The new database at this point is about 690MB to download (about 80 MB less than the old one). The sync is way faster and since there is no separate ticket database shutting down (Ctrl + c) the dcrd.exe is also faster. When dcrd completely synced + 1 new found block I stopped it and remove the old database folder and files as @davecgh give here. (Of course it's better if someone keep them as backup for sometime). Then I restart dcrd and let it sync to latest block + 1 new found block and start dcrwallet again with no problem. (+ 1 new found block obviously is not needed but ever since I follow this I've never had a syncing problem so it's just a precaution). A choice for the installation location on dcrinstall will be a nice add in the future. Although there is no problem moving files afterwards. I like the progress on Paymetheus and it's needed to attract more users but I still prefer using the CLI. I hope in the future even if it takes a lot of time for Paymetheus to become more than a wallet, something like a Decred center where you can do everything from its gui even starting gominer. I also don't use dcrticketbuyer, I prefer manually setting my fees. I think it's more useful for big PoS stakers. Although I don't PoW anymore due to electricity cost, I've tested gominer v0.5.0 solo mining on Windows 10 x64 and its performance on hashrate is perfect. I have a R9 380 and the OpenCL version without ADL using blake256-old.cl gives a hashrate with default intensity (auto?) of about 1.22 GH/s (it takes sometime for the hashrate to stabilize) which is identical to what I can get from cgminer. Using the default blake256.cl it gives about 1.08GH/s. The OpenCL with ADL works with no problem on showing GPU temperature and fan speed but the hashrate stabilize at lower values about 1.11 GH/s using blake256-old.cl and 950 MH/s using blake256.cl. The CPU usage is close to only 1%, way lower than cgminer and similar to sgminer. Terminating gominer with Ctrl-c sometimes hanged gominer.exe and I'd close it from task manager. I think adding some functionality similar to cgminer and sgminer will be good for the future of gominer. If gominer is stable with PoW pools and the CUDA version gives good hashrate with NVIDIA GPUs then I think it's time for PoW miners to switch to it. I'm looking forward to see what's next for Decred.
The --terminal issue is still there though. It needs LF. Is it bug reported? Edit: I've just heard, that you can use the v0.4.0 version of dcrctl. So it'll do for now.
thanks for the detailed feedback, zero. getting CUDA support in for gominer was way harder than we expected, especially on windows.
Just some feedback for gominer, I was not able to start due to missing cudart64_70.dll. I am running titan x pascal.with win 10 pro x64.
The runtimes should probably be included. I've uploaded the Windows redistributables: 64-bit: https://storage.googleapis.com/decred/shared/cudart64_70.7z 32-bit: https://storage.googleapis.com/decred/shared/cudart32_70.7z Although, if it were linked with cudart_static.llb instead of cudart.lib it wouldn't require the dll.
Need advice. Should I sell my decred? The falling value and market cap is worrying me. Should I quit and take out all I can or just sit and wait for the storm to pass.