En suivant la documentation become smith j’avoue que ce n’est pas super clair pour l’activation de la clé - et surtout comment vérifier qu’elle est bien présente avant de tenter le go-online ?
J’ai bien créé une clé via PolkadotJS connecté en RPC à mon noeud SMITH (appel author > rotateKeys())
J’ai regardé l’appel “Extrinsics” authorityMembers > setSessionKeys; mais je trouvais assez error-prone de devoir split ma clé en 4 parties pour les paramètes.
Du coup, j’ai reconfiguré mon GCli pour utiliser mon noeud SMITH (histoire d’être sur, mais si c’est pour des appels “extrinsic” je suppose que ça ne change rien).
J’ai tenté avec GCli:
gcli smith set-session-keys 0x<theWholeKeyFromRotateKeys>
thread 'main' panicked at src/commands/smith.rs:78:22:
wrong hexadecimal: InvalidHexCharacter { c: 'x', index: 1 }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrac
# Du coup, 2ème essais sans le "0x" du début
gcli smith set-session-keys <theWholeKeyFromRotateKeysWithout0x>
Enter password to unlock account 5HE6gH87fVuGj6akXneNceBtgEiaUZua43TJbVBRQTT77gp6
Password:
# Aucun retour - c'est sans doute passé ?
Dans la documentation il est ensuite dit:
Before calling authorityMembers.goOnline(), you can double-check that your validator node actually has the session keys you declared and is syncrhonized to the network.
Mais la je ne sais pas trop quel appel on sous-entend pour vérifier ?
Est-ce que c’est sur le noeud lui même l’appel RPC author > hasSessionKeys(...) ?
Si c’est le cas, j’avais vérifier avant.
Par contre, vu que GCli ne m’a rien répondu; comment être sur que ma commande est bien passée ?
Pour effectuer les actions de forgerons, il faut que tu te connectes avec le client via l’API RPC unsafe de ton nœud validateur.
Ensuite, un gcli smith update-keys devrait faire l’affaire. Il me semble que la commande set-session-keys ne fait plus sens.
Au final, c’est passé avec gcli smith set-session-keys; mais s’il y a une façon plus simple avec une autre commande, il serait sans doute utile de le préciser dans la documentation
Problème de structure de documentation. La partie théorique correspondait mieux à l’ancienne gestion des session keys, mais moins à l’actuelle, il faut la revoir.
Manque de documentation concrète. Les outils ont évolué et ne sont pas tous présentés, je vais ajouter ça.
Manque de clarté sur le comportement de Ğcli. À la fois sur les arguments attendus et sur l’absence de retour.
Pas d’indication sur comment vérifier que tout s’est bien passé.
Oui, un appel RPC s’adresse à un nœud. Encore plus un appel unsafe. Il faudrait refaire une documentation générale sur les bases théoriques qui donnent des repères.
Modification de la section “set session keys” pour expliquer la théorie et rediriger vers les actions à faire en pratique.
Ajout de documentation pratique, notamment une page sur l’utilisation de gcli dans le contexte d’un noeud forgeron.
Ajout d’un warning sur le comportement de Gcli, il faudra le régler plus tard.
Ajout d’une section “Check that session keys are present”, mais ça reste avancé, c’est juste pour les gens qui ont vraiment envie de vérifier, mais c’est pas indispensable.
Je viens de tenter la procédure plus simple pour mettre la clé de session pour mon nouveau noeud Smith avec GCli (pour mon identité Nicolas80)
gcli smith update-keys
Enter password to unlock account 5Funkng8dL397H9ZEJ9sXDjFhStCqRYUj1a62ngcrEMy7ivn
Password:
transaction submitted to the network, waiting 6 seconds...
@HugoTrentesaux Par contre, il y a un petit soucis dans la doc polkadotjs smith, il n’y a pas moyen de vérifier la présence de la clé avecDeveloper > chain state > session > queued keys; je pense que la clé ne sera visible à cet endroit qu’après la mise Online du noeud.
Par contre, je retrouve bien ma clé splittée en 4 avec l’appel Developer > chain state > session > keyOwner (uncheck "include option").
gran
0xaa29fdcff5462e93123d7d9a775941718c3daa6fd2f0fdb49fc8227d6fbb795c
babe
0xf2dd11126fd944e71c2818e124a290d93b9953f4a7a667aa0d7279919d7f0016
imon
0x00311c3979f13cb454d8f40daeb027bd522a3fd4ec71497ceb4b7c3ac4c1c97b
audi
0xeaec253af2e89ec9e7db727521d66722eb59227b404a31b1bed8994cce720a59
Du coup, je peux la recomposer et vérifier qu’elle est bien sur mon noeud Smith avec un appel Developer > RPC call > author > hasSessionKeys