Editor Comments
February was a very big month for PIVX. In addition to all the usual magnificent amount of work that is put in daily by our developers, a major news was announced right at end of Feb, new Privacy!
That’s right. It was just recently announced that PIVX will implement a Groth16 zk-SNARKs zero-knowledge-proof (ZKP) based privacy by integrating a customized version of the Sapling protocol originally created by the Electric Coin Company. That’s a mouthful but what it essentially means is that once implemented, PIVX will have one of the best privacy protocols and cryptographic proofs in the cryptocurrency market! We may also become the very first full-time Proof of Stake coin to have such a level of ZKP privacy integrated onto our blockchain. This while ensuring the usage of cryptographic proof and construct that has had high-visibility mainnet run-time and long-term cryptographic community scrutiny, in order to maintain the safety and reliability of our blockchain’s integrity. For more info on our next privacy plan, please check out the Press Release and the Road to 5.0 technical articles.
To increase the awareness of our development work, we added a new Discord channel called #github-updates recently, and this channel pipes all PIVX GitHub development activities on to the channel as a feed through a bot. It is a great channel to keep tabs on, and soon you will also be able to really see and get a grasp of how much work is being done behind the scenes by our awesome developers. Join the PIVX Discord server if you haven’t yet joined!
Lastly but not the least, we have a soft-target for releasing version 4.1 wallet this month. This is a big release with many code cleanups, changes, and GUI enhancements, and will soon go under testing. Depending on the testing, it may or may not make the cut for this month. But do know that it is coming along nicely and will be released as soon as it’s ready!
Of course, in usual PIVX fashion, there has also been a non-stop of development work put into our code for increased stability & performance, improved staking efficiency, user experience enhancements, bug fixes, and much much more!
Recent Development Highlights & Reminders
All Zerocoins are now spendable! Convert them now!
PublicCoinSpend v4 (PR #936) function has been incorporated into 4.x wallet and so it is now possible for anyone with any version of zPIV to spend them back as PIV. As per the recent announcement, the support for zPIV as we know it will cease once 5.0 (Sapling Update) is released.
So we urge everyone to convert their zPIV into PIV as soon as possible and request assistance in PIVX Discord #support channel if you run into any issues or simply have questions.
Latest Wallet Release – 4.0.2
4.0.2 is currently the latest version of the core wallet and includes numerous enhancements and fixes over the previous 4.0.x versions. It is not mandatory to update if you are running 4.0 or 4.0.1 but as always, the latest version of the wallet is recommended.
Note: If you are still running an older 2.x or 3.x wallet, you MUST update to the 4.0.2 wallet and ensure you are in sync with the blockchain as the old wallet is NOT compatible with the new wallet’s chain.
Cold Staking is now Active!
Cold Staking (PR #955) is now active in mainnet so all users are now able to cold stake their coins if the required steps have been executed. We have created a basic how-to guide here. Also, some non-custodial (thus safe) cold staking services have started popping up so that is another option if you feel comfortable with their service levels.
New PoS Time protocol v2 now enabled
A more robust Proof of Stake protocol for PIVX (PR #1002) has also been activated in the network that includes a host of improvements including difficulty algorithm changes, and removal of legacy PoW code engagement.
What this means is that we now have more consistent block times, more secure network, less energy consumption, more low-end device friendly, and fairer block reward distribution.
Staking Split Threshold Change
Currently, the multi-splitter of the 4.0.x wallet auto-splits any staked UTXO into multiple of 2000 unless manually changed. (for staked UTXO that is greater in size than 4000 PIV) However, in order to stabilize our network even further and also provide potentially more efficient staking, it will be changed to 500 starting from 4.1 wallet.
Upcoming PR Highlights
PR #1327 – [Core][Qt] HD Wallet v2 – submitted by core developer furszy is being actively reviewed / worked on.
- This is a highly anticipated update that will implement BIP44 derivation path in order to allow deterministic generation of addresses for the PIVX wallet’s database. This means that any addresses generated with the new HD master seed will not get lost in any of its future backups, ensuring that no addresses and their associated private keys to get lost when restoring a wallet backup that has either been HD upgraded or backed up after the wallet update with HD wallet support.
Complete GitHub Activity
(February 2, 2020 – February 6, 2019)
Excluding merges, 9 authors have pushed 107 commits to master and 107 commits to all branches. On master, 169+ files have changed and there have been 4,017+ additions and 7,278+ deletions.
34 Pull requests merged by 5 people
- #1377 [Trivial] Fix typo in settingsbittoolwidget.cpp
- #1363 [Net] Banlist updates
- #1361 [GUI] Dashboard, include owner cold stakes in the chart.
- #1337 Sync upgrade, part 3
- #1360 [Net] Split DNS resolving functionality out of net structures
- #1336 Sync Upgrades, part 2.
- #1359 [Chain][Bug] Fix mapZerocoinSupply recalculation
- #1357 [Qt] Replace deprecated Qt methods
- #1356 [Wallet][GUI] Set default stake-split threshold to 500
- #1345 [Wallet][RPC][GUI] nStakeSplitThreshold as CAmount
- #1344 [Refactor] ChainParams::consensus – Part 2
- #1342 [Refactor] Move zerocoin checks out of main
- #1335 Inlining sync.cpp with latest upstream, first step.
- #1354 [Trivial] Minor showed amount fix
- #1351 [Build] Bump minimum required Qt version to 5.5.1
- #1338 [Core] CBlockIndex cleanup – Bump client version to 4.0.99.1
- #1352 [Cleanup] Remove unused blockexplorer GUI files
- #1341 [Refactor] ChainParams::consensus – Part 1
- #1343 [Bug] nStakeSplitThreshold: division by zero
- #1328 [Refactor] Introduce Consensus namespace
- #1323 [Qt] Hide zPIV balances when they are zero
- #1306 [GUI] Hide privacy widget when the wallet has no zPIV balance
- #1339 [GUI] Tor topbar icon status.
- #1340 [Cleanup] Remove MineBlocksOnDemand function in chainparams
- #1326 [zPIV][Cleanup] Zerocoin Cleanup 6: Remove zerocoin mint checks
- #1332 [GUI] Do not update the GUI so often when reindex/import is being executed.
- #1249 [Script] Optimize and Cleanup CScript::FindAndDelete
- #1333 [Backport] Wait locking for genesis connection.
- #1324 [Build] Remove Windows 32 bit build.
- #1331 [Core] CheckColdStakeFreeOutput: skip SPORK checks if mnsync incomplete
- #1322 [zPIV][Cleanup] Zerocoin Cleanup 5: further main.cpp cleaning
- #1312 [Tests] Use V2 stake modifiers on regtest
- #1330 [Cleanup] Remove stale UNITTEST network
- #1321 [RPC][Tests] Don’t throw when generate doesn’t create all blocks (PoS)
- #1325 Add WITH_LOCK macro: run code while locking a mutex.
- #1314 [zPIV][Cleanup] Zerocoin Cleanup 4: further wallet cleaning
- #1307 [Net] Do not launch the clock warning dialog like crazy.
- #1299 [Trivial][Regtest][RPC] generate call failing properly when the wallet is locked
- #1297 [GUI] Restore address list when switching panes in CSwidget
- #1293 [zPIV][Cleanup] Zerocoin Cleanup 3: remove old ZK proofs
- #1320 [Refactor] Move transaction checks out to consensus/tx_verify.cpp
- #1300 [Wallet] Add function CMerkleTx::IsInMainChainImmature
13 Pull requests proposed by 4 people
- #1327 HD Wallet – v2.
- #1329 Block and network dead code removal.
- #1334 [WIP] Optimize reindex process
- #1336 Sync Upgrades, part 2.
- #1337 Sync upgrade, part 3
- #1353 [GUI] Export csv files.
- #1357 [Qt] Replace deprecated Qt methods
- #1358 [Build] Cleanup Qt m4 file
- #1359 [Chain][Bug] Fix mapZerocoinSupply recalculation
- #1360 [Net] Split DNS resolving functionality out of net structures
- #1361 [GUI] Dashboard, include owner cold stakes in the chart.
- #1362 [WIP][GUI] Include MN Rewards in the dashboard chart.
- #1363 [Net] Banlist updates
9 Issues closed by 2 people
- #1370 [GUI][Feature request] Full time expansion of wallet topbar icons
- #1350 [RFC] Lower default value for nStakeSplitThreshold
- #1292 [RFC] Bump Minimum Qt Version to 5.5
- #1315 [RFC] Stop shipping 32-bit binaries.
- #1309 [Tests] Introduce stake modifier on RegTest
- #1296 [GUI][Nit] Cold Staking Address list doesn’t repopulate
- #883 Linux mint 19 build instructions
- #670 Debian version for gitian build
- #615 1366×768 resolution usability on Gnome Debian 9
5 Issues created by 4 people
- #1355 [Feature request] Change automatic backup file name creation
- #1349 [Feature request] Don’t spent Cold Stake delegations if there are available (and non-staking) coins in wallet
- #1348 [RPC] masternodecurrent != getmasternodewinners
- #1347 [GUI][Cold Staking] Re-spends display strange in the Qt wallet.
- #1346 [GUI] Transaction date issue
Major Development Targets
(subject to change and is never a complete list)
Q2 2020 – PIVX Core Wallet 4.1 release
Q4 2020 – PIVX Privacy Integration
Want to contribute?
Anyone and everyone is welcome to contribute to our code, as they will all go through the same process of developer peer review and will be merged if it gets enough ACKs!