Nouvelle version 1.7.21 de Duniter (hotfix) | DUBP v12 | Ğ1

Télécharger Duniter v1.7.21

Pour vous mettre à jour il suffit d’installer duniter 1.7.21, il remplacera automatiquement l’ancienne version. Référez-vous au tutoriel d’installation.

Cette mise a jours ne nécessite pas de resynchronisation.

Cette version a pour objectif de faire évoluer le protocole en v12 : [DUBP V12] RFC approved

Cette nouvelle version comporte deux changements dans le protocole blockchain (nommé DUBP pour DUniter Blockchain Protocol) :

@Blacksmith merci de mettre a jours dès que possible votre noeud Duniter en v1.7.21

Le passage du réseau g1 en v12 se fera automatiquement dès que 70% des membres forgerons auront forgé au moins 1 bloc avec la version 1.7.21.

Merci de ne pas installer cette version sur la Ğ1 pour le moment, nous devons d’abord tester que le changement de protocole se déroule correctement sur la monnaie de test.

Changelog v1.7.21

  • fix #1396 CINDEX revert removes certifications (@cgeek)
  • fix #1390 Duniter uses a buggy version of TweetNaCl (@elois)
  • fix #1394 Former member back in the WoT with only 4 certifiers (@cgeek)

Quel avenir pour Duniter ?

Vous l’aurez remarqué, il n’y avait pas eu de nouvelle version depuis 6 mois. Le développeur principal de Duniter (@cgeek) se contente d’assurer la maintenance en production, il ne souhaite plus développer de nouvelles fonctionnalités pour le moment.

De mon côté, je poursuis activement le développement de Dunitrust, qui pourra je l’espère prendre la relève a terme (j’ai décidé de ne plus donner de dates prévisionnelles).

Duniter va toutefois continuer à évoluer un petit peu en attendant, je serai notamment amené à y contribuer si cela s’avère nécessaire pour une mise en compatibilité avec Dunitrust.

Le plus proche à venir pour Duniter, c’est l’implémentation de la version 13 du protocole DUBP, dont un brouillon de RFC existe déjà : https://git.duniter.org/nodes/common/doc/blob/dubp_v13/rfc/0011_Duniter_Blockchain_Protocol_V13.md

J’ouvrirai prochainement un thread dédié à cette RFC, après l’avoir complétée (ajout des changements pour compatibilité Lightning Network + éventuelle suppression du blockstamp des transactions selon avancé de la discussion sur ce sujet).

Tout ça c’est du boulot

Développer et maintenir le logiciel moteur qui fait fonctionner notre monnaie demande énormément de temps et d’investissement, si vous souhaitez pérenniser la Ğ1, merci de faire un don sur la caisse commune de rémunération des contributeurs, clé publique Ğ1 : 78ZwwgpgdH5uLZLbThUQH7LKwPgjMunYfLiCfUCySkM8

12 J'aimes

12 messages ont été scindés en un nouveau sujet : Build ARM de Duniter v1.7.21

Grâçe a @scanlegentil nous avons déjà atteint le quota pour le saut en DUBPv12.
Le réseau Ğ1-Test a automatiquement switché en V12 au bloc #517158 :partying_face:

Le réseau a switché car nous étions plus de 70% (3 membres forgerons sur 4) à être a jours. Il s’agit de @Moul @scanlegentil et moi-même :slight_smile: (le 4ème étant @Attilax).

Tant que @jytou était dans la fenêtre courante, nous ne pouvions pas switcher car 3 sur 5 = 60% < 70%. C’est donc l’arrêt du noeud de @jytou qui a déclenché le saut en v12 !

En conséquence, tout les noeuds Duniter en version < 1.7.20 ne peuvent plus fonctionner sur la Ğ1-Test !

Le noeud miroir officiel n’ayant pas encore été mis a jours, le seul endpoint BMA disponible actuellement pour vous synchroniser après mise a jours est le mien : https://ts.gt.elo.tf

Je vous invite donc a vous mettre a jours, vous sync sur mon noeud, puis activer votre endpoint BMA pour qu’on est plusieurs noeuds pour les sync, merci :slight_smile:

3 J'aimes

Je ne l’ai pas arrêté, je builde sur un autre pi. Il a dû lagger à un moment. :slight_smile: Du coup, je le laisse, même s’il est pas updaté, ça vous fera les pieds ! :stuck_out_tongue: (et ça permet surtout de tester ce qui se passe quand tous les nœuds ne sont pas à jour)

Ça on sait déjà sans surprise, le noeud mirroir officiel, le noeud d’attilax, et le tien sont parties sur un hard fork a partir du bloc #517157, ce hard fork ne pourra jamais être résolu. Vous n’êtes que 2 forgerons sur votre branche donc elle n’avance pas. Mais si vous étiez nombreux vous pourriez créer une autre monnaie, on se retrouverait avec 2 monnaies Ğ1-Test différentes !

1 J'aime

Je me resynchronise au noeud indiqué. Adieu jytou et bonne chance avec cette G2.

@TestSmith noeud miroir officiel mis a jours, vous pouvez donc désormais vous resync sur https://g1-test.duniter.org :slight_smile:

1 J'aime

J’ai ajouté un 2ème noeud sur la monnaie Ğ1-Test, @TestSmith vous avez désormais 3 noeuds sur lesquels vous synchroniser (tous les 3 en htttS) :

https://g1-test.duniter.org
https://ts.gt.elo.tf
https://ts.gt.librelois.fr

3 J'aimes

@TestSmith le paquet debian pour armv8 est désormais fonctionnel. Si vous êtes sur architecture armv8, merci de vous mettre a jour, cela concerne notamment les raspberry pi 4.

Le paquet est à jour sur la page du tag : https://git.duniter.org/nodes/typescript/duniter/tags/v1.7.21

Notez bien qu’il n’y a pas encore de paquet pour les raspberry pi 3.

5 J'aimes

Mon nœud Raspi 4 vous a rejoint :wink: et d’un bloc !

2 J'aimes

Et ben il dépote ton rpi4, cool nous voila 5 forgerons sur le réseau g1-test :slight_smile:

1 J'aime

Je le dédie à la ĞT, j’ai baissé à 40% pour essayer de ne pas avoir besoin du ventilo :slight_smile:

2 J'aimes

@TestSmith le livrable armv7 est désormais disponible sur la page des téléchargements. Donc normalement tous les forgerons de la G1-test peuvent désormais se mettre a jours :slight_smile:

1 J'aime

Élois, je m’attendais à ce que tu fasses l’annonce pour que les forgeurs de la Ğ1 passe sur la v1.7.21.
Comme l’annonce n’a pas été faite et que cette version traine dans la nature avec le tampon stable, le réseau a forké (cette nuit surement) entre les < v1.7.20 et les v1.7.21 qui au final ont été installées en pagaille :

Voici les logs sur une v1.7.21
│2020-03-22T09:19:26+01:00 - error:  Error: ruleMembershipEnoughCerts                                                                                                                                                                                        │
│    at Function.checkBlock (/home/moul/duniter/app/lib/blockchain/DuniterBlockchain.js:157:19)                                                                                                                                                              │
│    at process._tickCallback (internal/process/next_tick.js:68:7)                                                                                                                                                                                           │
│2020-03-22T09:19:26+01:00 - error:  Error: ruleMembershipEnoughCerts                                                                                                                                                                                        │
│    at Function.checkBlock (/home/moul/duniter/app/lib/blockchain/DuniterBlockchain.js:157:19)                                                                                                                                                              │
│    at process._tickCallback (internal/process/next_tick.js:68:7)                                                                                                                                                                                           │
│2020-03-22T09:19:26+01:00 - error:  Error: ruleMembershipEnoughCerts                                                                                                                                                                                        │
│    at Function.checkBlock (/home/moul/duniter/app/lib/blockchain/DuniterBlockchain.js:157:19)                                                                                                                                                              │
│    at process._tickCallback (internal/process/next_tick.js:68:7)                                                                                                                                                                                           │
│2020-03-22T09:19:26+01:00 - error:  Error: ruleMembershipEnoughCerts                                                                                                                                                                                        │
│    at Function.checkBlock (/home/moul/duniter/app/lib/blockchain/DuniterBlockchain.js:157:19)                                                                                                                                                              │
│    at process._tickCallback (internal/process/next_tick.js:68:7)                                                                                                                                                                                           │
│2020-03-22T09:19:26+01:00 - error:  Error: ruleMembershipEnoughCerts                                                                                                                                                                                        │
│    at Function.checkBlock (/home/moul/duniter/app/lib/blockchain/DuniterBlockchain.js:157:19)                                                                                                                                                              │
│    at process._tickCallback (internal/process/next_tick.js:68:7)               

Du point de vue des builds principaux ça semble être bon. Je peux m’occuper du paquet YunoHost.

On enclenche la migration vers la nouvelle version du protocole ? Duniter v1.7.21 ? Je suis tenté de notifier tous les forgeurs et de leur donner un nœud sur lequel se resynchroniser. Ça serait bien que ça soit g1.duniter.org.
Ça serait bien de pas trop trainer et de faire ça aujourd’hui.

3 J'aimes

Oui j’y pensais il y a quelques temps mais j’ai eu d’autres priorités personnelles et puis j’ai oublié. En ce moment je suis malade (probablement le covid-19), je ne suis pas en état d’aider :confused:

2 messages ont été fusionnés à un sujet existant : Fork sur le bloc #307383? Entrée de resp_corp avec quatres certifications

Nœud officiel g1.duniter.org mis a jours.

la version 1.7.21 est désormais officiellement la dernière version stable :slight_smile:

Nous invitons tous les utilisateurs de Duniter à se mettre a jours en 1.7.21 dès que possible.

Comme indiqué dans le 1er post, cette mise a jours ne nécessite pas de resynchronisation, un simple restart de votre noeud après mise a jours est suffisant :slight_smile:

4 J'aimes

J’ai synchronisé hier soir, et quand je le lance avec sudo systemctl start duniter, il répète « Server starting » environ toutes les minutes, et rien d’autre.

2020-03-28T01:31:00+01:00 - info: Sync finished.
2020-03-28T01:31:00+01:00 - info: Database closed.
2020-03-28T01:31:00+01:00 - info: Database closed.
2020-03-28T01:31:00+01:00 - info: Database closed.
2020-03-28T07:52:06+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:52:06+01:00 - info: >> Server starting…
2020-03-28T07:53:08+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:53:08+01:00 - info: >> Server starting…
2020-03-28T07:54:05+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:54:05+01:00 - info: >> Server starting…
2020-03-28T07:54:43+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:54:43+01:00 - info: >> Server starting…
2020-03-28T07:55:30+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:55:30+01:00 - info: >> Server starting…
2020-03-28T07:56:12+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:56:12+01:00 - info: >> Server starting…
2020-03-28T07:56:58+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T07:56:58+01:00 - info: >> Server starting…
2020-03-28T08:01:59+01:00 - info: Block resolution: 0 potential blocks after current#308964…
2020-03-28T08:01:59+01:00 - info: >> Server starting…

La config systemd que j’utilisais pour les versions précédentes ne marche plus (rien dans le log mais une erreur « INVALIDARGUMENT » dans le log systemd). duniter start depuis mon home ne fait rien non plus (ça met une fois « Server started » et puis plus rien, et quand je fais duniter stop ça dit que duniter ne tournait pas).

C’est un serveur Debian 10.

Utiliser direct_start pour ne pas démarrer en mode démon et avoir des logs plus verbeux, notamment lors du crash.

Logs > 2020-03-28T11:29:54+01:00 - debug: Plugging file system... 2020-03-28T11:29:54+01:00 - debug: Loading conf... 2020-03-28T11:29:55+01:00 - debug: Configuration saved. 2020-03-28T11:29:55+01:00 - debug: Opening SQLite database "/home/tuxmain/.config/duniter/duniter_default/duniter.db"... 2020-03-28T11:29:55+01:00 - debug: Opening SQLite database "/home/tuxmain/.config/duniter/duniter_default/txs.db"... 2020-03-28T11:29:55+01:00 - debug: Opening SQLite database "/home/tuxmain/.config/duniter/duniter_default/peers.db"... 2020-03-28T11:29:56+01:00 - debug: Upgrade database... 2020-03-28T11:29:56+01:00 - info: Block resolution: 0 potential blocks after current#308964... 2020-03-28T11:29:56+01:00 - info: >> Server starting... 2020-03-28T11:29:56+01:00 - info: NodeJS version: v9.4.0 2020-03-28T11:29:56+01:00 - info: Node version: 1.7.21 2020-03-28T11:29:56+01:00 - info: Node pubkey: 45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ 2020-03-28T11:29:56+01:00 - info: WS2P server 45GfjkWCWQhJ3epJVGC2NSg1Rcu4Ue1vDD3kk9eLs5TQ listening on 149.91.88.175:20900 2020-03-28T11:29:56+01:00 - info: BMA server listening on http://149.91.88.175:10901 2020-03-28T11:29:56+01:00 - error: Error on WS Server 2020-03-28T11:29:56+01:00 - error: Error: listen EADDRINUSE ::ffff:955b:58af:10901 at Object._errnoException (util.js:1003:13) at _exceptionWithHostPort (util.js:1024:20) at Server.setupListenHandle [as _listen2] (net.js:1366:14) at listenInCluster (net.js:1407:12) at doListen (net.js:1522:7) at process._tickCallback (internal/process/next_tick.js:152:19) 2020-03-28T11:29:56+01:00 - error: Error: listen EADDRINUSE ::ffff:955b:58af:10901 at Object._errnoException (util.js:1003:13) at _exceptionWithHostPort (util.js:1024:20) at Server.setupListenHandle [as _listen2] (net.js:1366:14) at listenInCluster (net.js:1407:12) at doListen (net.js:1522:7) at process._tickCallback (internal/process/next_tick.js:152:19)

J’ai bien vérifié que le port 10901 était libre avant (sudo netstat -tulnp). Après le crash, le processus subsiste avec 2 ports aléatoires ouverts mais pas en listen.