Wotwizard ne fonctionne plus

je crois avoir compris que wotwizard fonctionne sur la version obsolete 1.6 de duniter et que « gva » resoudra le probleme.

Je réponds vite fait mais je ne participe pas du tout à ce développement.

Duniter 1.8.x ne permet plus d’accéder directement à la base de donnée de Duniter pour des raisons entre entre de forcer l’utilisation des API qui sont prévus pour ce genre d’utilisation, car la base de donnée peut évoluer avec le temps et cassé régulièrement le client, contrairement aux versions d’API.

La nouvelle API GVA qui permettra de faire tout ça beaucoup mieux que BMA est en cours de développement par Elois, donc il manque peut être encore des fonctions nécessaires pour wotwizard.

Mais ça va demander pas mal de boulo pour Gérard ou ceux qui veulent contribuer à wotwizard pour réadapter toutes les requêtes en GVA.

Petite question tiens d’ailleurs, est-ce qu’il ne serait pas possible d’utiliser le dex d’élois pour wotwizard ?
Pas fait pour ça non plus, les évolutions des bases de données pourront casser dex aussi qui devra être maintenu à jour aussi c’est ça ? Ou peut être que ça ne permet pas le nécessaire pour wotwizard je ne sais pas…

1 Like

J’en ai discuté avec @gerard94 en privé. Je vais intégrer dans dex une commande d’export de la blockchain complète au format JSON, ça permettra à qui veut de construire n’importe quelle donnée à partir de la blockchain.

Coté GVA il y a juste besoin de :

  • 1 souscription pour chaque nouveau bloc
  • Les requêtes d’accès au contenu des mempool

Et c’est tout. A partir de ça n’importe-quel programme pourra absolument tout faire, et sans dépendre d’aucun format de DB en particulier. Une solution universelle donc, c’est ce qui aurait dû être fait depuis le début !

6 Likes

Ok au top :slight_smile:

J’avais passé un peu de temps cet été à indexer ce json: https://g1-stats.axiom-team.fr/data/daily.json

Qui est mis à jours toutes les 3h et sert à g1-stats entre autre.
Il y a très de données, juste ce dont j’avais besoin.

Il y a un script pour explorer ce json en CLI, assez pratique je trouve pour avoir des données de nombre de membre, d’échanges et de masses monétaire de manière journalière, sur une période, cumulatif ou non ect …

Je ne sais pas comment sera le json que dex va produire mais ça pourra peut être remplacer ça :slight_smile:

Non, pas tant que ça. J’ai déjà tout ce qu’il faut pour utiliser graphQL. :slightly_smiling_face:

4 Likes

Chose promise chose dû, j’ai codé ça aujourd’hui : Exporter la blockchain au format JSON avec dex

2 Likes

Le serveur axiom-team de wotwizard est hs.
Et celui de @HugoTrentesaux est bloqué au 8 décembre.

Qui peut agir ?

2 Likes

Tout l’infra collective est listée ici : Infrastructure de l'écosytème Duniter
Pour ce qui est de mon serveur, j’ai eu une coupure d’électricité et n’ai pas configuré mon nœud Duniter v1 pour redémarrer automatiquement au démarrage du système. C’est reparti, wotwizard devrait avoir des données plus fraîches bientôt.

2 Likes

En effet, pourtout la VM tourne depuis 48 jours, les ressources sont OK, et le noeud Duniter qu’il contient est à jour: https://duniter-v1-g1.axiom-team.fr/blockchain/current

Voici les logs status du serveur wotwizard en question:

axiom@duniter-v1-data:~$ sudo systemctl status wwServer -n500
* wwServer.service - wotwizard server
     Loaded: loaded (/etc/systemd/system/wwServer.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2023-12-09 00:40:19 CET; 2 days ago
    Process: 105 ExecStart=/home/axiom/wotwizard/wwServer -du /home/axiom/.config/duniter/duniter_default/wotwizard-export.db (code=exited, status=2)
   Main PID: 105 (code=exited, status=2)
        CPU: 5d 16h 20min 56.802s

Oct 24 01:09:27 duniter-v1-data systemd[1]: Started wotwizard server.
Oct 24 01:09:27 duniter-v1-data wwServer[105]: WotWizard version 5.8.8
Oct 24 01:09:51 duniter-v1-data wwServer[105]: Listening on 0.0.0.0:10050 ...
Nov 29 14:14:55 duniter-v1-data wwServer[105]: 2023/11/29 14:14:55 http: panic serving 192.168.9.1:51956: 20
Nov 29 14:14:55 duniter-v1-data wwServer[105]: goroutine 111157072 [running]:
Nov 29 14:14:55 duniter-v1-data wwServer[105]: net/http.(*conn).serve.func1()
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/net/http/server.go:1825 +0xbf
Nov 29 14:14:55 duniter-v1-data wwServer[105]: panic({0x8b83a0, 0x9f8a10})
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/runtime/panic.go:844 +0x258
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/misc.haltCommon({0xc0077a3348, 0x1, 0xc0005e0600?})
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/misc/misc.go:222 +0x1e5
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/misc.Assert(...)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/misc/misc.go:232
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/strMapping.(*Lang).Map(0xc000130090?, {0x93c0b3?, 0xa?}, {0xc0077a33a8?, 0x2?, 0xc0077a3408?})
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/strMapping/strMapping.go:204 +0xa8
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*errorT).MappedError(0xc006aec920?, {0x93c0b3?, 0x7f48f5fde108?}, {0x0?, 0xc0077a3428?}, {0x0?, >
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:1320 +0x76
Nov 29 14:14:55 duniter-v1-data wwServer[105]: duniter/gqlReceiver.coerceInt64({0xa000c0?, 0xc00015a6c0?}, {0x9fb780?, 0xc008c22e08?}, {0x0?, 0x0?}, 0xc0000f>
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/gqlReceiver/gqlReceiver.go:542 +0xb5
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*typeSystem).isConstInputValueCoercibleToType(0x8e5b00?, {0x9fb780?, 0xc008c22e08?}, {0x0?, 0x0?>
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:3367 +0x3d5
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*typeSystem).validateArgumentValuesCoercion(0xc00015a6c0, {0xc005813b00, 0x2, 0xc00015a6c0?}, {0>
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:3476 +0x4e5
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*execSystem).argumentNamesSetWalkR(0xc00015a6c0, {0xc006aec7f0?, 0x1, 0x549531?}, {0xedf688, 0x0>
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:3606 +0x4ba
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*execSystem).validateRequiredArguments(0xc00015a6c0, 0xc006aec7e0?)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:3640 +0xff
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*execSystem).validateArguments(0xc00015a6c0, 0xc005813c20)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:3649 +0x77
Nov 29 14:14:55 duniter-v1-data wwServer[105]: util/graphQL.(*typeSystem).ExecValidate(0xc00015f000, 0xc005813c20)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/graphQL/graphQL.go:6653 +0x385
Nov 29 14:14:55 duniter-v1-data wwServer[105]: duniter/gqlReceiver.makeHandler.func1({0x9fe9d0?, 0xc007d1e000}, 0x0?)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/gqlReceiver/gqlReceiver.go:419 +0x14e
Nov 29 14:14:55 duniter-v1-data wwServer[105]: net/http.HandlerFunc.ServeHTTP(0xc007539a88?, {0x9fe9d0?, 0xc007d1e000?}, 0xc0083db0b0?)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/net/http/server.go:2084 +0x2f
Nov 29 14:14:55 duniter-v1-data wwServer[105]: net/http.(*ServeMux).ServeHTTP(0x0?, {0x9fe9d0, 0xc007d1e000}, 0xc0083daf00)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/net/http/server.go:2462 +0x149
Nov 29 14:14:55 duniter-v1-data wwServer[105]: net/http.serverHandler.ServeHTTP({0x9fd510?}, {0x9fe9d0, 0xc007d1e000}, 0xc0083daf00)
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/net/http/server.go:2916 +0x43b
Nov 29 14:14:55 duniter-v1-data wwServer[105]: net/http.(*conn).serve(0xc008cc6320, {0x9fedd8, 0xc000784c30})
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/net/http/server.go:1966 +0x5d7
Nov 29 14:14:55 duniter-v1-data wwServer[105]: created by net/http.(*Server).Serve
Nov 29 14:14:55 duniter-v1-data wwServer[105]:         /usr/local/go/src/net/http/server.go:3071 +0x4db
Dec 09 00:40:19 duniter-v1-data wwServer[105]: panic: 101
Dec 09 00:40:19 duniter-v1-data wwServer[105]: goroutine 1 [running]:
Dec 09 00:40:19 duniter-v1-data wwServer[105]: util/misc.haltCommon({0xc000050c88, 0x2, 0x939f64?})
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/misc/misc.go:222 +0x1e5
Dec 09 00:40:19 duniter-v1-data wwServer[105]: util/misc.Assert(...)
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/util/misc/misc.go:232
Dec 09 00:40:19 duniter-v1-data wwServer[105]: duniter/blockchain.readSyncTime()
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/blockchain/blockchain.go:2875 +0x19c
Dec 09 00:40:19 duniter-v1-data wwServer[105]: duniter/blockchain.updateAllUpdt(0xc000126180?, 0xc0005fc000)
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/blockchain/blockchain.go:2910 +0x2b7
Dec 09 00:40:19 duniter-v1-data wwServer[105]: duniter/blockchain.Start(0xc00018a900)
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/blockchain/blockchain.go:3101 +0x16a
Dec 09 00:40:19 duniter-v1-data wwServer[105]: duniter/gqlReceiver.Start()
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/gqlReceiver/gqlReceiver.go:654 +0x74
Dec 09 00:40:19 duniter-v1-data wwServer[105]: duniter/run.Start()
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/run/run.go:55 +0x1c5
Dec 09 00:40:19 duniter-v1-data wwServer[105]: main.main()
Dec 09 00:40:19 duniter-v1-data wwServer[105]:         /home/gerard/goPerso/src/duniter/wwServer/wwServer.go:24 +0x2a
Dec 09 00:40:19 duniter-v1-data systemd[1]: wwServer.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Dec 09 00:40:19 duniter-v1-data systemd[1]: wwServer.service: Failed with result 'exit-code'.
Dec 09 00:40:19 duniter-v1-data systemd[1]: wwServer.service: Consumed 5d 16h 20min 56.802s CPU time.

En résumé:

WotWizard version 5.8.8
failed [...] 2 days ago
Dec 09 00:40:19: panic: 101
/home/gerard/goPerso/src/util/misc/misc.go:222 +0x1e5 ?
code=exited, status=2/INVALIDARGUMENT


Peut être une piste de CPU overload:

Pourtant il y a 4 CPU de l’infra mmicro alloué à ce container.

Ce container ne contient que wotwizard, duniter v1 et worldwotmap et wotmap.
6h30 correspond au moment où le cron de wotmap et worldwotmap se déclenchent:

echo "Update worldwotmap..."
/usr/bin/python3 /home/axiom/worldwotmap/py/gencache.py -v -e /home/axiom/worldwotmap/www/data -r --spam

echo "Update wotmap..."
/usr/bin/python3 /home/axiom/wotmap/script/wot_json.py -v --ns --fa2rs -s --ow /home/axiom/wotmap/data/wot.json --os /home/axiom/wotmap/data/stats.json

Mais wwizard semble s’être coupé plusieurs heure avant, à 00:40, donc je ne sais pas.


Un restart et ça repart:

axiom@duniter-v1-data:~$ sudo systemctl restart wwServer
axiom@duniter-v1-data:~$ sudo systemctl status wwServer
* wwServer.service - wotwizard server
     Loaded: loaded (/etc/systemd/system/wwServer.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-12-11 18:30:55 CET; 1s ago
   Main PID: 373864 (wwServer)
      Tasks: 6 (limit: 154457)
     Memory: 9.9M
        CPU: 1.928s
     CGroup: /system.slice/wwServer.service
             `-373864 /home/axiom/wotwizard/wwServer -du /home/axiom/.config/duniter/duniter_default/wotwizard-export.db

Dec 11 18:30:55 duniter-v1-data systemd[1]: Started wotwizard server.
Dec 11 18:30:55 duniter-v1-data wwServer[373864]: WotWizard version 5.8.8
4 Likes

Les serveurs Wotwizard sont encore en rade tous les deux ! :sob:

4 Likes

c’est revenu !!
pour les 2… en passant par l’adresse internet, par contre avec l’extension Firefox ca plante 1 fois sur 2…

2 Likes

C’est peut-être parce que tu rafraichis la page. Le rafraichissement ne fonctionne pas malheureusement. Mon implémentation en tant qu’extension Firefox n’est peut-être pas faite correctement.

1 Like

Les deux serveurs Wotwizard, ne fonctionne plus !

Serveur trentesaux arrêté au :
API graphQL v5.8.8
Bloc n°708485 (03/03/24 à 02:21)

Serveur axiom-team arrêté au:
API graphQL v5.8.8
Bloc n°706759 (25/02/24 à 18:22)

@HugoTrentesaux
@Paidge

bonne journée

Christophe

1 Like

Je suis d’accord, Duniter n’est pas assez stable, et donc wotwizard n’a pas de données suffisamment à jour. Pas d’améliorations en vue avant Duniter-v2, donc la seule mesure que je vois est d’augmenter le nombre de noeuds wotwizard. Pour installer wotwizard à côté de Duniter, les dernières instructions sont ici : INSTALL.md · master · gerard94 / WotWizard · GitLab. Pas forcément à jour mais si quelqu’un essaye et nous montre où ça coince, on peut mettre à jour.

2 Likes

Une version Docker ?

The version of the associated Duniter node must be 1.7.17 at least. Versions 1.8.x don’t work with WotWizard.

Ben non même pas la peine, suis en 1.9…

1 Like

Ah effectivement, c’est plus à jour !! 1.8.x est pris en charge :

Par contre la 1.9 pas possible je pense.

j’ ai lancé un mirroir avec l’ option wizard sur une vps, comment l’ enregistrer dans la liste des noeuds ?

Cette option n’est pas suffisante, il faut en plus installer le logiciel wotwizard à côté. Une fois que tu as un interface html comme https://html.wotwizard.trentesaux.fr/ ou https://html.wotwizard.axiom-team.fr/ et une adresse pour graphql, tu peux l’ajouter ou demander à ce qu’on l’ajoute à la liste des endpoint graphql qui est ici : graphql/endpoints · master · clients / wotwizard-ui · GitLab. Ensuite il faudra publier un mise à jour de l’extension navigateur.

1 Like

merci jm’ y colle

2 Likes

Bonsoir.

Il y a t´il un souci avec wotwizard?
Ca fait quelques temps qu´il ne se met plus a jour.

Merci a vous
Belle soiree