Update – April 14th, 2021
0.6.0 has been replaced by 0.6.1, which fixes a critical bug that was discovered during the testnet upgrade rehearsal. Refer to this announcement for details on the hotfix.
Relevant Docs
0.6.1 Release Notes
0.6.0 Release Notes
Release Summary
This Release (0.6.1):
-
Offers a higher level of security (2 mission-critical patches in the Merkle tree)
-
Provides a higher level of network stability through the removal/patching of events
-
Switches from Amino to Protobuf encoding, allowing for much easier creation of SDK’s and network clients, which was pretty much impossible before due to Amino’s incompatibility with most programming languages
Benefits
To Nodes
We have successfully separated servicing and validation, which helps to resolve the issues discussed in PUP-4, in particular, the theoretical max node limit. For more details on this please read the entire PUP-4 thread.
In addition, with this release, there is now protection in place that will avoid slashing for double-signing actions such as restarting your validator while you are staked and online.
Protobuf will also lower transaction latency due to less resource demands on nodes. However, relay latency will be unaffected (improvements in relay latency will primarily come from the maturation of our node community’s configurations).
To Apps
The security and stability improvements mean a more reliable experience for apps.
With the migration to Protobuf encoding, which supports many more languages, SDK and client development is now a lot easier, which will unlock the potential for a larger variety of common SDKs and clients to be developed, ultimately leading to an all-round better developer experience.
The Process
-
The release is now published, so nodes can upgrade immediately. The new consensus rules will be inactive, meaning the nodes will be operating according to the old consensus rules until the upgrade is activated in Step 5.
-
We are doing a Testnet Network Upgrade rehearsal, with the testnet upgrade taking place on Monday 5th April. If you want to participate, read the details here.
-
We’ll have a community call at 3pm EDT on Tuesday 6th April, to discuss the details of the upgrade. RSVP here or add all of our Discord events to your calendar using this link.
-
If/when 67% of nodes have upgraded, reaching consensus for the new protocol version, PIP-4 will be amended to include an upgrade height (the height at which the new consensus rules will be activated and non-updated nodes will be left behind). PIP-4 will then be put to a vote. This gives the DAO the chance to veto the consensus rule change before it is executed.
-
Voting on PIP-4 will last 7 days and pass with a 50% majority. If the vote passes, the Foundation will activate the upgrade at the specified height using the
pocket gov upgrade
transaction.
Beware of scammers throughout this process that might try to steal from you. The Pocket team will not ask you to send POKT, Cryptocurrency or Money.
Node Upgrade Guide
For details on how to upgrade your node, go to the Upgrade section of the release notes.
Community Call
To answer any questions you may have, we are holding a community call in our Discord at 3-5pm EDT on Tuesday 6th April.
To ensure that your questions get answered, try to post them in reply to this thread before the call takes place.
We’ll be using the new Discord Stages feature (Clubhouse for Discord), so if anyone has questions in the audience they will need to raise their hand and we’ll select them to speak.
The meeting will start with a 10-20 minute overview, referencing this document, then will turn focus to Q&A. For the call to go as smoothly as possible, we encourage everyone to read this doc in advance and reply with clarifying questions in this thread.
RSVP for the meeting at this link or add all of our Discord events to your calendar using this link.
FAQ
Nodes
Can I upgrade ahead of time?
Yes, now that the release is published, you can upgrade now. Find the release here.
What do I do If I am using a third-party service provider to run my nodes?
If you are using a third-party service provider it will be up to them to upgrade your nodes, but we do recommend that you contact them for their upgrade plan. We are also coordinating with the major third-party providers directly in order to ensure a smooth upgrade.
What happens if I do not upgrade in time?
Your node will not be able to continue. Full nodes will shut down and be unable to restart without an upgrade. Validators will be slashed and jailed and be unable to restart without an upgrade. If this happens to you, the only way to get your node back online will be to follow the directions outlined in the upgrade guides.
Note: if you manage to recover within 6 blocks of missing the upgrade time, you won’t actually be slashed. But why take that risk?
If I do not upgrade in time, will I lose my POKT?
As explained above, the upgrade force shuts down any node running older versions after the upgrade height. For Validators, the shutdown can result in standard offline slashing.
If I need more help, where do I go?
Reply to this post or message the #node-runner channel in Discord for community support
Apps
What should I do if I am using a Pocket Gateway Endpoint?
You will not need to do anything extra. But during the switch, we anticipate a slight outage for apps not connected through the Gateway. The Gateway has fallback mechanisms that will prevent protocol-level outages from affecting apps. These fallback mechanisms will have slightly higher latency which may be experienced throughout the upgrade.
If you have any questions or concerns, please reach out to our app solutions team through the #app-developer channel on Discord.
If I’m not using the Gateway, how should I upgrade?
Upgrade PocketJS to the latest version, which you’ll find here. For more details on getting started with PocketJs, check out this quickstart guide.
If you want to stake with the new version of PocketJS before the upgrade has been activated in Step 5 above, you can use the legacy codec flag to stake with AminoJS.
@param {boolean} useLegacyTxSignature - (optional) If True the legacy tx signer will be used (AminoJS), false will use the new ProtoBuf encoding.
After the upgrade has been activated in Step 5 above, you will not need to use the legacy codec flag anymore.