Rencontre technique à Bordeaux du 11 au 13 novembre 2022

je colle ici la partie de pad de contrendu au dessus qui me semble la plus importante, à savoir le tuto pas à pas pour créer un nouveau live network v2s de zero.

Il faudra le traduire en anglais et le fusionner avec la doc du dépôt git existante: docs/dev/launch-a-live-network.md · master · nodes / rust / Duniter v2S · GitLab

initialisation / lancement / genesis

Étapes :

  1. Choisissez le runtime qu’on veut utiliser
  2. Choisissez une version compatible du client (généralement client récent rétro-compatible avec les ancien runtime, donc utiliser le plus récent sauf exeption)
    Ce qui se traduit par récupérer le dernier commit de master, celà devrait fonctionner.
  • Aller chercher dans le source master et générer une image docker en lançant dans la CI : build_release_manual & deploy_docker_release_sha
    (capture à demander à Hugo)
  1. Générez les sessions-keys de l’initiateur (peu sécurisées, à modifier juste après lancement) (cf launch a live network)

    • Lancez cette commande en remplaçant TAG par sha- suivi des 8 premiers caractère du commit du client qu’on veut utiliser, pour générer votre passphrase:
    docker run --rm -it --entrypoint duniter duniter/duniter-v2s:TAG key generate
    
    • Génerez vos session keys:
    docker run --rm -it --entrypoint duniter duniter/duniter-v2s:TAG key generate-session-keys --chain gdev_local --suri "<your secret phrase>"
    
    • Copiez les sessions keys qui s’affichent pour les inclures dans le fichier de config v2s-genesis :
      • dans gdev.json : >smith>nomDuSmithQuiLanceLeReseau>session_keys
  2. Générez les chainSpec initales

docker run -v $HOME/dev/duniter-v2s/resources:/var/lib/duniter/resources -e DUNITER_GENESIS_CONFIG=/var/lib/duniter/resources/gdev.json --rm -it --entrypoint duniter duniter/duniter-v2s:TAG build-spec -lerror --chain=gdev-gl --raw > gdev-raw.json
  1. Démarrez une première version du réseau avec les chainSpec externe pour débuger jusqu’à ce que ça marche

Dans le script qui suit, il faut modifier la variable DUNITER_IMAGE_TAG

./scripts/create-live-network.sh "<your secret phrase>" gdev

Ce script génère le docker compose avec accès via volume aux keystore contenant les sessions_key initiales

TODO: Ajouter les ports 9933:9933 au compose template utilisé par le script, pour avoir l’api rpc en http simple en plus du websocket

  1. Copiez sur le serveur le dossier que vous venez de générer (tmp/gdev)

exemple: scp -r -P SSH_PORT "<path/to/dist/folder>" user@ip:/remote/dist/path

  1. Lancez le docker_compose
  2. Une fois le noeud lancé, récupérer son peerid pour connaitre l’endpoint libp2p de votre noeud
    Il vous faudra ajouter ce endpoint libp2p à vos chainspec, champ bootnodes
  3. Une fois que votre réseau est fonctionnel, mergez dans master un commit qui ajoute les bootnode
  4. Pushez un git tag (v0.x.0, où x est l’incrément du numéro précédent), ce qui déclenche la création de la docker image de prod dans la CI
  5. Vous pouvez déployer un second noeud avec l’image docker de prod qui vient d’être généré, pour vérifier qu’il se synchronise correctement au premier
  6. Incrémenter le numéro de version “v0.n.0” par “v0.n+1.0” dans la doc docs/user/smith.md · master · nodes / rust / Duniter v2S · GitLab
  7. Félicitation, vous avez lancé votre live network !
  8. Vous pouvez optionnellement songer à lancer un v2s-indexer pour les wallets, et/ou un hydra pour les devs et testeurs

TODO: liens vers les docs v2s-indexer et hydra

2 Likes

Nous ne sommes que 3 validateurs actuellement sur la ḠDev3, il en faudrait plus pour stabiliser le réseau.

Voici pour rappel la doc pour le devenir: docs/user/smith.md · master · nodes / rust / Duniter v2S · GitLab

2 Likes

@1000i100, as tu une idée de quand tu pourras upload la vidéo sur BABE-GRANDPA pour qu’on puisse en extraire des passages intéressants / chapitrer pour retrouver l’info ?

@poka attention tu as oublié d’incrémenter la version de l’image dans la doc, à chaque nouveau client livré il faut remplacer toutes les occurrences “v0.n.0” par “v0.n+1.0”.

C’est très important, car il est impossible de rejoindre la nouvelle gdev avec un ancien client (v0.3.0), car l’ancien client n’a pas les nouvelles chainspec, donc quelqu’un qui suit la doc n’arriverait pas à ce synchro.

Je viens de le faire pour cette fois (v0.4.0 (99d2b419) · Commits · nodes / rust / Duniter v2S · GitLab), mais il faut que tu y penses la prochaine fois, étape à ajouter dans la doc “déployer un live network” !

1 Like

Bien vue merci

fait dans le message CR du dessus, on va merger dans la doc

18Go de rush ici :
https://vrac.1000i100.fr/2022-11-13-babe-grandpa-rencontre-tech-monnaie-libre-g1/

2 Likes

Peux-tu rendre les rush accessible de nouveau ? Je ne les avais pas téléchargé, mais je vais faire le montage puisque personne d’autre ne l’a fait.

2 Likes

dans le wiki de @italpaola il y a un réalisateur qui souhaite aider (celui qui propose de participer à la comm stratégique…).
J’ai suggéré de lui demander s’il était ok pour faire quelques montages justement.
Peut-être attendre sa réponse avant de t’y coller ? …
la bisoute

Hello @HugoTrentesaux c’est Bertrand, présent sur ce forum chez Axiom-Team. Tu trouveras son adresse mail dans la boite mail d’Axiom-Team :pray:

@1000i100 peux-tu nous transmettre les rush ? @bertr est prêt à se lancer dans le montage pour pouvoir finalement publier cette session de partage de connaissance.

2 Likes

Vous trouverez la conférence ici → Axiom_conf_tech-Elois-BABE-GRANDPA-nov_22 - P2Tube
et je joins à ce message la timeline.
Bon écoute :pray:
timeline-conf-elois-nov22.pdf (623,9 Ko)

3 Likes