massa
massa copied to clipboard
[Meta] Versioning follow up
A list of idea / proposals to add to the current WIP versioning work:
- [x] Allow multiple versions to be deployed at the same time:
- as BIP-0009 propose
- [x] Support new component added after main net:
- for now, we do not describe V0 components but what if we want to add new components (e.g. Denunciation after main net)?
- Does this mean that we have to version MipComponent?
- Need MipComponent deser compat with old version
-
- Detect after bootstrap if not compatible - PR: https://github.com/massalabs/massa/pull/3918
- [x] Optim MipStore with some caching to avoid querying it if it has not changed
- Optim: avoid db writes for empty batches
- https://github.com/massalabs/massa/pull/4169
- Optim: Lightweight Advance when serializing MipStore
- https://github.com/massalabs/massa/issues/4183 - https://github.com/massalabs/massa/pull/4213
- Optim: avoid db writes for empty batches
- [x] MipStoreRaw.update_with could return better error (easier to debug) - PR: https://github.com/massalabs/massa/pull/3906
- [x] Versioning + network restart
- PR 1: https://github.com/massalabs/massa/pull/3947
- PR 2: https://github.com/massalabs/massa/pull/3978
- PR 3: https://github.com/massalabs/massa/pull/3981
- PR 4: https://github.com/massalabs/massa/pull/3992
- [x] Versioning + massa client
- Use grpc endpoint to ask for current version - and ask for version to announce/current at slot (in block header)
- PR 1: https://github.com/massalabs/massa/pull/3957
- PR 2: https://github.com/massalabs/massa/pull/3960
- PR 3: https://github.com/massalabs/massa/pull/4011
- [x] Versioning + keypair generation at node startup
- Keypair generation is done after bootstrap so versioning and thus keypair factory can be used
- [x] Versioning grpc API stabilisation
- https://github.com/massalabs/massa/issues/4216
- https://github.com/massalabs/massa/pull/4238
- [ ] ~~Move addresses versioning byte so it comes before the identifier byte (requires serious changes in its serialization architecture)~~
- [x] Delete
from_bytes_without_version
- https://github.com/massalabs/massa/pull/4226
- [ ] ~~Remove the need for a
Defined
timestamp inMipState
creation~~ - [x] Improve doc
- https://github.com/massalabs/massa/pull/4008
- [x] Check for activation delay to be >= 1 cycle in MIP info?
- https://github.com/massalabs/massa/pull/4214
- [x] Test versioning + network restart
- [ ] Misc Issues
- https://github.com/massalabs/massa/issues/4184
- https://github.com/massalabs/massa/issues/4196
- https://github.com/massalabs/massa/pull/4226
- https://github.com/massalabs/massa/issues/4182
- https://github.com/massalabs/massa/issues/4089
- https://github.com/massalabs/massa/issues/4212
== After mainet ==
- [ ] Add more state for each MIP (Massa Improvement proposal) like Deprecated / Disabled
- Could allow to disable some version (like insecure versions)
- Not done in this follow up
- [ ] Can we authenticate MipInfo or have a way for user to verify sig / auth them (so you know the source of the MipInfo)
- Done by code signing
- [ ] Add configurable threshold (per MipInfo) - for now it's hardcoded
- ok but low prio
@sydhds can you tick what has been and merged so that we know what needs to be done this month plz
@sydhds can you tick what has been and merged so that we know what needs to be done this month plz
done :)