Sujet pour suivre l’avancement de la production du Runtime 802 qui succède au Runtime 801.
Point de suivi
Rappel : toutes les issues sont référencées par la Milestone 802 qui sert de référence à ce qui suit :
Résumé
Cette milestone vise à optimiser, nettoyer et fiabiliser Duniter V2S. Seule une grande modification pourrait avoir lieu à travers #197 qui pourrait fusionner les palettes membership, smith-members et authority-members. Nous n’avons pas encore échangé dessus.
Mais en réalité, nous en sommes à un stade où le cœur est presque prêt les fonctionnalités sont là, il faut maintenant bichonner les clients à travers le développement des indexeurs (travaux effectués @poka et @HugoTrentesaux notamment) et se préparer pour le lancement de la ĞTest qui, je l’espère, se produira d’ici cet été 2024.
Issues
Total : 22
Ouvertes
Total : 20
ID | Status | Assignees | Title |
---|---|---|---|
#200 | opened | debian package | |
#197 | opened | Fix pallet session config | |
#196 | opened | bgallois | Check that transfer_all on a linked account does not lead to empty linked account |
#195 | opened | c-geek | Dissociate release of Runtime and release of Client |
#191 | opened | Misleading error message in logs for distance oracle | |
#183 | opened | Refac generated documentation | |
#182 | opened | smiths-members: Unscheduling | |
#181 | opened | smith-members: supprimer CurrentSession | |
#180 | opened | bgallois | firstEligibleUd displays default value |
#179 | opened | HugoTrentesaux | Merge identity/pubkey “conversion” trait into one |
#174 | opened | Calibrate distance MAX_EVALUATIONS_PER_SESSION |
|
#172 | opened | Optimisation: transactional opt out | |
#167 | opened | bgallois | Membership handler weight accounting |
#163 | opened | Split OnEvent(membership_event) | |
#161 | opened | bgallois | Add live tests for membership status coherence |
#158 | opened | Identity creation should only be possible for an account that already “exists” | |
#144 | opened | Automatically publish ARM images of indexer | |
#141 | opened | c-geek | Have a testing strategy |
#73 | opened | Manually remove certification at expiration from a non-mandatory inherent | |
#54 | opened | Improve explicit revocation |
Fermées depuis la clôture du runtime-801
Total : 2
ID | Status | Assignees | Title |
---|---|---|---|
#142 | closed | Contribute to Cesium² | |
#112 | closed | c-geek | Could not find protoc |
Fichier source YAML
milestone: runtime-802
date: 2024-02-22
changes:
issues:
- title: debian package
number: 200
status: opened
assignees: - title: Fix pallet session config
number: 197
status: opened
assignees: - title: Check that transfer_all on a linked account does not lead to empty linked account
number: 196
status: opened
assignees:- bgallois
- title: Dissociate release of Runtime and release of Client
number: 195
status: opened
assignees:- c-geek
- title: Misleading error message in logs for distance oracle
number: 191
status: opened
assignees: - title: Refac generated documentation
number: 183
status: opened
assignees: - title: ‘smiths-members: Unscheduling’
number: 182
status: opened
assignees: - title: ‘smith-members: supprimer CurrentSession’
number: 181
status: opened
assignees: - title: firstEligibleUd displays default value
number: 180
status: opened
assignees:- bgallois
- title: Merge identity/pubkey “conversion” trait into one
number: 179
status: opened
assignees:- HugoTrentesaux
- title: Calibrate distance
MAX_EVALUATIONS_PER_SESSION
number: 174
status: opened
assignees: - title: ‘Optimisation: transactional opt out’
number: 172
status: opened
assignees: - title: Membership handler weight accounting
number: 167
status: opened
assignees:- bgallois
- title: Split OnEvent(membership_event)
number: 163
status: opened
assignees: - title: Add live tests for membership status coherence
number: 161
status: opened
assignees:- bgallois
- title: Identity creation should only be possible for an account that already “exists”
number: 158
status: opened
assignees: - title: Automatically publish ARM images of indexer
number: 144
status: opened
assignees: - title: Contribute to Cesium²
number: 142
status: closed
assignees: - title: Have a testing strategy
number: 141
status: opened
assignees:- c-geek
- title: Could not find
protoc
number: 112
status: closed
assignees:- c-geek
- title: Manually remove certification at expiration from a non-mandatory inherent
number: 73
status: opened
assignees: - title: Improve explicit revocation
number: 54
status: opened
assignees:
new_issues:
count: 22
issues:- 200
- 197
- 196
- 195
- 191
- 183
- 182
- 181
- 180
- 179
- 174
- 172
- 167
- 163
- 161
- 158
- 144
- 142
- 141
- 112
- 73
- 54
unstarted_issues:
count: 13
issues: - 200
- 197
- 191
- 183
- 182
- 181
- 174
- 172
- 163
- 158
- 144
- 73
- 54
taken_issues:
count: 0
issues:
unchanged_issues:
count: 0
issues:
open_issues:
count: 20
issues: - 200
- 197
- 196
- 195
- 191
- 183
- 182
- 181
- 180
- 179
- 174
- 172
- 167
- 163
- 161
- 158
- 144
- 141
- 73
- 54
closed_issues:
count: 2
issues: - 142
- 112
moved_issues:
count: 0
issues:
Bravo !!
A nous de jouer alors
Ça tombe bien : la fenêtre de disponibilité me paraît bon, pour ma part.
Point de suivi
Rappel : toutes les issues sont référencées par la Milestone 802 qui sert de référence à ce qui suit :
Résumé
Depuis le dernier point qui remonte au 22/02 (presque deux mois — les RML 18 étant passées par là), 10 nouveaux tickets ont été ajoutés (voir section Rajoutées depuis le dernier point).
En terme d’activité sur Duniter V2S, c’est assez calme : seul @bgallois reste constant tandis que @HugoTrentesaux semble davantage tourné vers les Datapods. Pour ma part j’ai fait une petite pause post-RML, je vais reprendre progressivement les développements.
Une nouveauté : @txels fait son entrée dans le code du cœur en corrigeant le ticket #251 en modifiant une ligne de log, évitant un désarroi au forgeron qui aurait un soucis de configuration. Bienvenue
Je n’ai pas davantage de commentaires à faire, je me remets doucement les sujets en tête.
Issues
Total : 31
Ouvertes
Total : 17
ID | Status | Assignees | Title |
---|---|---|---|
#225 | opened | bgallois | Benchmarks error |
#221 | opened | bgallois | Oracle : ne pas se bloquer à cause des clés |
#218 | opened | Protocole : ne pas autoriser la création d’une identité où le compte n’existe pas | |
#210 | opened | Smith documentation is not up-to-date | |
#200 | opened | debian package | |
#197 | opened | Use IdtyIndex as Session ValidatorId | |
#195 | opened | c-geek | Dissociate release of Runtime and release of Client |
#183 | opened | bgallois | Refac generated documentation |
#182 | opened | smiths-members: Unscheduling | |
#181 | opened | smith-members: supprimer CurrentSession | |
#179 | opened | HugoTrentesaux | Merge identity/pubkey “conversion” trait into one |
#172 | opened | Optimisation: transactional opt out | |
#158 | opened | Identity creation should only be possible for an account that already “exists” | |
#144 | opened | Automatically publish ARM images of indexer | |
#141 | opened | c-geek | Have a testing strategy |
#73 | opened | Manually remove certification at expiration from a non-mandatory inherent | |
#54 | opened | Improve explicit revocation |
Rajoutées depuis le dernier point
Total : 10
ID | Status | Assignees | Title |
---|---|---|---|
#225 | opened | bgallois | Benchmarks error |
#221 | opened | bgallois | Oracle : ne pas se bloquer à cause des clés |
#220 | closed | bgallois | Smith-members: invert issuer and receiver in events |
#219 | closed | bgallois | Distance : rajouter le résultat dans l’évènement |
#218 | opened | Protocole : ne pas autoriser la création d’une identité où le compte n’existe pas | |
#214 | closed | c-geek | Allow native Runtime execution |
#210 | opened | Smith documentation is not up-to-date | |
#207 | closed | Distance oracle tries to publish inherent even if already published result, leading to ExtrinsicFailed result of the inherent | |
#202 | closed | bgallois | align distance oracle on modulo instead of session |
#201 | closed | HugoTrentesaux | distance oracle refuses “insecure url” |
Assignées depuis le dernier point
Total : 4
ID | Status | Assignees | Title |
---|---|---|---|
#191 | closed | txels | Misleading error message in logs for distance oracle |
#183 | opened | bgallois | Refac generated documentation |
#174 | closed | bgallois | Calibrate distance MAX_EVALUATIONS_PER_SESSION |
#163 | closed | bgallois | Split OnEvent(membership_event) |
Stagnantes depuis le dernier point
Total : 11
ID | Status | Assignees | Title |
---|---|---|---|
#200 | opened | debian package | |
#195 | opened | c-geek | Dissociate release of Runtime and release of Client |
#182 | opened | smiths-members: Unscheduling | |
#181 | opened | smith-members: supprimer CurrentSession | |
#179 | opened | HugoTrentesaux | Merge identity/pubkey “conversion” trait into one |
#172 | opened | Optimisation: transactional opt out | |
#158 | opened | Identity creation should only be possible for an account that already “exists” | |
#144 | opened | Automatically publish ARM images of indexer | |
#141 | opened | c-geek | Have a testing strategy |
#73 | opened | Manually remove certification at expiration from a non-mandatory inherent | |
#54 | opened | Improve explicit revocation |
Fermées depuis le dernier point
Total : 12
ID | Status | Assignees | Title |
---|---|---|---|
#220 | closed | bgallois | Smith-members: invert issuer and receiver in events |
#219 | closed | bgallois | Distance : rajouter le résultat dans l’évènement |
#214 | closed | c-geek | Allow native Runtime execution |
#207 | closed | bgallois | Distance oracle tries to publish inherent even if already published result, leading to ExtrinsicFailed result of the inherent |
#202 | closed | bgallois | align distance oracle on modulo instead of session |
#201 | closed | HugoTrentesaux | distance oracle refuses “insecure url” |
#196 | closed | bgallois | Check that transfer_all on a linked account does not lead to empty linked account |
#191 | closed | txels | Misleading error message in logs for distance oracle |
#174 | closed | bgallois | Calibrate distance MAX_EVALUATIONS_PER_SESSION |
#167 | closed | bgallois | Membership handler weight accounting |
#163 | closed | bgallois | Split OnEvent(membership_event) |
#161 | closed | bgallois | Add live tests for membership status coherence |
Retirées depuis le dernier point (remises à plus tard)
Total : 1
ID | Status | Assignees | Title |
---|---|---|---|
#180 | closed | firstEligibleUd displays default value |
Fichier source YAML : milestone-802-02.yaml (4,7 Ko)
Je suggère de geler le runtime 802 en l’état actuel pour le publier sur le réseau gdev. Par ailleurs, une mise à jour des clients sera nécessaire pour ceux qui font tourner un oracle de distance.
- amélioration du runtime qui m’intéressent
- #220 événement plus clair issuer/receiver
- #219 résultat du calcul de distance dans l’événement, utile pour le parcours nouvel utilisateur
- #217 réparation de la documentation des calls, très utile pour faciliter la vie aux nouveaux forgerons !
- #202 calcul de la distance plus rapide (5 minutes au lieu de 2h)
- améliorations du client qui m’intéressent
- améliorations relatives à l’oracle de distance côté client
Cela faciliterait le développement des clients comme Cesium qui pourraient utiliser dès maintenant la nouvelle version du runtime à la fois sur leur environnement de dev et sur le réseau gdev, ce qui éviterait d’avoir à maintenir deux versions du runtime trop différentes ou de prendre du retard sur les mises à jour du runtime.
J’ai déplacé toutes les issues non fusionnées de runtime-802
vers runtime-803
. J’ai publié une branche network/gdev-802
sur master
avec quelques ajouts sans réussir à déclencher trigger_network_release
. [edit corrigé depuis] Donc je suis passé par srtool
en local. J’obtiens le fichier gdev_runtime.compact.compressed.wasm
dont le hash IPFS est QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs
, c’est même précisé dans la sortie srtool :
{
"gen": "srtool v0.15.0",
"src": "git",
"version": "1.0.0",
"commit": "4ba7fabc93cbdd68f4d3518a232c6bb219a4ca44",
"tag": "gdev-802-0.8.0",
"branch": "network/gdev-802",
"rustc": "rustc 1.77.0 (aedd173a2 2024-03-17)",
"pkg": "gdev-runtime",
"tmsp": "2024-09-25T09:36:13Z",
"size": "671530",
"prop": "0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b",
"authorize_upgrade_prop": "0x446434189063e1becada5e42963f5b527cb54e5825a8ad62041bd40eddf82499",
"ipfs": "QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs",
"sha256": "0x37cbbe6f9af13a2bbe1bbf8ef11d814dca9aea22efc87098c439dec5297f6c89",
"wasm": "runtime/gdev/target/srtool/release/wbuild/gdev-runtime/gdev_runtime.compact.compressed.wasm",
"info": {
"generator": {
"name": "srtool",
"version": "0.15.0"
},
"src": "git",
"version": "1.0.0",
"git": {
"commit": "4ba7fabc93cbdd68f4d3518a232c6bb219a4ca44",
"tag": "",
"branch": "network/gdev-802"
},
"rustc": "rustc 1.77.0 (aedd173a2 2024-03-17)",
"pkg": "gdev-runtime",
"profile": "release"
},
"context": {
"package": "gdev-runtime",
"runtime_dir": "runtime/gdev",
"docker": {
"image": "paritytech/srtool",
"tag": "1.77.0"
},
"profile": "release"
},
"runtimes": {
"compact": {
"tmsp": "2024-09-25T09:35:57Z",
"size": "3066320",
"prop": "0x52439e4b2991f1bf104b127d23e9aed5bb06c576d3cd4b1bb616db20d3e569e9",
"authorize_upgrade_prop": "0x07a9e150364f6db4844d320d4f6e6dc8114d59cc2e3b582dd6cdd0332d8e7465",
"blake2_256": "0x0df38ccfd7162db2923d4d259c4d14c4c1254bcc96d7ef87533b708b6ea62088",
"ipfs": "QmNNLpnhjdKxLnR7Hpd46LxYFkHXEbsCQyzaCBjxqsffKA",
"sha256": "0x1e2062c85d447e9c129676ba44e19c8c07e411716b937f4a6aad01380d7cf022",
"wasm": "runtime/gdev/target/srtool/release/wbuild/gdev-runtime/gdev_runtime.compact.wasm",
"subwasm": {
"size": 3066320,
"compression": {
"size_compressed": 3066320,
"size_decompressed": 3066320,
"compressed": false
},
"reserved_meta": [
109,
101,
116,
97
],
"reserved_meta_valid": true,
"metadata_version": 14,
"core_version": {
"specName": "gdev",
"implName": "duniter-gdev",
"authoringVersion": 1,
"specVersion": 802,
"implVersion": 1,
"apis": [
[
"0x687ad44ad37f03c2",
1
],
[
"0xcbca25e39f142387",
2
],
[
"0xdf6acb689907609b",
5
],
[
"0x37e397fc7c91f5e4",
2
],
[
"0x40fe3ad401f8959a",
6
],
[
"0xd2bc9897eed08f15",
3
],
[
"0xf78b278be53f454c",
2
],
[
"0xab3c0572291feb8b",
1
],
[
"0xed99c5acb25eedf5",
3
],
[
"0xbc9d89904f5b923f",
1
],
[
"0x37c8bb1350a9a2a8",
4
],
[
"0xfbc577b9d747efd6",
1
]
],
"transactionVersion": 1,
"stateVersion": 1
},
"proposal_hash": "0x52439e4b2991f1bf104b127d23e9aed5bb06c576d3cd4b1bb616db20d3e569e9",
"parachain_authorize_upgrade_hash": "0x07a9e150364f6db4844d320d4f6e6dc8114d59cc2e3b582dd6cdd0332d8e7465",
"ipfs_hash": "QmNNLpnhjdKxLnR7Hpd46LxYFkHXEbsCQyzaCBjxqsffKA",
"blake2_256": "0x0df38ccfd7162db2923d4d259c4d14c4c1254bcc96d7ef87533b708b6ea62088"
}
},
"compressed": {
"tmsp": "2024-09-25T09:32:44Z",
"size": "671530",
"prop": "0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b",
"authorize_upgrade_prop": "0x446434189063e1becada5e42963f5b527cb54e5825a8ad62041bd40eddf82499",
"blake2_256": "0x70b82abc8af0b5b90372d5d844a5b4bba809ba0287e357d976eabc1b7c175ebc",
"ipfs": "QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs",
"sha256": "0x37cbbe6f9af13a2bbe1bbf8ef11d814dca9aea22efc87098c439dec5297f6c89",
"wasm": "runtime/gdev/target/srtool/release/wbuild/gdev-runtime/gdev_runtime.compact.compressed.wasm",
"subwasm": {
"size": 671530,
"compression": {
"size_compressed": 671530,
"size_decompressed": 3066320,
"compressed": true
},
"reserved_meta": [
109,
101,
116,
97
],
"reserved_meta_valid": true,
"metadata_version": 14,
"core_version": {
"specName": "gdev",
"implName": "duniter-gdev",
"authoringVersion": 1,
"specVersion": 802,
"implVersion": 1,
"apis": [
[
"0x687ad44ad37f03c2",
1
],
[
"0xcbca25e39f142387",
2
],
[
"0xdf6acb689907609b",
5
],
[
"0x37e397fc7c91f5e4",
2
],
[
"0x40fe3ad401f8959a",
6
],
[
"0xd2bc9897eed08f15",
3
],
[
"0xf78b278be53f454c",
2
],
[
"0xab3c0572291feb8b",
1
],
[
"0xed99c5acb25eedf5",
3
],
[
"0xbc9d89904f5b923f",
1
],
[
"0x37c8bb1350a9a2a8",
4
],
[
"0xfbc577b9d747efd6",
1
]
],
"transactionVersion": 1,
"stateVersion": 1
},
"proposal_hash": "0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b",
"parachain_authorize_upgrade_hash": "0x446434189063e1becada5e42963f5b527cb54e5825a8ad62041bd40eddf82499",
"ipfs_hash": "QmTp4zLAUeWFCwU6BLBqVv4XbjV9MdDAHb4h61LsSZgVbs",
"blake2_256": "0x70b82abc8af0b5b90372d5d844a5b4bba809ba0287e357d976eabc1b7c175ebc"
}
}
}
}
Donc le hash du call system.setCode(<runtime-802>)
est 0xa1f1d6cd467574050db78203ee439b3d194952bfba575dca4b6f6983d15c3f7b
. Je m’occupe de soumettre un proposal bientôt. [edit : c’est soumis, cf ĞDev runtime 802 -- release !]
Le runtime 802 est en ligne,
Je pense déjà à quelques choses à regarder en particulier :
- comme on a touché à des trucs dans la pallet distance, il faut probablement mettre à jour les instances de l’oracle de distance parce qu’il utilise subxt pour se connecter et récupérer les données, donc il se pourrait qu’il crash parce qu’il n’a plus les bonnes métadonnées
- il faut voir comment se comporte squid quand il reçoit des événements qu’il ne connaît pas ou qui ont changé et qu’on n’a pas encore écrit le code qui permet de décoder ces événements avec le nouveau runtime