-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serialize ProtocolVersions to storage #2506
Comments
This might do it, but haven't tried it yet: Essentially, it puts the protocol info into the chain state, and makes sure it is read and written in the (allegedly) right places. |
I'm not sure if 1_8 needs its own thing like this of 2_0, or the TAPI will be enough: witnet-rust/node/src/actors/chain_manager/mod.rs Lines 1053 to 1059 in aa2670d
|
I'm pretty sure it needs its own thing like this because TAPI is never persisted into storage either. AFAIK, if you restart your node during V1_8 (after all TAPI blocks have been confirmed and persisted into storage), it will forget it is in V1_8. I'll test it though. |
Added V1_8 into chain_info too for above reason: #2515 |
At the moment whenever a protocol version is registered, its attributes are stored in a hashmap, but whenever a node is restarted it is not aware of these attributes anymore. Therefore the node assumes it is still in V1.7 after a restart, even though TAPI voted in V1.8 or the required stake amount for V2.0 was met, resulting in blocks etc not validating properly anymore.
The text was updated successfully, but these errors were encountered: