Duniteroxyde (oxydation de Duniter)

Oui, juste prise sur le wiki, et pas sur la page release que tu pointes.

Je demandais pour savoir si tu prenais la version de test d’Eloïs intégrant wot-rust, mais visiblement ce n’est pas le cas.

Cela m’amusait un peu oui, mais je ne suis pas développeur front donc peu efficace là-dessus. Et je ne veux pas m’ajouter un projet supplémentaire, j’ai déjà trop peu de temps.

Je vais plutôt voir pour corriger cette erreur-là en particulier. Planter parce qu’il n’y a pas d’erreur c’est quand même con :smiley:

2 Likes

Debian 10, duniter-server-wotb-rs-linux-x64.deb

Bon. J’ai sync sur g1-test.duniter.org, ça a été rapide (et pour cause !). Après le lancement, un fork ne se résout pas :

2020-04-02T18:14:52+02:00 - info: Fork resolution: 47 potential block(s) found...
2020-04-02T18:14:52+02:00 - info: Fork resolution: block #72750-00004477 is known as incorrect. Skipping.
2020-04-02T18:16:02+02:00 - info: [d88fPFbD] ⬇ PEER 238pNfpk 543115-0
2020-04-02T18:16:02+02:00 - warn: Unknown reference block of peer
2020-04-02T18:18:56+02:00 - info: SIDE Block #543146-0002FFF7 added to the blockchain in 0 ms
2020-04-02T18:18:56+02:00 - info: Block resolution: 1 potential blocks after current#72749...
2020-04-02T18:18:56+02:00 - error:  Error: ruleNumber
    at Function.checkBlock (/opt/duniter/app/lib/blockchain/DuniterBlockchain.js:63:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Je tente un revert-to pout pouvoir resynchroniser, c’est impossible :

$ duniter stop
$ duniter revert-to 72600
2020-04-02T18:33:42+02:00 - debug: Plugging file system...
2020-04-02T18:33:42+02:00 - debug: Loading conf...
2020-04-02T18:33:42+02:00 - debug: Configuration saved.
2020-04-02T18:33:42+02:00 - debug: Opening SQLite database "/home/thomas/.config/duniter/duniter_default/duniter.db"...
2020-04-02T18:33:42+02:00 - debug: Now open indexers...
2020-04-02T18:33:43+02:00 - debug: Opening SQLite database "/home/thomas/.config/duniter/duniter_default/txs.db"...
2020-04-02T18:33:43+02:00 - debug: Opening SQLite database "/home/thomas/.config/duniter/duniter_default/peers.db"...
2020-04-02T18:33:45+02:00 - debug: Upgrade database...
2020-04-02T18:33:45+02:00 - info: Block resolution: 1 potential blocks after current#72749...
(node:26821) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
2020-04-02T18:33:45+02:00 - error:  Error: ruleNumber
    at Function.checkBlock (/opt/duniter/app/lib/blockchain/DuniterBlockchain.js:63:19)
    at process._tickCallback (internal/process/next_tick.js:68:7)
2020-04-02T18:33:45+02:00 - info: Fork resolution: 47 potential block(s) found...
2020-04-02T18:33:45+02:00 - info: Fork resolution: 1 potential suite(s) found...
2020-04-02T18:33:45+02:00 - info: Fork resolution: HEAD = block#72749
2020-04-02T18:33:45+02:00 - info: Fork resolution: suite 1/1 (-> #72799-000093) revert to fork point block#72749
2020-04-02T18:33:45+02:00 - info: Fork resolution: suite 1/1 REFUSED block#72750: ruleNumber
2020-04-02T18:33:45+02:00 - error: Error during revert: TypeError: Cannot read property 'number' of null
    at BlockchainContext.revertCurrentBlock (/opt/duniter/app/lib/computation/BlockchainContext.js:105:60)
    at process._tickCallback (internal/process/next_tick.js:68:7)
2020-04-02T18:33:45+02:00 - debug: Trying to close SQLite...
2020-04-02T18:33:45+02:00 - debug: Trying to close SQLite...
2020-04-02T18:33:45+02:00 - info: Database closed.
2020-04-02T18:33:45+02:00 - info: Database closed.
2020-04-02T18:33:45+02:00 - debug: Trying to close SQLite...
2020-04-02T18:33:45+02:00 - info: Database closed.

Je ne sais pas si ça a un quelconque rapport avec la choucroute, mais le comportement est inhabituel. Je garde la bdd au chaud et je tente de resync.

Cela signifie que la sync s’est interrompue, car elle a échouée en cours de route, il faudrait voir les logs de la sync en fait.

j’ai été voir la ligne BlockchainContext.js:105 et cela signifie que ton bindex est vide ou corrompu. Pour moi c’est lié a l’interruption de la sync.

J’ai moi aussi eu des problèmes d’interruption de sync sur la G1-test, de ce que j’en avais vu, c’était dû au fait que certains nœuds ne répondaient toujours pas après 15 sollicitations, soit il y a un nœud mal configuré sur le réseau g1-test qui ne répond pas au endpoint indiqué dans sa fiche de peer, soit c’est qu’il y a trop peu de nœuds sur le réseau g1-test.

Je confirme que sur la ĞT ça a été une plaie de se synchroniser pour moi. Il y a trop peu de nœuds.

Je rajoute peu à peu le mien, ça faisait un moment qu’il était cassé/éteint et je le remets doucement sur pied.

1 Like

@elois @vit je ne reproduis pas votre erreur avec Duniter desktop. J’arrive à synchroniser aussi bien sur la Ğ1 que la ĞT. Cela fonctionne aussi depuis les sources de duniter-ui. Je ne sais pas quoi vous dire :confused:

Néanmoins j’ai trouvé un bug sur le bouton de RAZ des données :

image

Du coup j’ai patché duniter-ui et livré la version 1.7.5 sur NPM : donc à la prochaine version de Duniter, ce correctif sera déployé (car Duniter a une dépendance 1.7.x sur duniter-ui).

1 Like

J’ai installé duniter-desktop-wotb-rs-linux-x64.deb et sync sur g1-test.duniter.org:443.

Ça synchronise difficilement…

Duniteroxyde - étape 2: crypto

Poursuite de l’aventure avec dans cette 2ème étape, l’oxydation de toutes les fonctionnalités cryptographiques :

  • Signatures ed25519 (remplace naclb, un fork de tweetnacl C)
  • Vérification Ed25519 (remplace tweetnacljs).
  • Encodage/Décodate base 58 et 64 (remplace nacl-utils)
  • Fonction de hashage sha256

Le code est disponible sur la branche feature/oxyde-crypto, tous les tests automatisés passent et j’ai déjà mon noeud g1-test ts.gt.librelois.fr (Elois-2) qui run ce code sans problème. J’ai observé une notable augmentation de la fréquence des blocs trouvées alors que j’ai laissé mon taux cpu à 5%, cela est probablement dû à l’implémentation plus efficiente de Ed25519 en Rust.

Pour ceux qui veulent tester :

Duniter-server: https://pub.librelois.fr/duniter-server-oxyde-linux-x64.deb

Duniter-desktop: https://pub.librelois.fr/duniter-desktop-oxyde-linux-x64.deb

Duniter-server pour armv7l (nécessite debian buster) : https://pub.librelois.fr/duniter-server-oxyde-linux-armv7l.deb

Image docker : registry.duniter.org/nodes/typescript/duniter:test-image


@cgeek la MR est prête si tu veux regarder : Feature/oxyde crypto (!1292) · Merge requests · nodes / typescript / duniter · GitLab


Merci à @vit @scanlegentil @matograine @cgeek et @Thatoo d’avoir testé l’étape 1 , vous pouvez directement tester l’étape 2 désormais, c’est mieux :slight_smile:


Oui la synchro est difficile sur la g1-test comme je l’ai précisé ci-desus :

Je pense que l’une des raisons de ces difficultés est que nous avons 1 nœud sur 5 qui n’est pas joignable (ou trop lentement) a son endpoint BMA indiqué sur sa fiche de peer. @Moul il s’agit de ton nœud, ce serait bien que tu supprimes ton endpoint BAM de ta fiche de peer, car là Duniter stoppe la sync parce qu’il n’arrive pas à contacter ton nœud.

@vit @scanlegentil @matograine Si vous pouvez mettre en place un nœud g1-test et que vous n’êtes pas sur rpi ça vaut le coup que vous configuriez un endpoint BMA pour aider la sync sur la g1-test :slight_smile:

3 Likes

synchronisation failed
4 fois

Duniter-desktop sur Ubuntu 18.04 :

020-04-06T11:32:49+02:00 - warn: No node found to download chunk #23.
2020-04-06T11:32:49+02:00 - error:  Error: NO_NODE_FOUND_TO_DOWNLOAD_CHUNK
    at fifoPromise.pushFIFOPromise (/opt/duniter/app/modules/crawler/lib/sync/P2PSyncDownloader.js:78:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)

2020-04-06T11:33:54+02:00 - warn: No node found to download chunk #104.
2020-04-06T11:33:54+02:00 - error:  Error: NO_NODE_FOUND_TO_DOWNLOAD_CHUNK
    at fifoPromise.pushFIFOPromise (/opt/duniter/app/modules/crawler/lib/sync/P2PSyncDownloader.js:78:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)


2020-04-06T11:34:00+02:00 - warn: No node found to download chunk #118.
2020-04-06T11:34:00+02:00 - error:  Error: NO_NODE_FOUND_TO_DOWNLOAD_CHUNK
    at fifoPromise.pushFIFOPromise (/opt/duniter/app/modules/crawler/lib/sync/P2PSyncDownloader.js:78:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)

2020-04-06T12:01:11+02:00 - error: Peer with zero endpoints that is not already known

Synchronization failed.

Relancer l’interface donne des logs actifs, mais une interface blanche.

Duniter-desktop sur Ubuntu 14.04 :

Synchro semble réussie, mais interface bloqué sur « loading… ».
Relancer l’interface donne des logs actifs, mais une interface blanche.

1 Like

Quant à moi, aucun souci de sync.

duniter-server sous debian 10, CPU 4cores - 2.7Ghz, 6G RAM.

Je ne sais pas différencier une sync totale d’une sync partielle, mais il me semble bien que je fais une sync partielle :

  • mon noeud était sync vendredi,
  • je lance dtach -c /tmp/duniter duniter sync g1-test.duniter.org
  • la nouvelle synchronisation m’a pris moins d’1h
  • je suis bien au bloc 545042

Je vais voir à en faire un endpoint BMA GTest diurne, mais je n’a pas accès aux ports de la box, ça ne va peut-être pas marcher.

Je suis en train d’installer gtest avec ce serveur, ma clé publique est : D1Fk2X5wwN3HHCQ5TbkzLNpZh9FCHZqsECewM7FJTPwT

1 Like

Oui c’est compliqué de sync sur la g1-test, ça n’a pas de rapport avec l’oxydation de Duniter, tu aurait le même problème en 1.7.21. A tu bien changé de noeud a chaque fois ? Si tu a essayé 4 fois sur le même noeud de référence c’est normal, tu aurais pu continuer comme ça longtemps avec le même résultat.

Je crois que le problème viens aussi d’une config anti-ddos un peu trop stricte sur BMA, et comme il y a peut de noeuds et que vit et toi avez fait plusieurs essais a peu près en même temps ben le réseau vous jette.

On n’a pas ce problème avec la G1 parce que qu’il y a beaucoup plus de noeuds et qu’on synchronise moins souvent (là on test tous plus ou moins en même temps).

Par défaut l’upnp est activé, donc Duniter configure automatiquement les ports de ta box, il faut toutefois qu’on s’assure que ça fonctionne bien car un endpoint BMA non fonctionnel vas faire encore plus galérer ceux qui essayent de se sync, quel est la clé publique du noeud stp qu’on puisse vérifier?

1 Like

Mon noeud a synchronisé à la seconde tentative. C’est un rapberry pi 3, il me semble synchro avec le réseau :

    silkaj -gt -p 192.168.101.6:50627 net
    Getting informations about nodes:
    0% 82.64.191.57 50627
    33% g1-test.duniter.org 10900
    67% ts.gt.elo.tf 443
    3 peers ups, with 1 members and 2 non-members at 16:54:37
    |       domain        |   port |      ip4      |    ip6    |  pubkey  |  uid  |  member  |  gen_time  |  mediantime  |  difftime  |   block |    hash     |  version  |   diffi |
    |---------------------+--------+---------------+-----------+----------+-------+----------+------------+--------------+------------+---------+-------------+-----------+---------|
    |                     |  50627 | 82.64.191.57  | fd92:9e1… |  D1Fk2…  |       |    no    |  15:22:56  |   14:11:20   |  02:11:36  |  545141 | 0000911B5F… |  1.7.21   |         |
    | g1-test.duniter.org |  10900 | 91.121.157.13 |           |  238pN…  |       |    no    |  15:22:56  |   14:11:20   |  02:11:36  |  545141 | 0000911B5F… |  1.7.21   |         |
    |    ts.gt.elo.tf     |    443 |               |           |  CrznB…  | Elois |   yes    |  15:22:56  |   14:11:20   |  02:11:36  |  545141 | 0000911B5F… |  1.7.21   |      62 |

Par contre, si je lance l’interface web j’ai une page blanche. Lors de l’installation du paquet, il m’a dit : « installation de duniter version 1.8 »

2 Likes

Oui c’est normal, j’ai indiqué version 1.8 dans le build arm.

Perso la web-ui fonctionne sur mon rpi4.

d88fPFbDdJXJANHH7hedFMaRyGcnVZj9c5cDaE76LRN
(grmblbl faut que j’ouvre des ports en local) c’est bon, vous pouvez spammer. J’éteindrai le noeud ce soir.

5.51(POINT)176.238:10900

edit - Vous arrivez à changer la puissance du CPU ? Je fais :

duniter stop ; duniter --cpu 10 start

# ou

duniter stop ; duniter start --cpu 10

et j’ai dans mes logs (confirmé par htop) :

info: Generating proof-of-work [...] (CPU usage set to 100%) for block#545200 d88fPF

Quelle productivité, j’ai du mal à suivre (faut aussi que je jette un œil à celle sur le protocole v13).

J’essaye sur

ts.gt.elo.tf 443

Failed… J’essaierai de nouveau demain

Avec image Docker de test :

http://80.67.176.219:10901/node/summary

Par contre le WS2P public sur 20901… a pas l’air de fonctionner…

[Edit]
Ce matin, en plus des timeout sur les connexions, j’ai un timeout sur l’interface web… blanche !

close [app.js:3993:19](http://127.0.0.1:9330/app.js)

close { target: WebSocket, isTrusted: true, wasClean: true, code: 1001, reason: "", srcElement: WebSocket, currentTarget: WebSocket, eventPhase: 2, bubbles: false, cancelable: false, … }

[app.js:3994:19](http://127.0.0.1:9330/app.js)

Erreur dans les liens source : Error: request failed with status 404 URL de la ressource : http://127.0.0.1:9330/app.js URL du lien source : app.js.map

Cette page utilise la propriété non standard « zoom ». Envisagez d’utiliser calc() dans les valeurs des propriétés pertinentes ou utilisez « transform » avec « transform-origin: 0 0 ». [127.0.0.1:9330](http://127.0.0.1:9330/#/)

Configuring Angular app... [app.js:2452:13](http://127.0.0.1:9330/app.js)

App initialized. [app.js:2456:13](http://127.0.0.1:9330/app.js)

Erreur dans les liens source : Error: request failed with status 404 URL de la ressource : http://127.0.0.1:9330/app.js URL du lien source : app.js.map

null [app.js:3951:21](http://127.0.0.1:9330/app.js)

null [app.js:3190:15](http://127.0.0.1:9330/app.js)

Error: error is null module.exports/</<@http://127.0.0.1:9330/app.js:3191:28 $broadcast@http://127.0.0.1:9330/libraries.js:18420:28 transitionTo/$state.transition<@http://127.0.0.1:9330/libraries.js:34823:26 wrappedErrback@http://127.0.0.1:9330/libraries.js:17153:78 then/<@http://127.0.0.1:9330/libraries.js:17279:76 $eval@http://127.0.0.1:9330/libraries.js:18145:28 $digest@http://127.0.0.1:9330/libraries.js:17973:31 $evalAsync/<@http://127.0.0.1:9330/libraries.js:18184:26 completeOutstandingRequest@http://127.0.0.1:9330/libraries.js:10476:10 Browser/self.defer/timeoutId<@http://127.0.0.1:9330/libraries.js:10782:33 [libraries.js:15647:24](http://127.0.0.1:9330/libraries.js)

Erreur dans les liens source : Error: request failed with status 404 URL de la ressource : http://127.0.0.1:9330/libraries.js URL du lien source : libraries.js.map

J’ai alors installé htop et là, la révélation :

Capture du 2020-04-07 10-55-25

C’est normal tous ces process ?

Tu as 8 cœurs sur cette machine donc la PoW crée au moins autant de processus (ceux nommés powCluster.js) afin de paralléliser.

Ce serait intéressant que tu stoppes Duniter et voies si certains processus restent.