Dev Update August

Aug 21, 2019PIVX Development Update – 2019 August Week 3

This development update is an attempt to summarize all the core development work that is going on in the GitHub for the period covered (usually 2 weeks)

This should show the vast amount of work of our developers that many may not realize is happening each and every day. Do note that this doesn’t just cover the work by the PIVX core developers but will also highlight all community / open developers that contribute to the code base. If you think you can help out either as a hobby or full time, jump right in! It’s open source after all. 

GitHub Activity

(past 3 weeks – sorted by number – master commits have bolded titles)

* Please note that this update may not include every work as it may simply have been missed or as they are worked on private repositories etc.

PIVX-Project/PIVX

PR #643 – [Crypto] Use stronger rand for key generation – submitted by core developer warrows is being reviewed / worked on.
PR #915 – Modify GetNextWorkRequired to set Target Limit correctly – submitted by community developer CaveSpectre11 has been committed to master.
PR #936 – [zPIV] PublicCoinSpend v4 – Coin Randomness Schnorr Signature – submitted by core developer random.zebra is being reviewed / worked on.
– This advanced function will allow spending of legacy zPIV v1 (minted prior to 3.1 release) back to PIV.

PR #939 – [Wallet] Remove (explicitly) unused tx comparator – submitted by core developer Warrows has been committed to master
PR #941 – [Refactor] Move ThreadStakeMinter out of net.cpp – submitted by core developer Fuzzbawls has been committed to master.
PR #947 – [Scripts] Sync github-merge.py with upstream – is being reviewed / worked on.
PR #948 – [Docs] Clean and re-structure the gitian-keys directory – submitted by core developer Fuzzbawls has been committed to master.
PR #950 – [Qt] [RPC] Fixup budget proposal URLs that are lacking scheme – has been submitted by community developer CaveSpectre11 has been committed to master.
PR #952 – [Minting] Prevent potential negative out values during stake splitting – has been submitted by community developer CaveSpectre11 has been committed to master.

PR #953 – [RPC] [Wallet] AutoCombineRewards fixes and Improvements – submitted by community developer CaveSpectre11 is being reviewed / worked on.
– 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 #954 – [GUI] [Model] New Wallet UI – submitted by core developer furszy is being reviewed / worked on.
– 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. It is targeted to replace the current GUI starting from v4.0.0 release. More info and a full demo video can be seen HERE

PR #955 – [Core][Script][Wallet][RPC][Tests] Cold Staking – submitted by core developer random.zebra is being reviewed / worked on.
– 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 #956 – [Core][Qt] Add HD Wallet support – submitted by community developer akshaynexus is being reviewed / worked on.
– 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 #957 – [Build] Add info about ‘–with-unsupported-ssl’ – submitted by core developer Warrows has been merged to master.
PR #958 – [Staking] Modify miner and staking thread for efficiency – submitted by community developer CaveSpectre11 has been committed to master.
PR #963 – [WIP][RPC] Add PoS support to transaction utilities – submitted by community developer CaveSpectre11 is being reviewed / worked on.
PR #964 – [Refactor] Combine parameter checking of budget commands – submitted by community developer CaveSpectre11 has been committed to master.
PR #965 – [RPC] Correct issues with budget commands – submitted by community developer CaveSpectre11 has been committed to master.
PR #968 – [Staking] Add Multi-Split functionality to stake output splitting – has been submitted by community developer CaveSpectre11 and is being reviewed / worked on.
– This enhancement will make the staking inputs split into 2 or more outputs based on the stake split threshold instead of splitting in half only.

PR #970 – [Wallet] Various transaction handling improvements – submitted by core developer Warrows is being reviewed / worked on.
PR #971 – [Wallet][zPIV] zc public spend parse crash in wallet startup fixed – submitted by core developer furszy has been committed to master.
PR #974 – [Tests] Add Spork functional test and update RegTest spork key – submitted by core developer random.zebra has been committed to master.
PR #975 – [Consensus] Define SPORK_17 – submitted by core developer random.zebra is being reviewed / worked on.
PR #976 – [Refactor] Fix stake age checks for regtest – submitted by core developer random.zebra has been committed to master.
PR #977 – [Build] CMake Improvements –  submitted by core developer Fuzzbawls is being reviewed / worked on.
PR #978 – [Refactor] Fix a few compile time warnings – submitted by core developer Warrows is being reviewed / worked on.
PR #979 – [Compilation] Pass caught exceptions by reference – submitted by core developer Warrows is being reviewed / worked on.
PR #980 – [RPC] [Wallet] Remove Bitcoin Core 0.8 block hard-linking – submitted by community developer JSKitty has been committed to master.
PR #981 – [Tests] Add RPC budget regression tests –  submitted by core developer Fuzzbawls is being reviewed / worked on.
PR #982 – [Miner] Don’t create new keys when generating PoS blocks – submitted by core developer random.zebra has been committed to master.
PR #983 – [WIP] – [PoS] Stake Modifier V2 – submitted by core developer random.zebra is being reviewed / worked on.
PR #985 – [Wallet][RPC] Correct free tx selection and add user control – submitted by community developer CaveSpectre11 is being reviewed / worked on.

PIVX-Project/PIVX-iOS

PR #19 – [Build] Add basic TravisCI support – has been committed to master.
PR #20 – [Tools] Add github-merge.py script – has been committed to master.

Issues / Enhancements

Issue #510 – Orphaned transaction time mismatch – has been fixed/closed.
Issue #969 – Wallet startup taking too long (Review) – has been opened.
Issue #973 – [Minting] Block Value calculations are done on the wrong block – has been submitted by community developer CaveSpectre11 based on PR #814 by Carbon-Zero

Editor Comments

My attempt at posting nice & short dev updates with only a handful of GitHub activity every 2 weeks was a complete failure as the amount of recent development activities both by core and community developers for PIVX has been just insane and my off-line life got in the way of pushing one last week. But it was a good thing in that I now have more update to write about. 

  • Public testnet release of the next generation 4.0 wallet GUI got released last week! This new public beta basically gives you first-hand access to the new UI revamp where you can play and/or break things! So we encourage everyone to give it a whirl, and report any bugs if you find any. If you aren’t able to try it out for now, you can watch the video walk-through of the new wallet to see how great it looks.
  • Cold Staking (PR #955) feature is also shaping up nicely with some serious work done by multiple devs in the past few weeks and has progressed to internal testing on a segregated testnet network. This feature is definitely worth looking forward to as it will enable a more secure way to stake PIVX, where you no longer have to have all your coins stored on an online wallet 24/7 to be able to stake.
    ­
  • There has been some articles floating about saying PIVX has a PoS vulnerability, is being attacked, and that PIVX fix #803 hasn’t fixed it. Well, it was fixed back then and is not related to the “fake stake” as claimed. PIVX core developers are aware of the suspicious staking activities and a public statement was made in PIVX discord’s #important-updates channel last week as below and more update is expected soon.

So the past few weeks has been another action-packed period for PIVX with a ton of solid open source development, attention of the blockchain community, and even media! With more innovative wallet updates just around the corner, and a new beginning to PIVX is certainly not going anywhere, and will continue to be one of the most well-developed cryptocurrency that aims to fulfill its manifesto

Major Development Targets

Q3 2019 – Updated core wallet release
Q4 2019 – Updated core wallet release
Q4 2019 – Next generation privacy protocol reveal

Note: Targets are subject to change and not set in stone

walletsTechUpdates