Welcome Back -- Post HF21 Crash
Steem is back up!
So another hardfork, and another crash. This is probably not new to you if you have been around the Steemiverse for any period of time. As usual, however, the witnesses and SteemIt development team worked together to find the issue and deploy a fix as soon as possible so that you can read this post right now.
What really happened?
The exact code that was affected can be seen here
util::manabar_params params( ( effective_vests * gpo.downvote_pool_percent ) / STEEM_100_PERCENT, STEEM_VOTING_MANA_REGENERATION_SECONDS );
Notice the ( effective_vests * gpo.downvote_pool_percent )
. This will potentially result in a massive number depending on the size of your account stake and your delegations. Since effective_vests
was typed as int64_t
, the maximum value it could store was 9,223,372,036,854,775,807
. The solution that was decided was to cast the intermediary number to uint128_t
which is about 340,282,366,920,938,000,000,000,000,000,000,000,000
and THEN to cast the final number to the required int64_t
.
Note: This is likely just a temporary workaround to ensure the chain would return online as soon as possible. There will possibly be another fix that is later released after the chain has been observed to be working as expected.
Did anything bad happen?
Quite the opposite. The blockchain performed its necessary checks and measures to ensure that the offending transaction did not make its way onto the ledger. This is a good thing because you would much rather have the system block a problematic transaction and halt so you can address the issue instead of going on unnoticed.
Want to chat more?
Swing by the SteemDevs Discord Server and join the conversation.
Vote for @netuoso as witness
I am providing you this update as a volunteer that wants to help keep the community informed. If you appreciate this information, be sure to vote for @netuoso as witness or support this post with a vote/comment.