Duniter-gtest v2.0.5 (bootnodes GTest et configuration du hard fork GRANDPA)

Une nouvelle version de Duniter est disponible pour la GTest. Elle ajoute des bootnodes gtest et corrige plusieurs bugs survenus suite au forçage de finalité effectué par le comité technique sur la GTest il y a 10 jours :

  • Un nouveau nœud pouvait parfois bannir tous ses pairs et perdre le réseau en rejetant des justifications GRANDPA qu’il considérait invalides. Cela est dû au fait que la chaîne de preuve GRANDPA est cassée lorsque l’on force la finalité avec le root call grandpa.noteStalled. Pour la réparer, il faut configurer un hard fork GRANDPA, hardcodé dans le binaire.

  • La warp sync ne fonctionnait plus depuis le hard fork de finalité. Le Polkadot SDK ne supporte pas la warp sync sur les réseaux ayant subi un hard fork de finalité GRANDPA. Je pense que cela n’a jamais été corrigé, car Polkadot n’a jamais eu de hard fork (seuls Kusama et certains réseaux de test en ont eu), et les opérateurs de nœuds sur Kusama acceptent de mettre plusieurs jours à synchroniser (voire des semaines). Ce n’est pas acceptable pour nous si l’on veut supporter du matériel peu puissant sur le long terme. J’ai donc patché le Polkadot SDK pour supporter partiellement la warp sync sur les réseaux avec hard fork GRANDPA. Je n’ai patché qu’un des deux modes de la warp sync, mais c’est le mode par défaut dans Duniter v2.0.5, donc si vous utilisez --sync warp, cela fonctionnera.

Nouvelle image Docker : duniter/duniter-gtest-1000:1100-2.0.5

Page de release GitLab : gtest-1000-2.0.5 · nodes / rust / Duniter v2S · GitLab

Release notes

  • Fix warp sync: always serve /sync/warp sub protocol (!395)
  • Gtest bootnodes (!393)
  • Resolve “Warp sync: use WithTarget from trusted checkpoint” (!392)
  • Fix gtest GRANDPA state and sync: configure GRANDPA hard forks and patch polkadot-sdk warp sync (!397)
4 Likes

Je suis perdu dans la nomenclature des images Docker. Pourquoi duniter/duniter-gtest-1000 et pas duniter/duniter-gtest-1100 ?

Parce que le numéro dans la partie image (pas le tag) est censé représenter la version du runtime Genesis. Le test gtest a été lancé avec le runtime 1000. Il y a eu une erreur de nommage de l’image initiale, qui aurait dû s’appeler gtest-1000. Je ne fais que corriger cette erreur.

1 Like

OK, donc pour éviter toute ambiguïté ce serait peut-être bien de dépublier duniter/duniter-v2s-gtest-1100, non ?

2 Likes

J’ai essayé de démarrer un noeud Gtest from scratch. J’ai le même docker-compose.yml que pour la g1, avec adaptation des variables et nom d’image pour la Gtest.

Le noeud ne démarre pas et la log affiche :

Generating node key file '/var/lib/duniter/node.key'...

thread 'main' panicked at node/src/command.rs:244:26:
unknown runtime
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Error: Io(Os { code: 2, kind: NotFound, message: "No such file or directory" })
Node peer ID is ''.
Starting duniter with parameters: --name pini-gtest-mirror --node-key-file /var/lib/duniter/node.key --public-addr /dns/gtest.pini.fr/tcp/443/wss --rpc-cors all --no-prometheus --state-pruning archive --blocks-pruning archive --chain g1 -d /var/lib/duniter --unsafe-rpc-external

Il semblerait que ce soit la génération du fichier node.key qui échoue.

D’après tes log tu lance avec --chain g1, tu à oublié de modifier DUNITER_CHAIN_NAME

1 Like

Oups. Bien vu !

Heu, je viens de me faire avoir en mettant à jour vers l’image
image: duniter/duniter-v2s-gtest-1000:latest

J’avais juste remplacé “gtest-1100” par “gtest-1000” et je me suis retrouvé en version 1.11.1 dans la télémétrie :smiley:

Du coup, comme le mentionne @Pini

Ce serais bien de dépublier toutes les images obsolètes

  • duniter/duniter-v2s-gtest-1100:*
  • duniter/duniter-v2s-gtest-1000:*
  • ? duniter/duniter-v2s-test:*

Et probablement pas mal d’autres qui pourraient être retirées également

1 Like

Je n’ai pas les droits pour faire ça. Les images sont publiées via la CI, et je ne vais pas développer une CI spécifique pour ça; c’est beaucoup trop chronophage. Il faudrait que quelqu’un qui a les droits puisse dé-publier ces images directement. @poka @Moul Est-ce que vous avez les droits pour dé-publier ces images ?

1 Like

Mon nœud gtest rpc est à jour.

1 Like