Tests sur instance indexer p2p.legal

Je commence à m’informer sur l’indexer pour implémenter l’historique des transactions dans Tikka.

Sur l’instance https://gdev-indexer-graphiql.p2p.legal/

j’ai une erreur dès le départ, et donc pas de schema :

{
  "errors": [
    {
      "message": "NetworkError when attempting to fetch resource.",
      "stack": ""
    }
  ]
}

[EDIT]

Dans la console Firefox, je vois qu’il y a visiblement une erreur de config sur le serveur car le igraphQL cherche à joindre localhost :sweat_smile:

Firefox ne peut établir de connexion avec le serveur à l’adresse ws://localhost:9944/. [index.031ea8b8.js:1:433304](https://gdev-indexer-graphiql.p2p.legal/assets/index.031ea8b8.js)

2022-12-27 16:07:52 API-WS: disconnected from ws://localhost:9944: 1006:: Abnormal Closure [index.031ea8b8.js:1:120638](https://gdev-indexer-graphiql.p2p.legal/assets/index.031ea8b8.js)

ho https://gdev-indexer-graphiql.p2p.legal/assets/index.031ea8b8.js:1

error https://gdev-indexer-graphiql.p2p.legal/assets/index.031ea8b8.js:1

value https://gdev-indexer-graphiql.p2p.legal/assets/index.031ea8b8.js:1

D’ailleurs à côté du bouton Relay API, le lien de bascule affiché est : http://localhost:8080/v1/graphql

2 Likes

Très bonne question :slight_smile:

En fait ce plugin graphiql devrait fonctionner, mais semble en effet mal réglé là, je ne l’utilise pas en fait.

Je passe directement par la console Hasura : https://gdev-indexer.p2p.legal

Le mot de passe de cette instance Hasura est celui par defaut, soit “your_secret”.

Vous pouvez l’utiliser ainsi tant qu’on est sur la Gdev et que personne ne fait n’imp (car ça vous permet là d’écrire ce que vous voulez en DB en fait…)

Mais le gros avantage par rapport à la version de graphiql que tu as essayé, c’est que bah déjà ça marche, et surtout tu as toutes les jolies case à gauche que je te laisse découvrir si tu n’as encore jamais touché à Hasura.

Ainsi que les menus :slight_smile:

bravo @ManUtopiK pour avoir mis en place tout ça.

Je crois qu’il compte ajouter un plugin graphiql pour avoir justement ce menu à gauche en public à terme.

1 Like

C’est “drôle”, encore une interface igraphql qui morche po comme wotwizard… :sweat_smile:

C’est pas pour me la péter, mais j’ai une interface igraphql qui roule clef en main sur mon projet pro (en python avec ariadne). (ok je sors…)

Hasura, je connais un peu car j’en ai fait il y a longtemps, c’est top ! J’ai même failli le mettre dans mon projet pro mais c’était overkill.

2 Likes

pour info je sais pas si tu avais ça l’époque: Si tu veux utiliser des requêtes paginés de la bonne manière (avec un cursor), alors il faut cliquer sur le switch API relay beta.

Ca change juste le endpoint, et tu verra les requêtes possibles à gauche.
Moins de choix de requêtes ici, mais tout ce qu’il me faut pour gecko pour les trucs qui nécessites de la pagination.

1 Like

Non, à l’époque, de mémoire, même la préconisation pour une standardisation des CRUD en GraphQL n’existait pas.
Je m’y suis intéressé en 2020 pour mon projet pro. Le but étant de faire un schema GraphQL de type CRUD à partir d’une base de données.

Il y a un bouton “relay” dans l’interface igraphQL qui m’aurait permit d’y accéder… :sweat_smile:

@cgeek, @ManUtopiK avez vous aussi des problèmes avec l’interface igraphQL ?

J’ai mis à jour mon post avec l’erreur console Firefox. IGraphQL fait ses requêtes sur localhot !

Ce sont les paramètres du graphiql de l’indexer qui ne sont pas bien configurés.
Quelque part dans ton docker, il faut ajouter les variables d’environnements :

INDEXER_HASURA_GRAPHQL_ENDPOINT_GRAPHIQL=https://gdev-indexer.p2p.legal
INDEXER_DUNITER_WS_ENDPOINT_GRAPHIQL=

Pour le second, c’est le websocket public de ton noeud substrate.

2 Likes

Le container app de l’indexer s’était coupé le 25 janvier dernier, les événements n’était donc plus à jours depuis sur gecko mobile et web.

Cette simple commande à suffit à résoudre le problème:

docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up --force-recreate -d

L’indexer rattrape les wagon à toute vitesse !


Je n’ai pas le temps d’investiguer la cause de ce crash là tout de suite, de toute façon nous allons prendre le temps avec Manu pour remettre au propre ce code dans les semaines qui viennent.

2 Likes

https://gdev-indexer-graphiql.p2p.legal/ is still improperly configured.

In the meanwhile, I suggest installing Altaïr GraphQL client as a browser extension: https://altairgraphql.dev/

And connect to https://gdev-indexer.p2p.legal/v1/graphql

Then you can write your requests:

query MyQuery {
  account_by_pk(pubkey: "5EnvpRdqmkScdZLqngejbtL47SQs8FCSe4ddUHkudbEcNZcf") {
      identity {
        name
      }
  }
}