# Currency-Monit : Monitoring d'une monnaie et de sa toile de confiance

**URL:** https://forum.duniter.org/t/currency-monit-monitoring-dune-monnaie-et-de-sa-toile-de-confiance/2770
**Category:** Modules
**Tags:** willmembers, blockcount, modules, wotex, g1-monit
**Created:** [29 June 2017 18:05 UTC](https://forum.duniter.org/t/currency-monit-monitoring-dune-monnaie-et-de-sa-toile-de-confiance/2770 "2017-06-29T18:05:03Z")
**Posts on this page:** 1
**Showing post:** 232

<div class="post-metadata">

### Author: ![cgeek](https://forum.duniter.org/user_avatar/forum.duniter.org/cgeek/32/279_2.png) [@cgeek](https://forum.duniter.org/u/cgeek)
#### Post date: [19 April 2020 14:25 UTC](https://forum.duniter.org/t/currency-monit-monitoring-dune-monnaie-et-de-sa-toile-de-confiance/2770/232 "2020-04-19T14:25:41Z")

</div>

Je viens de publier plusieurs merges au code de currency-monit.

## Passage à Duniter 1.7

Currency-monit (CM) ne pouvais plus fonctionner sur la Ğ1 du fait de l’évolution du protocole Duniter. J’ai mis à jour la dépendance Duniter et ajouté du code permettant à CM de fonctionner à nouveau.

La principale incompatibilité de Duniter 1.7 avec CM est le stockage de la blockchain : dans Duniter 1.6, celle-ci était intégralement stockée dans SQLite tandis que seule la piscine utilise encore SQLite dans Duniter 1.7.

### Nouvelle mécanique de stockage

Il m’a donc fallu trouver une parade. Le plus simple qui m’est venu à l’esprit : indexer localement dans CM la blockchain de Duniter avec SQLite. De cette façon, la plupart du code de CM reste inchangé (requêtes SQL).

La difficulté de la migration a donc résidé dans la création de cette BDD intermédiaire, locale à CM.

Désormais donc, CM indexe très régulièrement la blockchain de Duniter et crée sa propre BDD miroir aux fins d’affichage des statistiques de CM. L’indexation est incrémentale, et se fait à chaque fois que CM est sollicité par une requête HTTP si et seulement si un nouveau bloc est disponible.

A noter une nouvelle option en ligne de commande permettant de forcer CM à remettre à zéro sa base locale au démarrage : `--reset-data`. Cette option est à utiliser en cas de fork insoluble (car la mécanique d’indexation prévoit la résolution de forks “classique” de Duniter).

### Ajout de tests automatisés

C’est une grande nouveauté, sans laquelle je n’aurais pas pu mener cette migration aussi “vite”.

J’ai ajouté 2 tests intéressants :

- [**indexing**](https://git.duniter.org/nodes/typescript/modules/duniter-currency-monit/-/blob/master/test/indexing.ts) : permet de tester la couche d’indexation Duniter → CM
- [**willMembers**](https://git.duniter.org/nodes/typescript/modules/duniter-currency-monit/-/blob/master/test/will-members.ts) : permet de tester willMembers face à une blockchain Duniter éphémère (en mémoire)

Vous reconnaîtrez certainement la syntaxe des tests automatisés de Duniter. 😉  
Voilà de quoi permettre de pérenniser un peu plus Currency-Monit !

### Filtrage par pseudo sur l’écran “Liste des membres”

Désormais il est possible de filtrer par pseudonyme sur cet écran :

 ![image](https://forum.duniter.org/uploads/default/original/2X/2/26099e1504ab3a1d87f8b28ce3309533517240cd.png)

Le but est d’atteindre rapidement un membre donné, mais aussi et surtout **ne plus autoriser l’affiche de la liste intégrale des membres**. Actuellement cet affichage coûte beaucoup trop cher en calcul CPU.

## Déploiement de la nouvelle version

~~@Moul, saurais-tu la déployer ?~~ Je n’ai pas particulièrement poussé de tags, tout est sur master. (edit cgeek : c’est bon je m’en suis occupé 🙂 )

Il faudra de toute façon resynchroniser Currency-Monit sur la Ğ1 avant.

 ![image](https://forum.duniter.org/uploads/default/original/2X/c/c78cb8c2fad2fa26f2bd33d0d4f398abaf5c059c.png)

---

_[View the full topic](https://forum.duniter.org/t/currency-monit-monitoring-dune-monnaie-et-de-sa-toile-de-confiance/2770)._
