Nœud SMITH Comment vérifier que l'ajout de la clé a bien été fait?

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 ?

1 Like

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.

Tu peux suivre les blocs dans l’explorateur de blocs de Polkadot.js, si ta requête est passée tu la verras…

Dans PolkadotJS → données de la chaîne → session → keyOwner (décocher “inclure l’option”)

Il faut vérifier que tes clés sont bien présentes dans la liste, associées à ton adresse ss58.

2 Likes

Effectivement, je retrouve bien ma clé séparée en 4 et associée à mon compte Nicolas80-GDev(sa clé SS58) dans le retour de cet appel:

[
  ...
  [
    [
      [
        imon
        0x<3ème quart de clé>
      ]
    ]
    5HE6gH87fVuGj6akXneNceBtgEiaUZua43TJbVBRQTT77gp6
  ]
  ...
  [
    [
      [
        audi
        0x<4ème quart de clé>
      ]
    ]
    5HE6gH87fVuGj6akXneNceBtgEiaUZua43TJbVBRQTT77gp6
  ]
  ...
  [
    [
      [
        gran
        0x<1er quart de clé>
      ]
    ]
    5HE6gH87fVuGj6akXneNceBtgEiaUZua43TJbVBRQTT77gp6
  ]
  ...
  [
    [
      [
        babe
        0x<2ème quart de clé>
      ]
    ]
    5HE6gH87fVuGj6akXneNceBtgEiaUZua43TJbVBRQTT77gp6
  ]
  ...
]

Donc il semblerait que l’appel gcli smith set-session-keys était bien passé.
Mais ce n’est pas le plus user-friendly pour vérifier :wink:

Et il faudrait probablement compléter la documentation pour préciser comment faire la vérifiation.

1 Like

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 :slight_smile:

Je vois plusieurs problèmes :

  1. 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.
  2. Manque de documentation concrète. Les outils ont évolué et ne sont pas tous présentés, je vais ajouter ça.
  3. Manque de clarté sur le comportement de Ğcli. À la fois sur les arguments attendus et sur l’absence de retour.
  4. 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.

3 Likes

J’ai revu la documentation, voici ce que j’ai modifié dans le commit 113dca793152f3574ca75462956a7d9b4317df3e.

  1. Modification de la section “set session keys” pour expliquer la théorie et rediriger vers les actions à faire en pratique.
  1. Ajout de documentation pratique, notamment une page sur l’utilisation de gcli dans le contexte d’un noeud forgeron.
  2. Ajout d’un warning sur le comportement de Gcli, il faudra le régler plus tard.
  3. 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.
4 Likes

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é avec Developer > 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

0xaa29fdcff5462e93123d7d9a775941718c3daa6fd2f0fdb49fc8227d6fbb795cf2dd11126fd944e71c2818e124a290d93b9953f4a7a667aa0d7279919d7f001600311c3979f13cb454d8f40daeb027bd522a3fd4ec71497ceb4b7c3ac4c1c97beaec253af2e89ec9e7db727521d66722eb59227b404a31b1bed8994cce720a59

=> true

Edit:
Maintenant que mon noeud Smith est online, je trouve bien les infos dans l’appel Developer > chain state > session > queued keys:

  [
    5Funkng8dL397H9ZEJ9sXDjFhStCqRYUj1a62ngcrEMy7ivn
    {
      grandpa: 0xaa29fdcff5462e93123d7d9a775941718c3daa6fd2f0fdb49fc8227d6fbb795c
      babe: 0xf2dd11126fd944e71c2818e124a290d93b9953f4a7a667aa0d7279919d7f0016
      imOnline: 0x00311c3979f13cb454d8f40daeb027bd522a3fd4ec71497ceb4b7c3ac4c1c97b
      authorityDiscovery: 0xeaec253af2e89ec9e7db727521d66722eb59227b404a31b1bed8994cce720a59
    }
  ]
1 Like

@HugoTrentesaux I created a MR for it:

But I cannot verify the image is properly taken into account from the gitlab page (but I used same relative path)

Edit: avec zola serve en local cela semble correct

1 Like

Impeccable ! Tu as tout à fait raison, c’est dans ce champ qu’il faut regarder :slight_smile:
Merci pour la MR, c’est fusionné !

1 Like

Hello, je suis un peu paumée, j’ai trouvé ce fil correspondant à mon cas entre autre…
Bref, j’ai fait la création des clés avec gcli en suivant la doc content/wiki/doc-v2/installer/forgeron/installer.md · master · websites / duniter_website_fr_v2 · GitLab
mais voici l’erreur…

duniter@debianansac:~$ gcli --url ws://localhost:9944 smith update-keys
Mnemonic: 
Subxt(Metadata(IncompatibleCodegen))

Est-ce que j’ai loupé un truc ?

Voici la trace du noeud duniter sur docker/portainer

2025-01-18 12:56:15 ⚙️  Syncing 140.8 bps, target=#4825613 (8 peers), best: #668992 (0xb0e3…036d), finalized #668672 (0x8a44…32c5), ⬇ 48.3kiB/s ⬆ 50 B/s    
2025-01-18 12:56:20 ⚙️  Syncing 422.4 bps, target=#4825614 (8 peers), best: #671104 (0x9176…f7b0), finalized #670720 (0x9a15…ec07), ⬇ 142.3kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:56:25 ⚙️  Syncing 422.4 bps, target=#4825615 (8 peers), best: #673216 (0x29f2…b498), finalized #672768 (0x1ee7…4cbd), ⬇ 145.4kiB/s ⬆ 0.7kiB/s    
2025-01-18 12:56:30 ⚙️  Syncing 429.8 bps, target=#4825616 (8 peers), best: #675365 (0x3d40…5a30), finalized #675328 (0xace6…4d15), ⬇ 56.7kiB/s ⬆ 0.5kiB/s    
2025-01-18 12:56:35 ⚙️  Syncing 233.6 bps, target=#4825616 (8 peers), best: #676533 (0xe104…8186), finalized #676352 (0xb2b5…5ce7), ⬇ 164.6kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:56:40 ⚙️  Syncing 322.2 bps, target=#4825617 (8 peers), best: #678144 (0x6e22…ea7a), finalized #677888 (0x59b1…a3ae), ⬇ 112.9kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:56:45 ⚙️  Syncing 422.4 bps, target=#4825617 (8 peers), best: #680256 (0x6c5a…0c5c), finalized #679936 (0xab4e…56f7), ⬇ 142.7kiB/s ⬆ 0.8kiB/s    
2025-01-18 12:56:50 ⚙️  Syncing 236.8 bps, target=#4825619 (8 peers), best: #681440 (0x4e0f…cd1f), finalized #680960 (0x7254…babc), ⬇ 75.6kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:56:55 ⚙️  Syncing 454.4 bps, target=#4825620 (8 peers), best: #683712 (0xa82a…e9e0), finalized #683520 (0xca7b…1f16), ⬇ 159.3kiB/s ⬆ 0.9kiB/s    
2025-01-18 12:57:00 ⚙️  Syncing 573.0 bps, target=#4825621 (8 peers), best: #686577 (0x46d2…b2b7), finalized #686080 (0x919f…c03f), ⬇ 165.3kiB/s ⬆ 0.2kiB/s    
2025-01-18 12:57:05 ⚙️  Syncing 250.0 bps, target=#4825621 (8 peers), best: #687827 (0x8be0…21c0), finalized #687616 (0x4e7a…aeef), ⬇ 39.1kiB/s ⬆ 45 B/s    
2025-01-18 12:57:10 ⚙️  Syncing 175.4 bps, target=#4825622 (8 peers), best: #688704 (0x5777…85fa), finalized #688640 (0x978b…c9b7), ⬇ 136.9kiB/s ⬆ 0.7kiB/s    
2025-01-18 12:57:15 ⚙️  Syncing 235.4 bps, target=#4825623 (8 peers), best: #689881 (0x3956…dbbd), finalized #689664 (0x65fa…ee1e), ⬇ 30.9kiB/s ⬆ 1.3kiB/s    
2025-01-18 12:57:20 ⚙️  Syncing 327.8 bps, target=#4825624 (8 peers), best: #691520 (0x268c…3d95), finalized #691200 (0x010f…08fa), ⬇ 159.2kiB/s ⬆ 0.2kiB/s    
2025-01-18 12:57:25 ⚙️  Syncing 486.4 bps, target=#4825625 (8 peers), best: #693952 (0x5783…5529), finalized #693760 (0xdc30…819b), ⬇ 163.8kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:57:30 ⚙️  Syncing 486.4 bps, target=#4825626 (8 peers), best: #696384 (0x03cc…6d53), finalized #696320 (0xaba3…3ccb), ⬇ 165.6kiB/s ⬆ 0.4kiB/s    
2025-01-18 12:57:35 ⚙️  Syncing 422.4 bps, target=#4825626 (8 peers), best: #698496 (0x45c0…3c2c), finalized #698368 (0xfd0b…b38b), ⬇ 142.4kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:57:40 ⚙️  Syncing 202.4 bps, target=#4825627 (8 peers), best: #699508 (0x621a…6565), finalized #699392 (0xd440…7cd0), ⬇ 9.3kiB/s ⬆ 0.8kiB/s    
2025-01-18 12:57:45 ⚙️  Syncing 220.0 bps, target=#4825628 (8 peers), best: #700608 (0xf5f7…dbde), finalized #700416 (0x49ac…b56a), ⬇ 135.7kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:57:50 ⚙️  Syncing  0.0 bps, target=#4825629 (8 peers), best: #700608 (0xf5f7…dbde), finalized #700416 (0x49ac…b56a), ⬇ 1.1kiB/s ⬆ 0.7kiB/s    
2025-01-18 12:57:55 ⚙️  Syncing 422.4 bps, target=#4825630 (8 peers), best: #702720 (0x954e…3417), finalized #702464 (0xb28a…71ec), ⬇ 143.6kiB/s ⬆ 0.4kiB/s    
2025-01-18 12:58:00 ⚙️  Syncing 482.3 bps, target=#4825630 (8 peers), best: #705136 (0x67e3…0781), finalized #705024 (0x7afc…48fc), ⬇ 142.5kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:58:05 ⚙️  Syncing 401.8 bps, target=#4825631 (8 peers), best: #707145 (0x157c…eba3), finalized #707072 (0xea53…db2f), ⬇ 79.9kiB/s ⬆ 0.9kiB/s    
2025-01-18 12:58:10 ⚙️  Syncing 241.4 bps, target=#4825632 (8 peers), best: #708352 (0x1e59…a360), finalized #708096 (0x9522…8088), ⬇ 160.4kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:58:15 ⚙️  Syncing 113.4 bps, target=#4825633 (8 peers), best: #708919 (0x5fa0…dfae), finalized #708608 (0xa4ec…b4b0), ⬇ 5.5kiB/s ⬆ 0.7kiB/s    
2025-01-18 12:58:20 ⚙️  Syncing 373.0 bps, target=#4825634 (8 peers), best: #710784 (0xcd0b…a5d4), finalized #710656 (0xc9f4…3f9d), ⬇ 159.9kiB/s ⬆ 0.6kiB/s    
2025-01-18 12:58:25 ⚙️  Syncing 207.4 bps, target=#4825635 (8 peers), best: #711821 (0x66ff…df5a), finalized #711680 (0xb9dc…bd76), ⬇ 5.9kiB/s ⬆ 0.2kiB/s    
2025-01-18 12:58:30 ⚙️  Syncing 279.0 bps, target=#4825636 (8 peers), best: #713216 (0x4ec2…554b), finalized #713216 (0x4ec2…554b), ⬇ 159.8kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:58:35 ⚙️  Syncing 345.2 bps, target=#4825636 (8 peers), best: #714942 (0x6ce2…d3c5), finalized #714752 (0x2aa8…5db3), ⬇ 56.1kiB/s ⬆ 0.2kiB/s    
2025-01-18 12:58:40 ⚙️  Syncing 230.8 bps, target=#4825637 (8 peers), best: #716096 (0x1d86…39fc), finalized #715776 (0xb7fb…b5a0), ⬇ 138.6kiB/s ⬆ 0.8kiB/s    
2025-01-18 12:58:45 ⚙️  Syncing  0.0 bps, target=#4825638 (8 peers), best: #716096 (0x1d86…39fc), finalized #715776 (0xb7fb…b5a0), ⬇ 5.1kiB/s ⬆ 0.4kiB/s    
2025-01-18 12:58:50 ⚙️  Syncing 422.4 bps, target=#4825639 (8 peers), best: #718208 (0x975c…93f7), finalized #717824 (0x5a94…ccab), ⬇ 138.4kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:58:55 ⚙️  Syncing 62.8 bps, target=#4825639 (8 peers), best: #718522 (0xb590…46a1), finalized #718336 (0xe2e3…cbbd), ⬇ 9.5kiB/s ⬆ 0    
2025-01-18 12:59:00 ⚙️  Syncing 359.6 bps, target=#4825640 (8 peers), best: #720320 (0xc520…2a03), finalized #719872 (0x2ebe…71f8), ⬇ 133.6kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:59:05 ⚙️  Syncing 422.4 bps, target=#4825640 (8 peers), best: #722432 (0xb2a9…66ae), finalized #722432 (0xb2a9…66ae), ⬇ 65.5kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:59:10 ⚙️  Syncing 140.8 bps, target=#4825641 (8 peers), best: #723136 (0xc212…38de), finalized #722944 (0xe5b7…f04f), ⬇ 124.9kiB/s ⬆ 0.6kiB/s    
2025-01-18 12:59:15 ⚙️  Syncing 422.4 bps, target=#4825642 (8 peers), best: #725248 (0x89c0…bed7), finalized #724992 (0x8662…18c0), ⬇ 133.3kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:59:20 ⚙️  Syncing  0.0 bps, target=#4825643 (8 peers), best: #725248 (0x89c0…bed7), finalized #724992 (0x8662…18c0), ⬇ 10.2kiB/s ⬆ 19 B/s    
2025-01-18 12:59:25 ⚙️  Syncing 422.4 bps, target=#4825644 (8 peers), best: #727360 (0x13d2…47e2), finalized #727040 (0xe6d3…01a5), ⬇ 142.2kiB/s ⬆ 0.1kiB/s    
2025-01-18 12:59:30 ⚙️  Syncing 88.8 bps, target=#4825645 (8 peers), best: #727804 (0xe78e…c188), finalized #727552 (0x34ab…473c), ⬇ 13.2kiB/s ⬆ 0.6kiB/s    
2025-01-18 12:59:35 ⚙️  Syncing 333.6 bps, target=#4825645 (8 peers), best: #729472 (0x32a0…587a), finalized #729088 (0xa616…050b), ⬇ 133.8kiB/s ⬆ 1.0kiB/s    
2025-01-18 12:59:40 ⚙️  Syncing 422.4 bps, target=#4825646 (8 peers), best: #731584 (0xa0ca…f9c1), finalized #731136 (0x9b27…f52f), ⬇ 104.8kiB/s ⬆ 0.3kiB/s    
2025-01-18 12:59:45 ⚙️  Syncing  0.0 bps, target=#4825647 (8 peers), best: #731584 (0xa0ca…f9c1), finalized #731136 (0x9b27…f52f), ⬇ 39.1kiB/s ⬆ 11 B/s    
2025-01-18 12:59:50 ⚙️  Syncing  0.0 bps, target=#4825648 (8 peers), best: #731584 (0xa0ca…f9c1), finalized #731136 (0x9b27…f52f), ⬇ 0.7kiB/s ⬆ 0.8kiB/s    
2025-01-18 12:59:55 ⚙️  Syncing 422.4 bps, target=#4825649 (8 peers), best: #733696 (0xc0fe…43ba), finalized #733696 (0xc0fe…43ba), ⬇ 142.4kiB/s ⬆ 0.1kiB/s    
2025-01-18 13:00:00 ⚙️  Syncing 402.4 bps, target=#4825650 (8 peers), best: #735708 (0x0f66…7e4a), finalized #735232 (0xd457…acea), ⬇ 53.6kiB/s ⬆ 0.4kiB/s    
2025-01-18 13:00:05 ⚙️  Syncing 246.4 bps, target=#4825650 (8 peers), best: #736940 (0x8e47…b6a0), finalized #736768 (0x4873…866a), ⬇ 165.4kiB/s ⬆ 0.6kiB/s    
2025-01-18 13:00:10 ⚙️  Syncing 196.0 bps, target=#4825651 (8 peers), best: #737920 (0x1ee8…5be0), finalized #737792 (0x1c18…5584), ⬇ 69.8kiB/s ⬆ 0.5kiB/s    
2025-01-18 13:00:15 ⚙️  Syncing 422.4 bps, target=#4825652 (8 peers), best: #740032 (0x20f9…4c3f), finalized #739840 (0x4e9e…a13b), ⬇ 143.1kiB/s ⬆ 0.1kiB/s    
2025-01-18 13:00:20 ⚙️  Syncing  0.0 bps, target=#4825653 (8 peers), best: #740032 (0x20f9…4c3f), finalized #739840 (0x4e9e…a13b), ⬇ 0.7kiB/s ⬆ 19 B/s    
2025-01-18 13:00:25 ⚙️  Syncing 422.4 bps, target=#4825654 (8 peers), best: #742144 (0x7ba0…09aa), finalized #741888 (0x075c…a579), ⬇ 142.7kiB/s ⬆ 1.0kiB/s    
2025-01-18 13:00:30 ⚙️  Syncing 121.8 bps, target=#4825654 (8 peers), best: #742753 (0xcea9…7f1c), finalized #742400 (0x7821…d5f3), ⬇ 32.0kiB/s ⬆ 0.2kiB/s    
2025-01-18 13:00:35 ⚙️  Syncing 441.4 bps, target=#4825655 (8 peers), best: #744960 (0x2aba…4545), finalized #744960 (0x2aba…4545), ⬇ 160.3kiB/s ⬆ 0.2kiB/s    
2025-01-18 13:00:40 ⚙️  Syncing 418.2 bps, target=#4825656 (8 peers), best: #747051 (0x8db2…b6a0), finalized #747008 (0xd577…ef2a), ⬇ 95.1kiB/s ⬆ 0.2kiB/s    
2025-01-18 13:00:45 ⚙️  Syncing  4.2 bps, target=#4825657 (8 peers), best: #747072 (0x2ee2…0304), finalized #747008 (0xd577…ef2a), ⬇ 52.3kiB/s ⬆ 41 B/s    
2025-01-18 13:00:50 ⚙️  Syncing 422.4 bps, target=#4825658 (8 peers), best: #749184 (0xc869…e266), finalized #749056 (0x4003…4981), ⬇ 139.3kiB/s ⬆ 0.8kiB/s    
2025-01-18 13:00:55 ⚙️  Syncing 85.8 bps, target=#4825659 (8 peers), best: #749613 (0xd7a7…05c6), finalized #749568 (0x41b8…50d7), ⬇ 9.6kiB/s ⬆ 0    
2025-01-18 13:01:00 ⚙️  Syncing 336.6 bps, target=#4825660 (8 peers), best: #751296 (0x5ef4…6fc8), finalized #751104 (0x84d2…a5a4), ⬇ 133.4kiB/s ⬆ 0.1kiB/s    
2025-01-18 13:01:05 ⚙️  Syncing 422.4 bps, target=#4825660 (8 peers), best: #753408 (0x2143…1dcc), finalized #753152 (0xf3c4…f4a0), ⬇ 142.7kiB/s ⬆ 0.3kiB/s    
2025-01-18 13:01:10 ⚙️  Syncing  0.0 bps, target=#4825661 (8 peers), best: #753408 (0x2143…1dcc), finalized #753152 (0xf3c4…f4a0), ⬇ 1.1kiB/s ⬆ 0    
2025-01-18 13:01:15 ⚙️  Syncing 422.4 bps, target=#4825662 (8 peers), best: #755520 (0x3b0d…9d92), finalized #755200 (0xd14d…2df8), ⬇ 142.2kiB/s ⬆ 0.6kiB/s    
2025-01-18 13:01:20 ⚙️  Syncing  0.0 bps, target=#4825663 (8 peers), best: #755520 (0x3b0d…9d92), finalized #755200 (0xd14d…2df8), ⬇ 0.6kiB/s ⬆ 19 B/s    
2025-01-18 13:01:25 ⚙️  Syncing 422.4 bps, target=#4825664 (8 peers), best: #757632 (0xd2a8…d35e), finalized #757248 (0x29ac…cd7c), ⬇ 142.1kiB/s ⬆ 0.1kiB/s    
2025-01-18 13:01:30 ⚙️  Syncing 392.6 bps, target=#4825665 (8 peers), best: #759595 (0xb731…0aa6), finalized #759296 (0x8b58…b662), ⬇ 51.9kiB/s ⬆ 41 B/s    
2025-01-18 13:01:35 ⚙️  Syncing 253.2 bps, target=#4825665 (8 peers), best: #760861 (0x4051…564f), finalized #760832 (0xf3e2…b31c), ⬇ 163.4kiB/s ⬆ 0.2kiB/s    
2025-01-18 13:01:40 ⚙️  Syncing 467.8 bps, target=#4825666 (8 peers), best: #763200 (0x2c1f…7126), finalized #762880 (0xe4a5…0f89), ⬇ 160.5kiB/s ⬆ 1.9kiB/s    
2025-01-18 13:01:45 ⚙️  Syncing 461.0 bps, target=#4825667 (8 peers), best: #765505 (0xdc3b…7a4d), finalized #765440 (0xa54a…9dda), ⬇ 56.5kiB/s ⬆ 0.8kiB/s    
2025-01-18 13:01:50 ⚙️  Syncing 115.0 bps, target=#4825668 (8 peers), best: #766080 (0xd84c…1ec5), finalized #765952 (0x7685…473f), ⬇ 137.8kiB/s ⬆ 0.1kiB/s    
2025-01-18 13:01:55 ⚙️  Syncing 422.4 bps, target=#4825668 (8 peers), best: #768192 (0x0037…988b), finalized #768000 (0x9b7b…7cd8), ⬇ 144.0kiB/s ⬆ 0.7kiB/s    
2025-01-18 13:02:00 ⚙️  Syncing  8.6 bps, target=#4825669 (8 peers), best: #768235 (0xa1ab…7ab1), finalized #768000 (0x9b7b…7cd8), ⬇ 5.2kiB/s ⬆ 0.5kiB/s    
2025-01-18 13:02:05 ⚙️  Syncing 418.4 bps, target=#4825669 (8 peers), best: #770327 (0x3cfc…2679), finalized #770048 (0xcb60…5663), ⬇ 143.1kiB/s ⬆ 0.3kiB/s    
Node key file '/var/lib/duniter/node.key' exists.
Node peer ID is '12D3KooWBTHsRuqmu2ae2NDtNkXmumV7A1mjz56J8Gn5TzAB1YL1'.
Starting duniter with parameters: --name Sleoconnect-Ansac-smith --node-key-file /var/lib/duniter/node.key --public-addr /dns/ansac.sleoconnect.fr/tcp/30337/ws --listen-addr /ip4/0.0.0.0/tcp/30337 --rpc-cors all --rpc-methods Unsafe --validator --blocks-pruning 14400 --chain gdev -d /var/lib/duniter --unsafe-rpc-external
2025-01-18 13:02:08 Duniter    
2025-01-18 13:02:08 ✌️  version 0.9.2-unknown    
2025-01-18 13:02:08 ❤️  by librelois <c@elo.tf>:tuxmain <tuxmain@zettascript.org>:c-geek <https://forum.duniter.org/u/cgeek>:HugoTrentesaux <https://trentesaux.fr>:bgallois <benjamin@gallois.cc>:Duniter Developers <https://duniter.org>:Axiom-Team Developers <https://axiom-team.fr>, 2021-2025    
2025-01-18 13:02:08 📋 Chain specification: ĞDev    
2025-01-18 13:02:08 🏷  Node name: Sleoconnect-Ansac-smith    
2025-01-18 13:02:08 👤 Role: AUTHORITY    
2025-01-18 13:02:08 💾 Database: ParityDb at /var/lib/duniter/chains/gdev/paritydb/full    
2025-01-18 13:02:09 Local node identity is: 12D3KooWBTHsRuqmu2ae2NDtNkXmumV7A1mjz56J8Gn5TzAB1YL1    
2025-01-18 13:02:09 Running litep2p network backend    
2025-01-18 13:02:09 👶 Starting BABE Authorship worker    
2025-01-18 13:02:09 💻 Operating system: linux    
2025-01-18 13:02:09 💻 CPU architecture: x86_64    
2025-01-18 13:02:09 💻 Target environment: gnu    
2025-01-18 13:02:09 💻 CPU: Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz    
2025-01-18 13:02:09 💻 CPU cores: 4    
2025-01-18 13:02:09 💻 Memory: 15834MB    
2025-01-18 13:02:09 💻 Kernel: 6.1.0-28-amd64    
2025-01-18 13:02:09 💻 Linux distribution: Debian GNU/Linux 11 (bullseye)    
2025-01-18 13:02:09 💻 Virtual machine: no    
2025-01-18 13:02:09 📦 Highest known block at #771008    
2025-01-18 13:02:09 〽️ Prometheus exporter started at 127.0.0.1:9615    
2025-01-18 13:02:09 Running JSON-RPC server: addr=0.0.0.0:9944,[::]:43911    
2025-01-18 13:02:09 ***** Duniter has fully started *****    
2025-01-18 13:02:11 🔍 Discovered new external address for our node: /ip4/77.134.33.15/tcp/52670    
2025-01-18 13:02:14 ⚙️  Syncing, target=#4825670 (7 peers), best: #771264 (0x4563…8bbc), finalized #771072 (0x2dab…9b4a), ⬇ 156.5kiB/s ⬆ 1.7kiB/s    
2025-01-18 13:02:19 ⚙️  Syncing 448.0 bps, target=#4825672 (6 peers), best: #773504 (0x8212…9f65), finalized #773411 (0xc461…40cf), ⬇ 150.3kiB/s ⬆ 0.6kiB/s    

Et le stack

# Duniter smith node
services:
  duniter-smith:
    image: duniter/duniter-v2s-gdev-800:latest        # <--- image Docker
    restart: unless-stopped
    ports:
      # prometheus endpoint for monitoring
      - 127.0.0.1:9615:9615
      # private rpc endpoint (do not expose publicly)
      - 127.0.0.1:9944:9944
      # public p2p endpoint
      - 30333:30333                             # <--- port p2p public
    volumes:
      - duniter-data:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev                               # <--- réseau où se connecter
      - DUNITER_NODE_NAME=Sleoconnect-Ansac-smith                     # <--- le nom de votre noeud
      - DUNITER_VALIDATOR=true                                # <--- activer le noeud validateur
      - DUNITER_PRUNING_PROFILE=light                         # <--- conserver 256 blocs d'historique
      - DUNITER_PUBLIC_ADDR=/dns/ansac.sleoconnect.fr/tcp/30337/ws   # <--- endpoint p2p public
      - DUNITER_LISTEN_ADDR=/ip4/0.0.0.0/tcp/30337            # <--- adresse d'écoute p2p
volumes:
  duniter-data:

Mes tests enregistrés en vidéo pour mémoire (brouillons de tutoriels)
1/ Become Smith avec Duniter panel
Dropbox
2/ Install gcli
Dropbox
3/ Noeud Smith sur Portainer/docker
Dropbox

J’avoue que je ne sais pas trop ce qui a pu se passer (et le message n’est pas méga clair pour moi)…

Tu es bien certaine que depuis l’ordinateur qui exécute la commande GCli, l’url ws://localhost:9944 point bien vers un noeud duniter v2 en mode validator ?

Juste pour vérifier je regardais pour ton addresse de compte, celui là est bien SMITH :slight_smile:

gcli -a 5Fshz9EXfjA3bo3kaxS3RCuAggmzNHE3tK1r1QFU9XxoJhum identity show
Identity index: 14609
Username:       Sleoconnect
Address:        5Fshz9EXfjA3bo3kaxS3RCuAggmzNHE3tK1r1QFU9XxoJhum
Status:         Member
Certifications: received 4, issued 0
Smith status:   Smith
Smith certs:    received 3, issued 0

Du coup, pour les messages d’erreur Subxt est-ce qu’il y a une documentation de ce que l’on peut recevoir comme erreur quelque part ?

Alors, j’ai recommencé la même commande

sauf qu’à la fin, j’ai ajouté la dérivation “//2”

edit : j’ai retrouvé la vidéo où j’explique la difficulté Connexion à Duniter Gdev avec Duniter Connect (extension navigateur) - AnnaTube

et avant de recommencer (après un certain lâcher-prise et un éclair fulgurant) j’ai laissé le nœud se synchroniser…


donc ensuite, le go-online !

Ah, ok, je n’avais pas compris que le soucis pouvait être au niveau du mnémonique…

Personellement, je préfère ajouter mes adresses dans le vault avant de les utiliser.

Si tu ajoutes dans le vault le mnémonique en oubliant le path de dérivation, tu aurais probablement remarqué que l’adresse associée était une autre que celle que tu voulais :slight_smile:

1 Like

Ok, j’ai fait la suite en vidéo pour récapituler…
Become Smith : update-keys + go-online

PS : je me souviens qu’il faut attendre quelques heures avant de passer on-line effectivement ! (à préciser dans la doc GB Duniter | Become smith… c’est prévu en FR content/wiki/doc-v2/installer/forgeron/installer.md · master · websites / duniter_website_fr_v2 · GitLab)

Reste des questions que je me pose…
Comment se fait le lien entre gcli sur debian en local et le noeud forgeron dans le docker ?
Comment vérifier que le noeud forgeron qui tourne sur docker sera bien celui qui va forger les blocs avec la clé forgeron associée dans gcli ?

En effet, le vault est expliqué dans la doc en GB Duniter | Ğcli mais pas dans la doc en FR content/wiki/doc-v2/installer/forgeron/installer.md · master · websites / duniter_website_fr_v2 · GitLab
et je ne vois pas de notion de dérivation expliqué quelque part ! on voit //Alice en exemple mais ensuite si on part d’un portefeuille v1 migré en v2 sur Gecko, il y a une dérivation automatique en 2 par défaut…
J’en parle dans cette vidéo 2024-11-04 Démo env. Smith Duniter-v2s Gdev - AnnaTube

la solution est expliquée ici en fait en partie…