PIVX Development Update
Week 2, July 2020
This update covers the PIVX GitHub development from week 1 of June 2020 through to week 1 of July 2020, in addition to any extra announcements or news provided by the core development team.
4.2 is Coming Soon! Testnet Imminent! It’s Huge!
Hot on the heels of our last unscheduled but much needed wallet update, PIVX core development team is already finalizing the release of the major 4.2 core wallet for this quarter that includes 630+ new commits over the current 4.1.1 wallet!
It has just been branched off in GitHub which means that it’s pretty much ready!
Full details of this upcoming wallet will be included in its release notes once it’s out, but to name bomb just a few of its improvements that will be included: Memory pool limiting, Benchmarking Framework, New Accounting API, GUI Improvements, RPC Improvements, and more!
Note that 4.2 update is NOT mandatory. So you can keep using 4.1.1. However, as always, we recommend updating to the latest wallet to benefit from all the new enhancements as well as performance and stability improvements.
So things are progressing really well, and even quicker than anticipated with the Testnet 4.2 wallet expected to be released this week for everyone to try out. We hope to have as many people give the new wallet a try and report back any findings and/or general feedback in either GitHub or Discord.
With all these good progress, the demand for PIVX looks to be increasing with over 100 new masternodes getting added to our network just in the past 7 days!
As for some much demanded new privacy protocol development news, what I heard from the fairies is that the integration of the new PIVX privacy protocol, Sapling, has progressed further with it hitting some key development milestones (running on regtest!).
So yes, the future of PIVX looks brighter than ever, and is poised to once again become one of the most advanced privacy coins on the planet. Spread the news!
Major Recent Development Highlights & Reminders
PIVX Core Wallet 4.1.1 Hotfix Release – MANDATORY UPDATE
A mandatory PIVX core wallet 4.1.1 update was released on May 31st 202 and the protocol bump cut-over successfully occurred on Friday, June 5, 2020 9:00:00 PM GMT.
If you are currently running 4.1.0 or older, you must upgrade NOW and then make sure that you are on the right chain by comparing your latest block / hash to the block explorers. If you need further assistance on this matter, please join our discord!
Convert your zPIV back to PIV ASAP!
PublicCoinSpend v4 (PR #936) function has been incorporated into the 4.x wallet since January 2020. So it is now possible for anyone with any version of zPIV to spend them back as PIV. However, as per the recent Road to 5.0 announcement, the support for zPIV will cease once 5.0 is released.
So we urge everyone to convert your zPIV back to PIV ASAP and request assistance in PIVX Discord #support channel if you run into any issues or simply have questions.
Complete GitHub Activity
(June 9, 2020 – July 9, 2020)
Excluding merges, 25 authors have pushed 235 commits to master and 235 commits to all branches. On master, 202 files have changed and there have been 12,160 additions and 8,468 deletions.
55 Pull requests merged
- #1740 [GUI] Periodic make translate
- #1732 [GUI] Better start single MN error description.
- #1731 [RPC][Wallet] Deprecate internal account system
- #1737 [GUI] Replace more deprecated Qt methods
- #1734 [Wallet][BUG] fix detection of wallet conflicts in CWallet::AddToWallet
- #1713 [Refactor] zerocoin code moved from wallet.cpp to wallet_zerocoin.cpp
- #1719 [Cleanup] remove masternode broadcast from CActiveMasternode class
- #1059 [UI] Improve staking chart workflow
- #1728 IsInitialBlockDownload: usually avoid locking
- #1708 [BUG][GUI] Non-static coinControl object in CoinControlDialogs
- #1722 Unused methods cleanup
- #1707 RPC & Mempool back ports.
- #1679 Prepare for non-Base58 addresses [Step 3]
- #1729 [Core] Add checkpoints for PIVX v4.1.1 enforcement
- #1724 [GUI] Return early in pollBalanceChanged
- #1669 Better sigcache implementation (CuckooCache)
- #1702 [RPC] Table registration update and wallet table decoupled.
- #1718 [Trivial] Spelling Error
- #1623 [GUI][Trivial] Change Custom fee amount when Recommended fee is selected
- #1704 [Net] Pre-requirements for network encapsulation
- #1698 [Wallet] Masternodes start performance boost
- #1689 [Cleanup] Small main.cpp cleanup
- #1715 [GUI][Trivial] Update settingsfaqwidget.ui
- #1705 [Doc] Add/Update some release notes for 4.2
- #1663 [Wallet][RPC] FundTransaction – fundrawtransaction
- #1677 Prepare for non-Base58 addresses [Step 2]
- #1692 [Cleanup] Don’t sign MESS_VER_STRMESS network msgs anymore
- #1701 [Tools] logprint-scanner for error() and strprintf()
- #1693 Upstream scripts back ports [Step 1]
- #1690 [BUG][GUI] check for available “unlocked” balance in prepareTransaction
- #1676 [Backport] Base58 performance improvements
- #1695 [Wallet] Abandon tx in CommitTransaction if ATMP fails
- #1710 [Depends] Update dependency fallback URL
- #1699 [GUI] Fix dashboard txs list blinking issue
- #1687 [Refactor] Network upgrades management cleanup
- #1688 [GUI] TopBar navigation (sync/peers)
- #1670 [Refactoring] CValidationState logging
- #1697 [BUG] Fix mempool entry priority
- #1696 [BUG][GUI] Restore message() connection for ColdStakingWidget
- #1668 [Backport] Make sigcache faster, more efficient, larger
- #1612 [GUI] CoinControlDialog fix SelectAll / UnselectAll
- #1674 Remove unused MultiSigScriptSet typedef and member
- #1598 [GUI] Split “Delegators” address type in the table model
- #1653 [GUI] Reuse collateral UTXOs in MnWizard
- #1665 New upgrade structure.
- #1673 [Core] Separate Consensus CheckTxInputs and GetSpendHeight in CheckInputs
- #1678 [GUI][Model] Remove zerocoin methods.
- #1646 [Net] Turn net structures into dumb storage classes
- #1631 [Miner] Remove 2017 invalid outputs check
- #1683 [GUI] Add missing QPainterPath include
- #1672 [Bug] removed “dseg” message support re-introduced.
- #1647 [Core] MemPool package tracking and limits
- #1684 [Travis] Bump macOS CMake target image
- #1657 [GUI][Model] Remove unneeded lock in checkBalanceChanged
- #1681 [Build] Set complete cpp/cxx flags for bench_pivx binary
14 Pull requests proposed
- #1694 [Backport] Test LowS in standardness, removes nuisance malleability vector
- #1700 Move coinbase & coinstake to P2PKH
- #1703 [Build] Require minimum boost version 1.57.0
- #1709 Peer time offset fast unit test instead of slow functional one.
- #1717 [Wallet] AddToWallet split in AddToWallet and LoadToWallet
- #1720 [RPC] Register calls where they are defined
- #1721 Reduce cs_main locks during ConnectTip/SyncWithWallets
- #1725 Back port: mempool score index.
- #1727 Miner code reworked from upstream 6898
- #1733 Move zerocoin validation to its own legacy file.
- #1735 Validation: DisconnectBlock updates.
- #1736 [Cleanup] Transaction primitive unused methods cleanup.
- #1738 [Build] Update leveldb to 1.22+
- #1739 CBlockUndo WriteTodisk & ReadFromDisk moved to standalone functions.
8 Issues closed
- #1220 Pivx’ Linux Snap unable to switch Datadir – add removable-media interface
- #1613 Cannot install 4.1.0 on MacOS 10.13.6
- #1632 missing Zpiv in my 4.1 wallet
- #1680 Cross compiling for macOS, complains the files are damaged.
- #1037 Improve staking chart workflow
- #1609 [GUI][Cold Staking] Oddities with Cold Staking Coin Control
- #1600 [Bug] Transifex isn’t taking all translations properly
- #1685 [GUI][Feature Request] Go to Settings > Debug > Information when Sync/Peer icon is clicked
8 Issues created
- #1726 Up to CTransactionRef point back ports to do list.
- #1723 [Bug][GUI] Masternode Creation Wizard isn’t creating labels properly
- #1712 [GUI][Bug] Console output results are movable and sometimes is possible to type between the output results
- #1711 [GUI][Feature request] More fluid popup dialogs
- #1706 [Tracking] Remove wallet ‘account’ API
- #1686 [GUI][Feature Request] Sync status icon enhancements
- #1682 [RFC] Bump minimum required Boost version to 1.57.0
- #1675 Syncing fails with Cold Staking errors.
Major Development Targets
(subject to change and is never a complete list)
Q3 2020 – PIVX Core Wallet 4.2.0 Testnet Release
Q3 2020 – PIVX Core Wallet 4.2.0 GA Release
Q4 2020 – PIVX Core Wallet 5.0 release (with zk-SNARKs Privacy)
Please also check our roadmap page for more info on what else is planned.
Also, there are many other 2020 developments in the works at a project level such as a brand new website, logo refresh, and more. So 2020 is going to be a great year!
Want to contribute?
Anyone and everyone is welcome to contribute to our code on GitHub, and they will all go through the same process of multi-dev peer review and will be merged if it gets enough ACKs!
Language Translation Needed
We also welcome all translators who can assist in making our wallets multi-lingual! From now on, our core wallets will only include support for languages that are at least 80% translated on Transifex; so any extra assistance in this area would be greatly appreciated! https://www.transifex.com/pivx-project/