G1-papi 👴🏼

Salut !

Je me suis remis à fond sur g1Companion. Mais je galère pas mal avec polkadot.js : mal typé, mal foutu, trop de .toJson, .toNumber, .toHuman? …

@poka et @HugoTrentesaux m’ont parlé de polkadot-api (papi). Du coup j’essaye des trucs depuis 3 jours.

J’ai généré le typage pour TS et c’est carrément mieux que polkadot.js.

Pour l’instant je créé des tests (de dev) avec Vitest, et j’essaye de retrouvé les fonctions de bases.
Il y a des fails et skips, mais je peux faire des transactions et récupérer pas mal de choses…
… mais certaines que je n’arrive pas à faire, comme obtenir l’adresse des certifications émises par une personne.
J’ai aussi essayé de démarrer avec smoldot, mais sans succès :confused:

Si il y en a qui veulent jeter un oeil, vous ĂŞtes les bienvenus.
J’ai mis des TODOS dans les tests.

Le dépôt est là :

4 Likes

Tu ferais mieux de passer par l’indexer en gql pour ce genre de chose.

1 Like

Oui bien sûr !
Mais ça je sais bien faire :slight_smile:

Pour l’instant mon objectif était d’explorer au max les appels rpc, et d’extraire le code duniter/polkadot que je trouve un peu partout entre gecko, cesium2 et duniter-vue.

Mon objectif avec g1-papi est de faire une couche d’abstraction entre la logique appli et duniter pour éviter de mélanger 2. Appliquer au minimum des principes SOLID quoi !

Là j’ai juste fait des tests de dev. Je vais faire des tests de scénario…

J’ai cloné le dépôt, installé les dépendances, lancé duniter et lancé les tests avec pnpm test:ui. Mais sur http://localhost:51204/ j’ai une page blanche avec l’erreur Uncaught ReferenceError: process is not defined dans la console (firefox ou chrome, c’est pareil).

Du coup, pas facile d’avoir un retour sur l’exécution des tests pour traiter les TODO. Une idée d’où ça pourrait venir ?

[en visio avec Manu]
[edit] il faut aller sur http://localhost:51204/__vitest__/
[edit] problème de dépendance @polkadot-api/descriptors mystérieusement résolu en faisant pnpm papi :person_shrugging:

1 Like