Skip to content
Compare
Choose a tag to compare

This is a new major version release, including various bug fixes and performance improvements, as well as updated translations.

Mandatory Update

TrumpCoin Core v5.0.0 is a mandatory update for all users. This release contains a protocol upgrade (to 72000), new consensus rules and improvements that are not backwards compatible with older versions. Users will need to update their clients before enforcement of this update goes into effect.

Update enforcement is currently scheduled to go into effect at the following block height:

Mainnet: 1 300 000 block, ~27th December 2021

Patriotnodes will need to be restarted once both the patriotnode daemon and the controller wallet have been upgraded.

Note: In preparation for the enforcement, upgraded peers will start rejecting non-upgraded peers few hours before the enforcement block height, we recommend everyone to be updated at max a day before the final time.

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), make copy of wallet.dat file to safe place, then replace/copy over wallet file (trumpcoin-qt or trumpcoind/cli) for your OS. Also full resync will be needed - start wallet two times (one by one) when database error occurs. Of course using bootstrap makes syncing much faster. CAUTION! If you are not 100% confident in what you are doing, check wallet update guide https://www.trumpcoin.com/Content/Docs/Trumpcoin_V5_Walkthrough.pdf or reach out to a a support reprsentative for help.

Notable Changes

New Wallet UI

v5.0.0 introduces a completely new GUI for the wallet, designed and coded from the ground up by the Krubit team.

This new UI, aside from the overall design large implementation, includes user-focused improvements and features such as a brief introduction on first load, a FAQ section, one-click QRCode compatible receiving addresses, patriotnode creation wizard, dark and light themes, filterable staking charts, and much more.

Faster Shutdown During Initial Loading

Previously, if a user wanted to close/quit the wallet before it had finished its initial loading process, they would need to wait until that loading process actually completed before the wallet would fully close.

Now, the new behavior is to gracefully close the wallet once the current step is complete.

Cold Staking

A brand new feature is being introduced with the release of v5.0.0: Cold Staking! This feature allows a coin owner to keep coins in a "cold" (or locked) wallet whilst a "hot" wallet carries out the burden of staking those coins.

This brings added security to coin owners as they are no longer required to use an unlocked or partially unlocked wallet (with the ability to spend coins anywhere) in order to gain staking rewards. Users who have chosen to store their coins on hardware devices such as a Ledger or Trezor1 can also gain staking rewards with those coins.

A full technical writup is available on the PIVX Wiki, and an initial video showcase is available on YouTube.
A brief guide to setup cold staking with GUI and RPC is available here: https://github.com/random-zebra/PIVX-Wiki/blob/master/User-Documentation/Cold-Staking-HowTo.md

Multi-Split Stake Splitting

Stake splitting has received a makeover and now supports splitting to more than two (2) outputs. PR #968 introduced the change, which is controlled by the wallet's stakesplitthreshold setting.

The default split threshold remains at 500 TRUMP, and can be adjusted in the GUI's Settings page, or via the RPC setstakesplitthreshold command.

For a real example, with a stake split threshold of 1500, and a UTXO of 4708.1557; the current stake split algorithm would break that into two outputs of approximately 2355.07785. With this new logic; it will be broken into 3 outputs instead of two; each sized 1570.0519 (4708.1557 input + 2 stake = 4710.1557 / 3 outputs = 1570.0519.

The maximum number of outputs is currently capped at 48. Also, in relation to the new Cold Staking feature described above; the stake split threshold is set by the staker wallet and NOT the owner wallet.

Time Protocol v2

#PR1002 introduces a new time protocol for the Proof-Of-Stake consensus mechanism, to ensure better efficiency, fairness and security. The time is now divided in 15-seconds slots and valid blocktimes are at the beginning of each slot (i.e. the block timestamp's seconds can only be 00, or 15, or 30 or 45).

The maximum future time limit is lowered from 3 minutes to 14 seconds and the past limit is set to the previous blocktime (i.e. a block can no longer have a timestamp earlier than its previous block).

This means that, when looking for a valid kernel, each stakeable input can be hashed only once every 15 seconds (once per timeslot), and it is not possible to submit blocks with timestamp higher than the current time slot. This ultimately enables the removal of the "hashdrift" concept.

NOTE: Given the much stricter time constraints, a node's clock synchronization is required for P2P connections: the maximum time offset is 15 seconds and peers with a time drift higher than 30 seconds (in absolute value) will be outright disconnected.

For advanced users, we recommend the setup of NTP clients and own servers. This will provide to your node a higher level of time accuracy and the best, time wise, synchronization with the peers in the network.

New Network Message Signatures

Layer 2 network messages (PN, Budget, Spork, etc) are now signed based on the hash of their binary content instead of their string representation (#PR1024).

HD Wallet upgrade

How do I check my wallet version?

Check the output of getinfo or getwalletinfo.
The "walletversion" field must be equal to 170000 (SAPLING_VERSION)

How do I upgrade my HD wallet to SAPLING_VERSION?

Newly created wallets have already the latest version
If the wallet is unlocked, use the -upgradewallet init flag to automatically update at startup.
Otherwise use the GUI or RPC (see below) to unlock and upgrade the wallet.

GUI:
A dialog will appear on every wallet startup notifying you that you are running a pre-Sapling wallet and letting you upgrade it from there.
If you haven't upgraded your wallet, the topbar (bar with icons that appears at the top of your wallet) will have an "HD" icon. Click it and the upgrade dialog will be launched.

RPC:
use the upgradewallet after unlocking the wallet (if locked)

Tier Two Network

A large number of performance and stability improvements over the complete tier two network and patriotnodes sources have been performed. Re-writing, encapsulating and decoupling workflows, cleaning up an extensive number of redundancies and misalignment.
Plus, tier two and patriotnodes capabilities have been introduced to regtest, enabling the local testing environment setup and the creation of a functional testing framework for the area.
This work is directly correlated with a substantial efficiency improvement for the entire software, not only for patriotnodes, and is one of the building blocks for the new tier two network and sync protocol that will be continued post-v5.

Concurrency

A complete overhaul of the thread synchronization area has been done, all of the workflows that were containing locks with cyclic dependencies that could cause a deadlock were reworked.
Solving every circular dependency, a good number of inconsistent states were fixed. The software now can be fully run with the --enable-debug configure time flag without crashing for a possible deadlock.

Account API Removed

The 'account' API was deprecated in v4.2.0, and has been fully removed in v5.0.0.
The 'label' API was introduced in v4.2.0 as a replacement for accounts.

See the release notes from v4.2.0 for a full description of the changes from the 'account' API to the 'label' API.

SwiftX Removed

Remove obsolete functionality (already disabled via SPORK in the previous releases).

startup arguments removed:
zmqpubhashtxlock
zmqpubrawtxlock
enableswifttx
swifttxdepth

P2P messages deprecated:
MSG_TXLOCK_REQUEST
MSG_TXLOCK_VOTE

GUI changes:
remove SwiftX mentions in coin control

RPC commands removed/modified:
sendtoaddressix (removed)
sendrawtransaction (removed swiftx optional parameter)
decoded transaction bcconfirmations JSON entry is now deprecated and kept only for backward compatibility (it is equal to confirmations)

Deprecated Sporks:
SPORK_2_SWIFTTX
SPORK_3_SWIFTTX_BLOCK_FILTERING

Zerocoin Protocol Support Removed

The Core wallet is no longer able to produce (public) zerocoin spends, and those are no longer accepted by consensus.

Several zerocoin related RPC commands have been removed or changed (as detailed in the section "RPC Changes" below).
startup argument removed: reindexzerocoin
GUI: removed transaction records for zerocoin mint outputs

RPC Console

Added autocompletion for the help command
Added warning/confirmation dialog before executing commands that expose private keys (dumpwallet, dumpprivkey, exportsaplingkey)

RPC Changes

The RPC server now returns a JSON-RPC exception when receiving a request during the warm-up phase. The returned exception includes the current init message ("Loading sporks", "Loading block index", "Verifying blocks", etc...)

For more release details check updates for 5.3.3 and lower https://github.com/PIVX-Project/PIVX/releases.

44c10b6
Compare
Choose a tag to compare
e4d5f71
Compare
Choose a tag to compare

4.1.0.0-Obsolete

Pre-release
Pre-release

new checkpoints
new protocol version
Bootstrap as of 4 July 2020

9b32237
Compare
Choose a tag to compare

4.0.3.0-Obsolete

Pre-release
Pre-release

disabled zTRUMP from wallet loading
new checkpoints
improved timedata logic
removed unused addresses
added balance commas option
minor gui changes

eb65778
Compare
Choose a tag to compare

4.0.2.0-Obsolete

Pre-release
Pre-release

sync fix
new checkpoint
new spork key
few minor changes

a0cd68f
Compare
Choose a tag to compare

4.0.1.1-Obsolete

Pre-release
Pre-release

new checkpoint
fix for ExpectedMint
added version to title bar
removed window from splash screen
justify balances to commas

45375a6
Compare
Choose a tag to compare

4.0.0.1-Obsolete

Pre-release
Pre-release

added new checkpoint
fixed collateral lock
coin control features enabled by default

6c6a2d7
Compare
Choose a tag to compare

4.0.0.0-Obsolete

Pre-release
Pre-release
version 4.0.0.0