Il y eu beaucoup de modifications dans Duniter, Ğcli est le premier client à s’adapter avant même le lancement d’un nouveau réseau de test ! (en même temps ce sera bien pratique de l’avoir)
Voici donc un aperçu du nouveau parcours forgeron :
à la deuxième certification, Dave est “promu” forgeron et peut désormais changer ses session keys et appeler go_online
On remarque déjà un “bug” de Duniter qui émet l’événement PromotedToSmith pour toutes les certification au dessus du seuil. Rien de grave, mais ce sera perturbant pour les indexeurs.
Je ne vous montre pas le nouveau parcours d’identité parce que l’oracle de distance est requis et que ça prend du temps (2h car deux sessions), mais en gros ça donne :
# création d'identité
gcli -s Alice identity create 5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw
# transfert de ĞD pour couvrir les frais de confirmation d'identité
gcli -s Alice account transfer 1000 5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw
# confirmation d'identité
gcli -s Eve identity confirm Eve
# certifications
gcli -s Bob identity certify 5
gcli -s Charlie identity certify 5
# demande d'évaluation de la règle de distance
gcli -s Charlie identity request-distance-evaluation-for 5
# après évaluation, l'adhésion est automatique
Vu que tu es plutôt réactif sur la ĞDev, et que tu as déjà déployé un nœud validateur, est-ce que tu veux devenir Smith ? C’est l’occasion de tester la nouvelle palette smith-members aussi
Il faut certainement quelques développements côté ĞCli, @HugoTrentesaux ?
Normalement c’est bon (Ğcli s'adapte au runtime 800 : nouveau parcours forgeron), il faut juste utiliser la dernière version publiée par la CI du bounty (🎈 Publication automatique de ğcli). Et configurer pour utiliser un bon nœud tant que coinduf.eu n’est pas sur le bon réseau (Duniter | Ğcli). Je vais filmer ça en vidéo et traduire le tuto en français (Duniter | Become smith). Et aussi il y aura des incohérences tant que les indexeurs subsquid ne seront pas rebootées sur le bon réseau, mais on peut utiliser l’option --no-indexer pour ne pas l’utiliser.
Il faut que j’essaye de conserver le même peer id pour coinduf.eu pour éviter de casser les bootnodes. Normalement récupérer le contenu du keystore devrait suffire, mais je garantis pas vu que je suis pas super à l’aise avec docker.
edit
Ah non c’est déjà pas le bon apparemment :
duniter-gdev-smith-duniter-smith-1 | 2024-02-06 12:43:34 💔 The bootnode you want to connect to at `/dns/gdev.coinduf.eu/tcp/30333/p2p/12D3KooWFseA3B66eBzj4NY5ng3Lb2U3VPnKCi3iXYGYUSAahEw7` provided a different peer ID `12D3KooWMv9X3ZocyrE82qt22LnDPREhP2j9Tr4rrfBwKZ44LUP3` than the one you expect `12D3KooWFseA3B66eBzj4NY5ng3Lb2U3VPnKCi3iXYGYUSAahEw7`.
et si vous avez ça, c’est normal, c’est les autres noeuds qui essayent de se connecter à vous :
Salut @cgeek , mon objectif est de vous accompagner au mieux de mes dispo et compétences. J’ai vu avec @HugoTrentesaux ce week-end pour devenir smith lors de la nouvelle Gdev. J’ai donc découvert Gcli, en 2 minutes. Si ne n’arrive pas à tout faire en autonomie et que je demande de l’accompagnement pour vos test, je me porte volontaire à tout ce que vous voulez !!
# pour avoir les infos sur ton identité
$ gcli --no-indexer identity get -u JosselinFERREIRA
Identity index: 12950
Username: JosselinFERREIRA
Address: 5H6AjTQZtuzvGbXBFG7zw6eZg9EkCKQurWD26XRTcznghsU1
Status: Member
# pour te certifier sur la toile normale
$ gcli identity certify 12950
transaction submitted to the network, waiting 6 seconds...
new certification 344 → 12950
# pour t'inviter sur la toile forgeron
gcli smith invite 12950
transaction submitted to the network, waiting 6 seconds...
Pallet error: SmithMembers::InvitationIsAOnlineSmithPrivilege
Comme on peut le voir, je ne peux pas encore t’inviter parce que mon nœud forgeron n’est pas encore online, mais normalement il devrait l’être prochainement, je te dis ^^
[edit] en fait non, la pipeline de la v0.2.4 a échoué, la v0.2.3 peut marcher, il faut essayer, normalement il y a une seule commande qui devrait être cassée c’est gcli blockchain runtime-info mais je sais pas vu que j’ai pas essayé
./target/debug/gcli --no-indexer identity get -u JosselinFERREIRA
./target/debug/gcli smith invite 12950
Et voilà !
Maintenant il te faut accepter cette responsabilité avec un gcli smith accept, puis nous pourrons te certifier
@Pini@moul@tuxmain@1000i100@vit avec cette nouvelle ĞDev vous êtes Smith offline par défaut au Genesis, ce qui signifie que vous avez émis et reçu automatiquement 6 certifications mais que vous n’avez pas encore de nœud online.
Ce statut ne dure “que” 3 semaines : sans action de votre part, vous perdrez vos 6 certifications reçues et il faudra toutes les ré-obtenir. Le seul moyen pour repousser ce délai : installer un nœud online. Tant que votre nœud est online, vous êtes tranquilles. Dès que vous repassez offline, le délai de 3 semaine recommence à courrir.
suite à l’invitation envoyée par @cgeek pour devenir Smith, j’ai téléchargé Gcli, je pense avoir fait la config correctement à l’aide de : ./gcli --network gdev -S cesium config save
on voit bien la clé v2 issue de mon compte cesium dans le fichier config: ./gcli config show
duniter endpoint wss://gdev.p2p.legal:443/ws
indexer endpoint https://subsquid.gdev.coinduf.eu/graphql
address 5H6AjTQZtuzvGbXBFG7zw6eZg9EkCKQurWD26XRTcznghsU1 (no secret)
mais c’est à la variable “-s” que je coince pour le secret ! si je mets quelque chose lors du save config, il y a toujours (no secret).
et si je lance la commande de @cgeek : gcli smith accept, Gcli me demande le Mnemonic que je n’ai jamais pu créer car le compte est issu de G1v1 et pas d’un création nouvelle.
j’ai beau saisir cette commande pour le fixer : ./gcli -S cesium identity change-owner-key -s "<MNEMONIC_EN_CLAIR>"
bref je n’ai aucune idée du MNEMONIC à utiliser et je ne pense vraiment pas en avoir eu un à retenir.
Voila le boulet !!, z’avez accepté mon aide mais c’est plutôt moi qui ai besoin de vous merci de votre retour, il y a sûrement quelque chose qui m’échappe !!
Dans Duniter v2 il est possible de changer la clé qui contrôle l’identité. La raison de cette fonctionnalité est de permettre d’utiliser une autre méthode de génération des clés à la fois plus sécurisée et mieux intégrée à l’écosystème. C’est l’objectif de la commande “change owner key”.
Ce n’est bien entendu pas obligatoire, et pour utiliser ton compte membre généré avec la méthode identifiant / mot de passe tu peux simplement faire :
$ gcli -S cesium smith accept
Cesium id:
Cesium password:
Ğcli te demandera alors identifiant et mot de passe systématiquement. Ğcli ne gère pas encore de fichier de trousseau chiffré, et il ne sait actuellement que sauvegarder un mnemonic en clair, et pas de couple id/mdp utilisé pour générer les clés “v1”. Donc pour l’instant, si tu utilises ce compte, tu devras rentrer tes identifiants pour chaque action en “écriture”. Par contre, en “lecture” il sait quelle est ton adresse :
# pas besoin de rentrer d'adresse ou d'identifiants
# car gcli a l'info dans son fichier de config
gcli account balance
Au contraire ! Comme je t’ai expliqué nous avons besoin de toi ! C’est avec ce genre de discussions que je sais quelles fonctionnalités développer en priorité dans les outils. Par exemple là, je vais prioriser le ticket #17. Et toutes ces discussions où nous apportons des réponses détaillées sert à constituer une base de connaissance à destination des futurs visiteurs du forum, je vais donc déplacer cette portion de discussion dans un sujet avec un titre plus approprié ^^
Merci, @HugoTrentesaux , promis j’arrête de m’excuser de mon niveau d’autonomie ! mais avec le Gcli que j’utilise, voici la réponse à ./gcli -S cesium smith accept
j’ai pris la release 0.2.3 mais la command -V annonce 0.2.2 alors j’ai suivi la commande de Cgeek pour le recomplier mais elle n’est pas allé à son terme
@HugoTrentesaux : je viens de mettre à jour release-new-runtime.md. Ce serait bien qu’au prochain reboot ce soit toi qui prenne la main, afin de valider que l’on soit au moins deux à maîtriser le processus.
Avec Gcli v0.2.5 : ./gcli -S cesium smith accept
result :
transaction submitted to the network, waiting 6 seconds…
accepted smith invitation InvitationAccepted { idty_index: 12950 }
# je te certifie ;)
gcli smith certify 12950
transaction submitted to the network, waiting 6 seconds...
new smith certification SmithCertAdded { receiver: 12950, issuer: 344 }
Je n’ai jamais utilisé gcli auparavant.
Je viens de télécharger le binaire v2.5.
Je l’ai déployé sur un Linux x86_64.
Mon nœud tourne sur un linux aarch64.
J’imagine qu’il faut configurer le nœud dans gcli.
Existe-t-il une documentation ?
./target/debug/gcli --no-indexer smith certify 12950 Wed Feb 7 21:23:05 2024
transaction submitted to the network, waiting 6 seconds...
new smith certification SmithCertAdded { receiver: 12950, issuer: 34 }