Dev Update August

Nov 12, 2019PIVX Development Update – 2019 November Week 2

This update is supposed to cover the PIVX GitHub development for the past 1 month of October immediately following the previous October update. But may also cover some extra developments that happened beyond due to the time of this post.

Editor Comments 

Our devs have gone into turbo mode for 4.0! This update post just cannot do their tremendous amount of work any justice! It’s simply crazy how much work is being put into PIVX code to make it so much more robust, clean, stable, secure, fast, functional, and usable! Okay, going to try and calm down a bit…. Did I say the amount of work is nuts?!?! Okay, let’s try again….

As I was saying… PIVX core development is progressing extremely well with numerous new commits after thorough testing, along with our first public segregated testnet release that showcases the upcoming 4.0 wallet running on the improved Proof of Stake (PoS) network! 

I’m also hearing that the developers will significantly improve the masternode portion of the code to make it work better with staking & syncing. At the end of all this, expect to have an awesome 4.0 wallet that will set us up for an even better 2020!

News Highlights

Segregated Testnet with Cold Staking now ready for public testing!

Cold Staking (PR #955) is being put through its paces in a segregated testnet and now everyone can download the public testnet wallet to put it through its paces!

PIVX AMA on 4.0 with @Fuzzbawls 

PIVX core developer Fuzzbawls have recently hosted a live AMA session on Discord and have answered a ton of questions about the recent developments, and some upcoming ones also! We are also considering doing this more regularly so please keep a look out for an announcement in our social media channels.

Core wallet v3.4 Release Refresher

  • As a refresher for those who may have missed it, a mandatory PIVX wallet release v3.4.0 has been released on August 27, 2019, with a new Stake Modifier v2 (PR #983) plus other PoS hardening changes to prevent / eliminate stake grinding. If you are running an OLDER core wallet version than 3.4, make sure to upgrade to ensure your wallet is running on the correct network!
  • Although the majority of exchanges have been upgraded to 3.4, it is still advisable to make a small test transaction before making larger transactions when making wallet to wallet transfers just in case.
  • See detailed v3.4 release notes for a list of all changes & inclusions.

New PoS Time protocol v2

Core developer, random-zebra has been very busy working on a more robust Proof of Stake protocol for PIVX (PR #1002) with a host of improvements including difficulty algorithm changes, and removal of legacy PoW code engagement. 

We can expect more consistent block times, more secure network, less energy consumption, more low-end device friendly, and fairer block distribution once this is merged. A detailed write up about this change is expected from the core developers once they are ready.

Community Developer Contributions

We are seeing more and more contributions by our community developers, and this activity can now be tracked on our new Community Developer Contributions Project page within the PIVX GitHub! 

Complete GitHub Activity

(October 2, 2019 – November 1, 2019)

Excluding merges, 12 developers have pushed 177 commits to master and 315 commits to all branches. On master, 143 files have changed and there have been 6,097 additions and 2,366 deletions!

32 Pull requests merged (Oldest First)

15 Pull requests proposed by 5 people

4 Issues closed by 4 people

8 Issues created by 4 people

GitHub PR Highlights

  • PIVX-Project/PIVX (Newest First)

PR #1033 – [WIP][GUI][Model][Wallet] Cold staking UI. – submitted by core developer furszy is being reviewed / worked on. 

  • This adds the necessary GUI elements and backend connections for Cold Staking functionality into the next generation GUI included in 4.0.

PR #1002 – [WIP][PoS] Time Protocol v2 – submitted by core developer random.zebra is being reviewed / worked on. (Targeted for v4.0 release)

  • This is a major step forward in improving the current Proof of Stake performance in order to enable more consistent & predictable block times.

PR #992 – [Multisend][Wallet] Don’t send multiple multisend transactions for a stake that resulted – has been submitted by community developer CryptoDev-Project and is being reviewed / worked on.

  • This improves the Multisend handling during staking when UTXO that won the block reward is split, thus preventing multiple transfers during that occurrence.

PR #985 – [Wallet][RPC] Correct free tx selection and add user control – has been submitted by community developer CaveSpectre11 and is being reviewed / worked on.

  • This fixes and thus prevents very large free transactions being accepted into blocks, despite what the block creator sets the -blockminsize parameter to.

PR# 970 – [Wallet] Various transaction handling improvements – submitted by core developer Warrows is being reviewed / worked on.

  • This pull request is a happy melting pot of improvements regarding transactions handling with most being backports from bitcoin.
  • So far, there are more than 10 improvements included in this PR and the full list can be found in the initial PR notes.

PR #968 – [Staking] Add Multi-Split functionality to stake output splitting – has been submitted by community developer CaveSpectre11 and is being reviewed / worked on. (Targeted for v4.0 release)

  • This enhancement will make the staking inputs split into 2 or more outputs based on the stake split threshold instead of splitting in half.

PR #956 – [Core][Qt] Add HD Wallet support – submitted by community developer akshaynexus is being reviewed / worked on. (Targeted for v4.0 release)

  • This is a highly requested feature where it provides users an option to backup and restore the entire wallet (all associated addresses and their balances) using a multi-word seed phrase instead of more complex file-based or private-key methods.

PR #955 – [Core][Script][Wallet][RPC][Tests] Cold Staking – submitted by core developer random.zebra is being reviewed / worked on. (Targeted for v4.0 release)

  • This customized staking feature (name subject to change) allows a mutually agreed full-node online wallet to stake coins from an address that it has been given delegation to stake from. This provides extra security for stakers while still requiring a full node online wallet. More info can be found HERE

PR #954 – [GUI] [Model] New Wallet UI – submitted by core developer furszy has been merged. (Targeted for v4.0 release)

  • This is a brand new UI/UX wallet, designed in collaboration with Krubit UI and UX designers and written from scratch in Qt by core dev furszy and Krubit front-end developers. More info and a full demo video can be seen HERE
  • Public testnet release of the next generation wallet GUI has been released in the latest segregated testnet release.

PR #953 – [RPC] [Wallet] AutoCombineRewards fixes and Improvements – submitted by community developer CaveSpectre11 is being reviewed. (Targeted for v4.0 release)

  • This enhances the AutoCombineRewards function allowing the user to configure how often to run the scan, and the amount to combine each time it executes; as well as adding a new One Shot option that enables sweep on next block, and at wallet startup.

PR #936 – [zPIV] PublicCoinSpend v4 – Coin Randomness Schnorr Signature – submitted by core developer random.zebra is being reviewed. (Targeted for v4.0 release)

  • This advanced function will allow spending of legacy zPIV v1 (minted prior to 3.1 release) back to PIV. 

Major Development Targets

Q4 2019 – v4.0 Major Core Wallet Release

(Targets are subject to change of course)

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!