The Sack of Sparta
Due to a bug, Sparta got rekt on March 29th. Somewhat ironically, a hardfork and chain reset seems like the best option. Validators
and Council Members
have been compensated for their troubles.
What Happened?
At ~1200GMT, all the nodes crashed with the following message:
Thread 'ImportQueueWorker' panicked at 'Externalities not allowed to fail within runtime: "Trie lookup error: Database missing expected key: 0x5ef2a145ff5027f112393fd2266bfdd3f230abf7079985161df61f6b9dd21da9"', src/libcore/result.rs:1009
This is a bug. Please report it at:
https://www.joystream.org
The error was traced back to a known bug with trie-* v0.11.0
libraries in the Substrate v0.9.1
node template we had used. The issue was addressed in Substrate
with this PR, but as it's difficult to stay synced upstream
(referring to the substrate repo) while developing our own features, we had prioritized the former.
We could have tried to salvage the chain by changing the dependencies from trie-* v0.11.0
to trie-* v0.12.0
and force everyone to upgrade their nodes. Without proper testing however, chances are we would quickly have discovered another breaking change.
Next step
We will instead focus our efforts on getting everything up to speed for our next testnet, Athens, that was scheduled to be released early March anyway. Our intentions was to only upgrade the runtime through a council vote and not require any upgrades of the node software itself. After careful deliberation, and advice from the always helpful Substrate developer team, we have decided its best to upgrade the nodes, complete the new features, test and release.
Validators and Council Member Payouts
To help ease the pain of our great community members that has participated on Sparta, we will try and make everyone "whole".
Council Members
The second council election had just concluded before the network went down. All members have been paid out, and received the bonus they could have qualified for had the testnet reached its intended conclusion.
Validators
As it must be assumed that the same group would have kept on fighting to produce blocks, we paid out validators double the amount pr block.
Stay Tuned for Athens
A new blog post about Athens will be released in the next few days, introducing the new features and paid roles. In the meantime, you can check out our github, where all plans, project management, software, assets, etc. are being shared to the world. More about this in future posts.
Disclaimer
All forward looking statements, estimates and commitments found in this blog post should be understood to be highly uncertain, not binding and for which no guarantees of accuracy or reliability can be provided. To the fullest extent permitted by law, in no event shall Joystream, Jsgenesis or our affiliates, or any of our directors, employees, contractors, service providers or agents have any liability whatsoever to any person for any direct or indirect loss, liability, cost, claim, expense or damage of any kind, whether in contract or in tort, including negligence, or otherwise, arising out of or related to the use of all or part of this post, or any links to third party websites.