Skip 4.2.1 >>> Straight to 4.3.0!
Great news! Instead of releasing a minor 4.2.1 update after the successful 4.2.1rc1 testing, the core development team has decided that it was best to skip that and go straight to a major in-family 4.3 release in order to reduce the number of releases.
This is great news as it means that we will end up getting a wallet with over 600+ new code commits over 4.2 pretty soon!
So what does 4.3.0 bring to the table?
- Faster Proof of Stake
- Half the time spent on the staking transactions + lower resource usage
- Faster P2P Network Sync
- Even shorter blockchain sync time & less resource requirement
- Tier 2 Network Layer Upgrade
- Significant improvements to the Masternode code has begun
- New Testing Suite
- Regtest support and functional test coverage on the tier 2 network
- More Stability & Performance improvements
- Through better shared memory access management
As of writing, 4.3 has been branched off in GitHub with 100% complete 4.3 milestone, and the 4.3.0rc1 tag is now up which means the public testing can now begin!
Expect the compiled binaries to appear in the next few days, and please report any bugs or issues to PIVX Discord’s #pivx_testnet channel and/or opening an issue directly in our GitHub.
Sapling Privacy Development Progress
PIVX privacy is coming back better than ever with the highly anticipated 5.0 release and the development of Sapling protocol is progressing well.
As per core developer furszy, PIVX Sapling implementation will be based on zk-SNARKs, thus sharing the same much-scrutinized underlying cryptographic library as Zcash. However, the node/wallet code architecture and the code implementation is not the same currently, and will be differing even further from their code with every extra step that we do. Through this, our node/wallet performance is expected to be noticeably better through more optimization and tighter integration with PIVX code.
Also, he has hinted that they are doing some other research in this area which may result in some new exciting developments!
Recent Development Highlights & Reminders
PIVX Core Wallet Fork Update – 4.1.0 OR OLDER IS NO LONGER SUPPORTED!
If you are currently running 4.1.0 or older, you must upgrade to 4.1.1 or higher NOW and then make sure that you are on the right chain by comparing your latest block / hash to the block explorers since 4.1.0 or older wallet is no longer valid on the current network. If you need further assistance on this matter, please join our discord! (You can go straight to 4.3 from 4.1.x or 4.2.x as well if you wish)
Do you have zPIV? Spend them ASAP! – 5.0 WILL REMOVE zPIV SUPPORT!
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 with zPIV to convert them 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
(August 10, 2020 – September 10, 2020)
1 Release published
47 Pull requests merged
- [MN] more cleanup over the tier two area.
#1825 - [Bug] Update budget manager best height even if mnSync is incomplete
#1843 - [Refactor] Masternode Budget first refactoring and cleanup
#1826 - [Miner] PoS process, calculate stakeable utxo only once.
#1818 - [Refactor] Remove GetInputAge and GetMasternodeInputAge
#1833 - [RPC] re introducing filtering args in getbalance
#1831 - [Net] Massive network refactoring and speedup
#1835 - cleanup: IsBlockValueValid refactored properly.
#1824 - [Wallet] Speedup coinstake creation removing redundancies.
#1817 - [RPC][BUG] Fix ActivateBestChain calls in reconsider(invalidate)block
#1828 - [Cleanup] CMasternodePing: removed null check comparison against a new object.
#1827 - [Miner] Unifying the disperse coinbase tx flow + further clean up.
#1816 - [Core] Per-txout model for chainstate database
#1801 - [Wallet] Cleanup getbalance methods that are not fulfilling any purpose.
#1832 - [Cleanup] removing unused GetMasternodeByRank method
#1821 - [Refactor] Dedicated logging category for masternode pings
#1822 - sporks: remove unneeded chainActive access.
#1820 - [Travis] Lower the build timeout for the functional tests job
#1823 - Wallet: wtx cached balances test coverage + getAvailableCredit problem fix.
#1810 - [CMake] Define MAC_OSX for cmake builds on macOS
#1813 - [P2P] Begin Network Encapsulation
#1812 - [Wallet][Refactoring] wallet/init refactoring backports
#1811 - masternode-budget tiny cleanup.
#1803 - [Wallet] Make nWalletDBUpdated atomic to avoid a potential race
#1802 - [Core] Remove priority estimation
#1788 - [Wallet] add cacheable amounts for caching credit/debit values
#1757 - [Refactor] Cleanup access to chainActive in a few places
#1806 - [Miner] decouple zPIV duplicated serials checks from CreateNewBlock
#1809 - [Tests][Trivial] Remove mining in rpc_deprecated test
#1808 - [Core] Use std::unordered_{map,set} (C++11) instead of boost::unordered_*
#1804 - [Core] per-txout model preparation
#1773 - [Backport] 4.2.1 backports
#1807 - [Core] Safer modify new coins
#1793 - [Backport] mempool score index.
#1725 - Improve usage of fee estimation code
#1787 - [wallet] AvailableCoins code readability improved
#1760 - [Build] Use syslibs for nightly snap builds
#1794 - [BUG][GUI] Don’t append cold-stake records twice
#1805 - [Build] allow for empty RUST_TARGET in offline builds
#1792 - [Masternodes] Missing cs main locks in CalculateScore and GetMasternodeInputAge
#1791 - [P2P] Improve AlreadyHave
#1800 - [Model] TransactionRecord decomposeTransaction refactoring
#1776 - [Core] Use unordered_map for CCoinsMap and fix empty vectors in streams
#1795 - [Refactoring] Break circular dependency main ↔ txdb
#1797 - [Core] Remove UTXO cache entries when the tx they were added for is removed
#1799 - [BUG] Properly copy fCoinStake memeber between CTxInUndo and CCoins
#1796 - lock cs_main for Misbehaving
#1785 - [Wallet] AvailableCoins remove duplicated watchonly config argument.
#1759 - [wallet] List COutput solvability + wallet_ismine refactoring.
#1755 - [Core] ModifyNewCoins saves database lookups
#1777 - [Core] Alter assumptions in CCoinsViewCache::BatchWrite
#1774
13 Pull requests opened
- Sapling Integration: Chain + Wallet transaction manager.
#1798 - Sapling transaction primitive data.
#1814 - Make CBlock a vector of shared_ptr of CTransactions
#1815 - [wallet] Address book encapsulation.
#1819 - [WIP] Tier two network sync new architecture, regtest support + MN activation functional test.
#1829 - [Refactor] Emplace elements in maps and vectors
#1830 - CActiveMasternode::ManageStatus remove unneded GetAvailableBalance check
#1834 - Use Optional template in guiinterface.h
#1837 - [Wallet] Lock Sapling wallet functionality to regtest only for now.
#1841 - [Refactoring] Faster mn Check() – remove AcceptableInputs
#1842 - [Refactoring] Budget, round 2: review locks
#1844 - [Refactoring] Budget, round 3: split UpdateValid checks for proposals / finalized budgets
#1845 - [Build] Prepare for 4.3.0 release
#1847
5 Issues opened
- WSL Compile error
#1846 - Can’t compile on current OSX+brew
#1840 - [Feature request] Better user feedback when wallet lose connections or goes out of time sync
#1839 - [Bug] GUI isn’t updating changes using the setstakesplitthreshold console command
#1838 - [Feature Request] Set transaction fee to lowest possible instead of returning error message
#1836
Major Development Targets
(subject to change and is never a complete list)
Q3 2020 – PIVX Core Wallet 4.3 on testnet
Q3 2020 – PIVX Core Wallet 4.3 GA release
Q4 2020 – PIVX Core Wallet 5.0 on testnet
Q4 2020 – PIVX Core Wallet 5.0 GA release
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 one heck of 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!