Releases: PIVX-Project/PIVX
v3.0.4rc1
This Release will only be used for approx 24 hours, and should be used by those who want to help test.
v3.0.2
PIVX Core version 3.0.2 is now available from:
https://github.com/pivx-project/pivx/releases
This is a new minor-revision version release, including various bug fixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/pivx-project/pivx/issues
Recommended Update
PIVX Core v3.0.2 is a recommended, semi-mandatory update for all users. This release contains transaction creation bug fixes for zPIV spends, automint calculation adjustments, and other various updates/fixes.
zPIV spending requires this update.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).
Compatibility
PIVX Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later.
Microsoft ended support for Windows XP on April 8th, 2014,
No attempt is made to prevent installing or running the software on Windows XP, you
can still do so at your own risk but be aware that there are known instabilities and issues.
Please do not report issues about Windows XP to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not
frequently tested on them.
❗❗❗ MacOS 10.13 High Sierra ❗❗❗
Currently there are issues with the 3.0.x gitian releases on MacOS version 10.13 (High Sierra), no reports of issues on older versions of MacOS.
Notable Changes
Auto Wallet Backup
In addition to the automatic wallet backup that is done at each start of the client, a new automatic backup function has been added that will, by default, create a backup of the wallet file during each zPIV mint operation (zPIV spends which re-mint their change are also included in this). This functionality is controlled by the -backupzpiv
command-line option, which defaults to 1
(enabled, auto-backup).
Users that wish to prevent this behavior (not recommended) can pass -backupzpiv=0
at the command-line when starting the client, or add backupzpiv=0
to their pivx.conf
file.
zPIV Automint Calculations
A bug in the automint calculations was made apparent on mainnet when block times exceeded expectations, resulting in zPIV mint transactions that were in an unconfirmed state to still be treated as if they had never been minted. This caused automint to effectively mint more than what was intended.
zPIV Spending Fix
The size of zPIV spend transactions is knowingly larger than normal transactions, and while this was expected, a much stricter check against the scriptsig size is used for mainnet, causing the transactions to be rejected by the mempool, and thus not being packaged into any blocks.
zPIV Transaction Recovery
Due to the aforementioned issue with zPIV spending, users may find that their attempted spends are now conflicted and zPIV balances are not represented as expected. "Recovery" of these transactions can be done using the following methods:
-
GUI:
The Privacy tab has the
Reset
andRescan
buttons that can be used to restore these mints/spends from a state of being marked as unavailable. -
RPC:
The RPC commands
resetspentzerocoin
andresetmintzerocoin
are the command-line counterparts to the above, and can be used by users that do not use the GUI wallet.
RPC Changes
The bip38decrypt
command has had it's parameter order changed to be more consistent with it's counterpart. The command now expects the PIVX address as it's first parameter and the passphrase as it's second parameter.
Bip38 Compatibility With 3rd Party Tools
The in-wallet bip38 encryption method was leaving the final 4 bytes of the encrypted key blank. This caused an incompatibility issue with 3rd party tools like the paper wallet generators that could decrypt bip38 encrypted keys. Cross-tool compatibility has now been restored.
3.0.2 Change log
Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.
RPC and other APIs
- #275
059aaa9
[RPC] Change Parameter Order of bip38decrypt (presstab)
P2P Protocol and Network Code
- #286
85c0f53
[Main] Change sporkDB from smart ptr to ptr. (presstab) - #292
feadab4
Additional checks for double spending of zPiv serials. (presstab)
Wallet
- #271
5e9a086
[Wallet] Remove unused member wallet in UnlockContext inner class (Jon Spock) - #279
e734010
Add -backupzpiv startup flag. (presstab) - #280
fdc182d
[Wallet] Fix zPiv spending errors. (presstab) - #282
310f216
[Wallet] Count pending zPiv balance for automint. (presstab) - #290
004d7b6
Include both pending and mature zerocoins for automint calculations (presstab)
GUI
- #268
bc63f24
[GUI/RPC] Changed bubblehelp text + RPC startmasternode help text fixed (Mrs-X) - #269
5466a9b
Check if model is valid before using in transactionView (Jon Spock) - #270
bd2328e
[Qt] Make lock icon clickable to toggle wallet lock state (Fuzzbawls) - #273
f31136e
[Qt] Fix UI tab order and shortcuts (Mrs-X) - #287
74a1c3c
[Qt] Don't allow the Esc key to close the privacy tab (Fuzzbawls) - #291
cb314e6
[Qt] zPiv control quantity/amount fixes (rejectedpromise)
Miscellaneous
- #266
2d97b54
[Scripts] Fix location for aarch64 outputs in gitian-build.sh (Fuzzbawls) - #272
958f51e
[Minting] Replace deprecated auto_ptr. (presstab) - #276
03f14ba
Append BIP38 encrypted key with an 4 byte Base58 Checksum (presstab) - #288
2522aa1
Bad CBlockHeader copy. (furszy)
Credits
Thanks to everyone who directly contributed to this release:
- Fuzzbawls
- Jon Spock
- Mrs-X
- furszy
- presstab
- rejectedpromise
- Warrows
As well as everyone that helped translating on Transifex.
v3.0.0
PIVX Core version 3.0.0 is now available from:
https://github.com/pivx-project/pivx/releases
This is a new major version release, including various bug fixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/pivx-project/pivx/issues
Mandatory Update
PIVX Core v3.0.0 is a mandatory update for all users. This release contains new consensus rules and improvements that are not backwards compatible with older versions. Users will have a grace period of one week to update their clients before enforcement of this update is enabled.
Users updating from a previous version after the 13th of October will require a full resync of their local blockchain from either the P2P network or by way of the bootstrap.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).
Compatibility
PIVX Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later.
Microsoft ended support for Windows XP on April 8th, 2014,
No attempt is made to prevent installing or running the software on Windows XP, you
can still do so at your own risk but be aware that there are known instabilities and issues.
Please do not report issues about Windows XP to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not
frequently tested on them.
❗❗❗ MacOS 10.13 High Sierra ❗❗❗
Currently there are issues with the 3.0.0 gitian release on MacOS version 10.13 (High Sierra), no reports of issues on older versions of MacOS.
Notable Changes
Zerocoin (zPIV) Protocol
At long last, the zPIV release is here and the zerocoin protocol has been fully implemented! This allows users to send transactions with 100% fungible coins and absolutely zero history or link-ability to their previous owners.
The Zerocoin protocol allows user to convert (mint) their PIV to zerocoins, which we call zPIV. When zPIV are converted back to PIV there is no trail associated with the coins being sent, such as who originally minted those coins. Essentially the only thing the receiver of the zPIV transaction will see is that it came from the zerocoin protocol.
zPIV Denominations
zPIV comes in specific denominations of 1, 5, 10, 50, 100, 500, 1000, and 5000. A denomination is a similar concept to paper currency, where you can hold a $100 bill but there is no available $99 bill for you to hold.
Other implementations of the zerocoin protocol only allow for spending of one denomination/zerocoin at a time. The PIVX implementation of zerocoin allows users to spend any amount of zPIV they would like (with certain limitations). If a user held two denominations of 5 and they send 7.75 to a merchant, the wallet will automatically grab the two denominations of 5 and then issue 2.25 PIV in change to the spender. There is currently a limit of up to 6 individual zerocoin coins
that can be combined into a spend, where each coin
could be a different or similar denomination
The PIVX zerocoin implementation is structured in such a way that denominations aren't needed to be known by the average user.
Fees
zPiv transactions require more computation and disk space than typical PIVX transactions, and as such require a higher transaction fee in order to prevent network spam. Fees are only charged when minting zPiv, each minted denomination is charged a flat rate of 0.01 Piv. zPiv spends are not charged a transaction fee unless the change is minted into zPiv, see the Minting Change section for details on fees for zPiv spends with minted change.
Converting PIV to zPIV (zPIV Mint)
GUI - Conversion from PIV to zPIV can be done using the Privacy Dialog
in the QT wallet. Enter the amount of PIV you would like to convert and click Mint Zerocoin
.
RPC - Conversion from PIV to zPIV can be done using the mintzerocoin
command.
Automint - The PIVX wallet is set to convert 10% of the wallets available PIV to zPIV automatically. This can be adjusted in the GUI within the Options dialog, which allows the preferred % to be adjusted as well as the ability to set the preferred zPIV denomination that will be minted. Automint is set to be triggered when additional blocks are added to the block chain and is programmed not to convert your coins all at once.
Automint can be disabled by adding enablezeromint=0
to the wallet configuration file. The preferred mint % and denomination can also be set by the configuration file using zeromintpercentage=<n>
and preferredDenom=<n>
.
Converting zPIV to PIV (zPIV Spend)
Redeeming zPIV is done by converting it back to PIV. With the 3.0.0 software release, users are not able to send zPIV to each other directly in an atomic fashion.
GUI - Conversion from zPIV to PIV can be done using the Privacy Dialog
in the QT wallet. Enter a PIVX address that you would like to Pay To, enter the amount of PIV the receiver should be sent, click Spend Zerocoin
.
RPC - Conversion from zPIV to PIV can be done using the spendzerocoin
command.
Advanced Use & Privacy Considerations
Security Level - When spending zPIV, a user is prompted to enter a Security Level choosing from 1-100. In an indirect way, the Security Level parameter allows the user to choose how many coins to obfuscate their transaction with.
A Security Level of 1 for example would take all of the minted coins in the blockchain before your mint was added to the blockchain, and would then add any coins that were minted within the next 10 blocks as well. A Security Level of 2 would do the same thing, except add the next 20 blocks worth of mints. A Security Level of 100 will add the maximum amount of mints up to the current end of the blockchain.
The higher the Security Level, the more computation and time it will take to spend. Although it takes longer, a level of 100 is recommended for transactions that need maximum anonymity.
Minting Change - The PIVX implementation of the zerocoin protocol also allows the spender to choose how to receive their leftover change from a Spend transaction. For maximum anonymity it is recommended that the spender choose to receive the change in zPIV, which prevents situations where change from a zPIV spend that is redeemed in PIV is accidentally mixed with the rest of the users PIV, thus linking transactions back to a PIVX address.
Since the lowest denomination of zPIV is 1, and a fee is required to mint zPIV, in most situations a high fee will be paid to mint change. The fee is the remainder of the change that cannot be converted back to zPIV. For example this would mean a spending a denomination of 10 that yields change of 6.75 in change, would issue zPIV denominations of 5 and 1 back to the sender with the remaining 0.75 that is unmintable being contributed as a fee.
zPIV Control
Similar to the concept of Coin Control in the QT wallet, zPIV Control allows users to select exactly which zPIV mints they would like to spend. This gives a flexibility to choose which denominations can be picked for a spend that wouldn't otherwise be available.
Tor Service Integration Improvements
Integrating with Tor is now easier than ever! Starting with Tor version 0.2.7.1 it is possible, through Tor's control socket API, to create and destroy 'ephemeral' hidden services programmatically. PIVX Core has been updated to make use of this.
This means that if Tor is running (and proper authorization is available), PIVX Core automatically creates a hidden service to listen on, without manual configuration. PIVX Core will also use Tor automatically to connect to other .onion nodes if the control socket can be successfully opened. This will positively affect the number of available .onion nodes and their usage.
This new feature is enabled by default if PIVX Core is listening, and a connection to Tor can be made. It can be configured with the -listenonion
, -torcontrol
and -torpassword
settings. To show verbose debugging information, pass -debug=tor
.
3.0.0 Change log
Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.
Broad Features
- #264
15e84e5
zPIV is here! (Fuzzbawls Mrs-X Presstab Spock PIVX)
P2P Protocol and Network Code
- #242
0ecd77f
[P2P] Improve TOR service connectivity (Fuzzbawls)
GUI
- #251
79af8d2
[Qt] Adjust masternode count in information UI (Mrs-X)
Miscellaneous
- #258
c950765
[Depends] Update Depends with newer versions (Fuzzbawls)
Credits
Thanks to everyone who directly contributed to this release:
- Fuzzbawls
- Jon Spock
- Mrs-X
- PIVX
- amirabrams
- presstab
As well as everyone that helped translating on Transifex.
v2.3.1
PIVX Core version 2.3.1 is now available from:
https://github.com/pivx-project/pivx/releases
This is a new minor version release, including various bug fixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/pivx-project/pivx/issues
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).
Compatibility
PIVX Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later.
Microsoft ended support for Windows XP on April 8th, 2014,
No attempt is made to prevent installing or running the software on Windows XP, you
can still do so at your own risk but be aware that there are known instabilities and issues.
Please do not report issues about Windows XP to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not
frequently tested on them.
Notable Changes
RPC changes
Update of RPC commands to comply with the forthcoming RPC Standards PIP
Old Command | New Command | Notes |
---|---|---|
masternode count |
getmasternodecount |
|
masternode list |
listmasternodes |
|
masternodelist |
listmasternodes |
renamed |
masternode connect |
masternodeconnect |
|
masternode current |
getcurrentmasternode |
|
masternode debug |
masternodedebug |
|
masternode enforce |
removed | |
masternode outputs |
getmasternodeoutputs |
|
masternode status |
getmasternodestatus |
|
masternode list-conf |
listmasternodeconf |
added optional filter |
masternode genkey |
createmasternodekey |
|
masternode winners |
listmasternodewinners |
|
masternode start |
startmasternode |
see notes below |
masternode start-alias |
startmasternode |
see notes below |
masternode start-<mode> |
startmasternode |
see notes below |
masternode create |
removed - not implemented | |
masternode calcscore |
listmasternodescores |
|
--- | --- | --- |
mnbudget prepare |
preparebudget |
see notes below |
mnbudget submit |
submitbudget |
see notes below |
mnbudget vote-many |
mnbudgetvote |
see notes below |
mnbudget vote-alias |
mnbudgetvote |
see notes below |
mnbudget vote |
mnbudgetvote |
see notes below |
mnbudget getvotes |
getbudgetvotes |
|
mnbudget getinfo |
getbudgetinfo |
see notes below |
mnbudget show |
getbudgetinfo |
see notes below |
mnbudget projection |
getbudgetprojection |
|
mnbudget check |
checkbudgets |
|
mnbudget nextblock |
getnextsuperblock |
startmasternode
Command
This command now handles all cases for starting a masternode instead of having multiple commands based on the context. Command arguments have changed slightly to allow the user to decide wither or not to re-lock the wallet after the command is run. Below is the help documentation:
startmasternode "local|all|many|missing|disabled|alias" lockwallet ( "alias" )
Attempts to start one or more masternode(s)
Arguments:
1. set (string, required) Specify which set of masternode(s) to start.
2. lockWallet (boolean, required) Lock wallet after completion.
3. alias (string) Masternode alias. Required if using 'alias' as the set.
Result: (for 'local' set):
"status" (string) Masternode status message
Result: (for other sets):
{
"overall": "xxxx", (string) Overall status message
"detail": [
{
"node": "xxxx", (string) Node name or alias
"result": "xxxx", (string) 'success' or 'failed'
"error": "xxxx" (string) Error message, if failed
}
,...
]
}
Examples:
> pivx-cli startmasternode "alias" true "my_mn"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "startmasternode", "params": ["alias" true "my_mn"] }' -H 'content-type: text/plain;' http://127.0.0.1:51473/
preparebudget
& submitbudget
Commands
Due to the requirement of maintaining backwards compatibility with the legacy command, these two new commands are created to handle the preparation/submission of budget proposals. Future intention is to roll these two commands back into a single command to reduce code-duplication. Paramater arguments currently remain unchanged from the legacy command equivilent.
mnbudgetvote
Command
This command now handles all cases for submitting MN votes on a budget proposal. Backwards compatibility with the legacy command(s) has been retained, with the exception of the vote-alias
case due to a conflict in paramater type casting. A user running mnbudget vote-alias
will be instructed to instead use the new mnvote
command. Below is the full help documentation for this new command:
mnbudgetvote "local|many|alias" "votehash" "yes|no" ( "alias" )
Vote on a budget proposal
Arguments:
1. "mode" (string, required) The voting mode. 'local' for voting directly from a masternode, 'many' for voting with a MN controller and casting the same vote for each MN, 'alias' for voting with a MN controller and casting a vote for a single MN
2. "votehash" (string, required) The vote hash for the proposal
3. "votecast" (string, required) Your vote. 'yes' to vote for the proposal, 'no' to vote against
4. "alias" (string, required for 'alias' mode) The MN alias to cast a vote for.
Result:
{
"overall": "xxxx", (string) The overall status message for the vote cast
"detail": [
{
"node": "xxxx", (string) 'local' or the MN alias
"result": "xxxx", (string) Either 'Success' or 'Failed'
"error": "xxxx", (string) Error message, if vote failed
}
,...
]
}
Examples:
> pivx-cli mnbudgetvote "local" "ed2f83cedee59a91406f5f47ec4d60bf5a7f9ee6293913c82976bd2d3a658041" "yes"
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "mnbudgetvote", "params": ["local" "ed2f83cedee59a91406f5f47ec4d60bf5a7f9ee6293913c82976bd2d3a658041" "yes"] }' -H 'content-type: text/plain;' http://127.0.0.1:51473/
getbudgetinfo
Command
This command now combines the old mnbudget show
and mnbudget getinfo
commands to reduce code duplication while still maintaining backwards compatibility with the legacy commands. Given no parameters, it returns the full list of budget proposals (mnbudget show
). A single optional parameter allows to return information on just that proposal (mnbudget getinfo
). Below is the full help documentation:
getbudgetinfo ( "proposal" )
Show current masternode budgets
Arguments:
1. "proposal" (string, optional) Proposal name
Result:
[
{
"Name": "xxxx", (string) Proposal Name
"URL": "xxxx", (string) Proposal URL
"Hash": "xxxx", (string) Proposal vote hash
"FeeHash": "xxxx", (string) Proposal fee hash
"BlockStart": n, (numeric) Proposal starting block
"BlockEnd": n, (numeric) Proposal ending block
"TotalPaymentCount": n, (numeric) Number of payments
"RemainingPaymentCount": n, (numeric) Number of remaining payments
"PaymentAddress": "xxxx", (string) PIVX address of payment
"Ratio": x.xxx, (numeric) Ratio of yeas vs nays
"Yeas": n, (numeric) Number of yea votes
"Nays": n, (numeric) Number of nay votes
"Abstains": n, (numeric) Number of abstains
"TotalPayment": xxx.xxx, (numeric) Total payment amount
"MonthlyPayment": xxx.xxx, (numeric) Monthly payment amount
"IsEstablished": true|false, (boolean) Established (true) or (false)
"IsValid": true|false, (boolean) Valid (true) or Invalid (false)
"IsValidReason": "xxxx", (string) Error message, if any
"fValid": true|false, (boolean) Valid (true) or Invalid (false)
}
,...
]
Examples:
> pivx-cli getbudgetinfo
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbudgetinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:51473/
Masternode network protocol layer reporting
The results from the listmasternodes
and getmasternodecount
commands now includes details about which network protocol layer is being used (IPv4, IPV6, or Tor).
2.3.1 Change log
Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.
RPC and other APIs
- #239
e8b92f4
[RPC] Make 'masternode status' more verbose (Mrs-X) - #244
eac60dd
[RPC] Standardize RPC Commands (Fuzzbawls)
P2P Protocol and Network Code
- #248
0d44ca2
[core] fix payment disagreements, reduce log-verbosity (Mrs-X)
Miscellaneous
- #240
1957445
[Debug Log] Increase verbosity of error-message (Mrs-X) - #241 #249
b60118b
7405e31
Nullpointer reference fixed (Mrs-X)
Credits
Thanks to everyone who directly contributed to this release:
- Fuzzbawls
- Mrs-X
- amirabrams
As well as everyone that helped translating on Transifex.
v2.3.0
PIVX Core version 2.3.0 is now available from:
https://github.com/pivx-project/pivx/releases
This is a new major version release, including various bug fixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/pivx-project/pivx/issues
Mandatory Update
PIVX Core v2.3.0 is a mandatory update for all users. This release contains validation and security improvements that are not backwards compatible with older versions. Users will have a grace period of no less than two weeks to update their clients before enforcement of this update is enabled.
How to Upgrade
If you are running an older version, shut it down. Wait until it has completely shut down (which might take a few minutes for older versions), then run the installer (on Windows) or just copy over /Applications/PIVX-Qt (on Mac) or pivxd/pivx-qt (on Linux).
Compatibility
PIVX Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.8+, and Windows Vista and later.
Microsoft ended support for Windows XP on April 8th, 2014, No attempt is made to prevent installing or running the software on Windows XP, you can still do so at your own risk but be aware that there are known instabilities and issues. Please do not report issues about Windows XP to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not frequently tested on them.
Notable Changes
RPC changes
masternode command
The masternode
RPC command has been re-worked to ease it's usage and return valid JSON in it's results. The following is an overview of the changed command parameters:
Command Parameter | Changes |
---|---|
budget |
Removed (did nothing) |
count |
The optional "mode" paramater has been removed. Command now always outputs full details in JSON format. |
current |
Result fields changed: IP:Port removed, vin renamed to txhash |
list-conf |
Result is now an array of objects, instead of an object of objects |
outputs |
Result is now an array of objects instead of a list of n objects |
status |
Added additional fields for txhash, outputidx, netaddr, and message |
winners |
Result is now an array of objects instead of a list of n objects. See below |
list |
Remove all optional "modes" and standardized the results. Note: masternode list is the same as masternodelist . See below |
For the winners
parameter, the results are now in a standard JSON format as follows:
[
{
nHeight: n, (int) block height
winner: {
address: addr, (string) PIVX MN Address,
nVotes: n, (int) Number of votes for winner,
}
},
...
]
In the case of multiple winners being associated with a single block, the results are in the following format (the winner
object becomes an array of objects):
[
{
nHeight: n, (int) block height,
winner: [
{
address: addr, (string) PIVX MN Address,
nVotes: n, (int) Number of votes for winner,
},
...
]
},
...
]
For the list
(aka masternodelist
) parameter, the various "modes" have been removed in favor of a unified and standardized result format. The result is now an array of objects instead of an object of objects. Further, the individual objects now have a standard JSON format. The result format is as follows:
[
{
"rank": n, (numeric) Masternode rank (or 0 if not enabled)
"txhash": hash, (string) Collateral transaction hash
"outidx": n, (numeric) Collateral transaction output index
"status": s, (string) Status (ENABLED/EXPIRED/REMOVE/etc)
"addr": addr, (string) Masternode PIVX address
"version": v, (numeric) Masternode Protocol version
"lastseen": ttt, (numeric) The time in seconds since epoch (Jan 1 1970 GMT) the masternode was last seen
"activetime": ttt, (numeric) The time in seconds since epoch (Jan 1 1970 GMT) masternode has been active
"lastpaid": ttt, (numeric) The time in seconds since epoch (Jan 1 1970 GMT) masternode was last paid
},
...
]
mnbudget command
An additional parameter has been added to mnbudget
to allow a controller wallet to issue per-MN votes. The new parameter is vote-alias
and it's use format is as follows:
mnbudget vote-alias <proposal-hash> <yes|no> <alias>
All fields are required to successfully vote.
walletpassphrase command
CLI users that are staking their coins will now have the option of unlocking the wallet with no re-lock timeout. Similar to using 9999999
as the timeout, the walletpassphrase
command now accepts 0
as a timeout to indicate that no re-locking should occur based on elapsed time.
Usage: walletpassphrase <passphrase> 0 <true|false>
The third parameter indicates if the wallet should be unlocked for staking and anonymization only (true), or to allow send operations (false, full unlock).
ZeroMQ (ZMQ) Notifications
pivxd can now (optionally) asynchronously notify clients through a ZMQ-based PUB socket of the arrival of new transactions and blocks. This feature requires installation of the ZMQ C API library 4.x and configuring its use through the command line or configuration file. Please see docs/zmq.md for details of operation.
All Masternodes List GUI Removal
With the standardization and reformatting of the masternode list
(masternodelist
) RPC command, there is no real use case to keep the full list of masternodes in the GUI. This GUI element causes a great deal of extra overhead, even when it is not being actively displayed. The removal of this list has also proven to resolve a number of linux-based errors
Note that the GUI list of masternodes associated with a controller wallet remains intact.
SPV Client Support
PIVX Core now enables bloom filters by default to support SPV clients like mobile wallets. This feature can be disabled by using the -peerbloomfilters
option on startup.
2.3.0 Change log
Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.
RPC and other APIs
- #179
a64fa3d
[RPC] Allow infinite unlock (Mrs-X) - #183
dc77b86
[RPC] Add proposal name to removal log (Mrs-X) - #189
6dd8146
[RPC] Add missing 'vote-alias' implementation (Mrs-X) - #195
aee05fe
[ZMQ] ZMQ integration for PIVX (Mrs-X) - #211
b8c110b
[RPC] Refactor & JSONify results from masternode command(s) (Fuzzbawls) - #201
f0e87b1
[RPC] Add active/incative flag to getstakingstatus RPC call (Mrs-X)
Configuration and command-line options
- #180
16b8601
[Wallet] Add parameter interaction between -disablewallet and -staking (Aaron Miller) - #208
5f494c4
[Qt] Fix segfault when running with-help
(Fuzzbawls) - #193
ac7590b
[Output] Reformat help messages (Fuzzbawls) - #230
aa47fa4
[Output] Update default value for -peerbloomfilters in help (Fuzzbawls)
Wallet
- #192
283cf3b
[Trivial] Pre-release warning message fixed. (Mrs-X) - #169
05c9a75
Add IsNull and SetNull interfaces to uint256 (Jon Spock) - #198
d45c869
Update EXT_COIN_TYPE according to BIP44 (Jon Spock)
P2P Protocol and Network Code
- #219
d2c3fdf
[P2P] Enable Bloom filter and add new nService for light clients. (furszy) - #234
ed99e7b
[Consensus/Net] Ignore newly activated MNs in ranking/seesaw (Mrs-X Fuzzbawls presstab)
GUI
- #200
bb1f255
[UI] Improved unlock usability (Mrs-X) - #207
7a41f46
[Qt] Adjust size of splash screen image. (Fuzzbawls) - #206
9c675ee
[Qt] Remove the All Masternodes UI tab/list (Fuzzbawls) - #220
b80bc29
[Qt] Add "NODE_BLOOM" and "NODE_BLOOM_WITHOUT_MN" to guiutil (Fuzzbawls) - #225
02209ec
[Qt] Add autocomplete to Qt client's debug console (Fuzzbawls) - #233
2921a4d
[Qt] Enable support for Qt's HighDpiScaling (Fuzzbawls)
Tests and QA
- #191
3a778c3
[Tests] Fix the unit test suite for use with PIVX (Fuzzbawls) - #122
7d135a1
[Utils] updated netmagic/port for linearize script (Satoshi Ninja)
Miscellaneous
- #231
af0aa68
[Utils] Fix update-translations.py to allow % end of string (Fuzzbawls) - #175
8727f1c
[Docs] Reformat main README.md (Fuzzbawls) - #213
ddd8994
[Trivial] Reduce debug.log spam for masternode messages (Fuzzbawls)
Credits
Thanks to everyone who directly contributed to this release:
- Aaron Miller
- Fuzzbawls
- Mrs-X
- PIVX
- Satoshi Ninja
- Jon Spock
- furszy
- presstab
As well as everyone that helped translating on Transifex.
v2.2.1
PIVX Core version 2.2.1 is now available from:
https://github.com/pivx-project/pivx/releases
This is a new minor version release, including various bug fixes and
performance improvements, as well as updated translations.
Please report bugs using the issue tracker at github:
https://github.com/pivx-project/pivx/issues
Compatibility
PIVX Core is extensively tested on multiple operating systems using
the Linux kernel, macOS 10.8+, and Windows Vista and later.
Microsoft ended support for Windows XP on April 8th, 2014,
No attempt is made to prevent installing or running the software on Windows XP, you
can still do so at your own risk but be aware that there are known instabilities and issues.
Please do not report issues about Windows XP to the issue tracker.
PIVX Core should also work on most other Unix-like systems but is not
frequently tested on them.
Notable Changes
Block Data Corruption
Additional startup procedures have been added to fix corrupted blockchain databases.
The majority of users that are experiencing #106 (ConnectBlock() assertion on startup)
that have tested the new wallet have reported that their corrupt blockchain has
successfully been repaired. The new code will automatically detect and repair the
blockchain if it is able to.
If users still experience corruptions with the new wallet and it is not fixed
with the new startup procedures, it is suggested that they try using the
-forcestart
startup flag which will bypass the new procedures altogether, and
in rare cases allow the wallet to run. If the database is not fixed by either
the automatic procedures or the -forcestart
flag, the user should resync the
blockchain.
Additional progress has been made to prevent the wallet crashes that are causing
the corrupted databases, for example removing the Trading Window (explained below)
and fixing several other minor memory leaks that were inherited from the version
of Bitcoin that PIVX was forked from.
RPC Changes
-
Exporting or dumping an addresses' private key while the wallet is unlocked for
anonymization and Staking only is no longer possible. -
A new command (
getstakingstatus
) has been added that returns the internal conditions
for staking to be activated and their status. -
KeePass integration has been removed for the time being due to various inefficiencies
with it's code.
Trading Window Removed
The Bittrex trading window in the GUI wallet was problematic with it's memory
handling, often leaking, and was overall an inefficient use of resources in it's
current implementation. A revised multi-exchange trading window may be implemented
at a later date.
2.2.1 Change log
Detailed release notes follow. This overview includes changes that affect
behavior, not code moves, refactors and string updates. For convenience in locating
the code changes and accompanying discussion, both the pull request and
git merge commit are mentioned.
RPC and other APIs
- #130
ccb1526
[RPC] Addgetstakingstatus
method - #138
4319af3
[RPC] Require password when using UnlockAnonymizeOnly - #142
6b5cf7f
[RPC] Remove Keepass code due to Valgrind warnings
Block and Transaction Handling
- #146
bce67cb
[Wallet] Look at last CoinsView block for corruption fix process - #154
1b3c0d7
[Consensus] Don't pass the genesis block through CheckWork
P2P Protocol and Network Code
- #168
ac912d9
[Wallet] Update checkpoints with v2.2 chain - #162
0c0d080
Remove legacy Dash code IsReferenceNode - #163
96b8b00
[P2P] Change alert key to effectively disable it
GUI
- #131
238977b
[Qt] Adds base CSS styles for various elements - #134
f7cabbe
[Qt] Edit masternode.conf in Qt-wallet - #135
f8f1904
[Qt] Show path to wallet.dat in wallet-repair tab - #136
53705f1
[Qt] Fix false flags for MultiSend notification when sending transactions - #137
ad08051
[Qt] Fix Overview Page Balances when receiving - #141
17a9e0f
[Qt] Squashed trading removal code - #151
0409b12
[Qt] Avoid OpenSSL certstore-related memory leak - #165
0dad320
[Qt] More place for long locales
Miscellaneous
- #133
fceb421
[Docs] Add GitHub Issue template and Contributor guidelines - #144
e4e68bc
[Wallet] Reduce usage of atoi to comply with CWE-190 - #152
6a1de07
[Trivial] Use LogPrint for repetitive budget logs - #157
41fdeaa
[Budget] Add log for removed budget proposals - #166
d37b4aa
[Utils] Add ExecStop= to example systemd service - #167
a6becee
[Utils] makeseeds script update
Credits
Thanks to everyone who directly contributed to this release:
- Aaron Miller
- Fuzzbawls
- Mrs-X
- Spock
- presstab
As well as everyone that helped translating on Transifex.
v2.2.0
Important notes about v2.2.0 release
- Mandatory update, all users will need to update their client. A resync is not required.
- Syncing should be much quicker. The strict databasing requirement have been relaxed because code has been added that fixes most corruption issues.
- Budget system will now work and the enforcement spork will be turned on.
- Masternode payment system will now work and the enforcement spork will be turned on.
SHA1 HASHES:
pivx-2.2.0-aarch64-linux-gnu.tar.gz
6a993640d8dee30f38d5d2e4989daa85e865f1e9
pivx-2.2.0-arm-linux-gnueabihf.tar.gz
3156d459f3930077cc611f5e56e9f8e70ebb4ac7
pivx-2.2.0-i686-pc-linux-gnu.tar.gz
d3e852aace6c2cb4e664f5c2a284d8d8f0d0ea2e
pivx-2.2.0-x86_64-linux-gnu.tar.gz
82a70f028b962396e7e6eb3788b92dcbaa3f60a8
pivx-2.2.0-osx-unsigned.dmg
60eb4b917062a671f59e362630ae3506c1b63016
pivx-2.2.0-osx64.tar.gz
03e76f8f43509b46ebf98df46895a8c95eb202c0
pivx-2.2.0-win32-setup-unsigned.exe
9d3b8179cd2b23348565feaa2006b9538b8951ec
pivx-2.2.0-win32.zip
60943ae32f8e2e4fb73d84d5464a01582258d026
pivx-2.2.0-win64-setup-unsigned.exe
3d089aa7f23a7d20744475a686b395a4f9496627
pivx-2.2.0-win64.zip
1ca1217f46dfe7093d84e8a101a8c0a1d98bd3f6
Verify them at https://md5file.com/calculator
v2.1.7
v2.1.7
- Stability Fixes
- Fix Re-Index
- UI Transaction Sorting Update
- Multisend Fix
- Checkpoint added
- Update Translations
SHA-256 HASHES
pivx-2.1.7-aarch64-linux-gnu.tar.gz d5594959642d47b6894db4141ea9c16b47e3163918c35e2ebe15d1b858d04659
pivx-2.1.7-arm-linux-gnueabihf.tar.gz c662d7ce5bf0f3932f7f8320dafbe9d512760b8112aab07ceca549ada28f483a
pivx-2.1.7-i686-pc-linux-gnu.tar.gz 46a9073d9b1c1b5eef190734df344196a0cc3b86d2336d9e309991b83f8dace3
pivx-2.1.7-osx-unsigned.dmg 155442966f76a76103d6433dc1ae3eb38840f71b4eef60858cdbae859668ceda
pivx-2.1.7-osx64.tar.gz ec07341cf522ef5c479c50011495ff665334c6b7d9850fba73925892a26a61eb
pivx-2.1.7-win32-setup-unsigned.exe 9e8b994762f8ab80c50cc3a6f3866ae32562237683aa1b2d0e13a07f474b8fe6
pivx-2.1.7-win32.zip b43e3979e4f13abadd9a1eb28e4e4325bf2140939743913259cb8d622617bdeb
pivx-2.1.7-win64-setup-unsigned.exe 9ee62c7c122d392e526db03969187d2e9a244ef3fa85ba1a0ae2f276110f5a13
pivx-2.1.7-win64.zip 184cd35501afdd32ce5bb318135905afe440805531e2b2b15682658e9a203458
pivx-2.1.7-x86_64-linux-gnu.tar.gz 4ed904da9fa939463fc3e505011d02343ecba3650418f7add9e508797b55f1de
pivx-cli bcdef8e9159d9d0e5abf47c2b665eb96cbc30d72c31147cd159fb574f8887bbb
pivxd d0e306c5e639ca0a4d0a21b1a2f379cc2024fccb1549c5c9d2c50a1d89c90055
These SHA-256 Hashes can be verified here. https://md5file.com/calculator
v2.1.6
v2.1.6
Updated DNS Seed Nodes to help with connection issues.
v2.1.5
v2.1.5
- Rpi wallet now has Static Qt binary!
- autocombinerewards feature - Automatically combines masternode reward once spendable into a single input.
- Network enhancements - Increase outbound connections.
- BIP38 tool now supports more characters.
- Icons changed to non-transparent icon for better visibility.
- Multisend now can filter between staking and masternode rewards (soon). Also some bugs addressed.
- Wallet crashing with certain blockchain corruption has been prevented.
- Lots of updates for OS X build.
- In-Wallet Blockexplorer! (still needs Styling)
- Added Fallback Seed Nodes - You no longer need to add initial addnodes lines to pivx.conf!
- Lots more minor updates (readme, copyright etc) and bug fixes.