Voici une nouvelle version (0.9.24) de Cesium. Elle corrige quelques bugs, notamment sur les téléphones Android (gestion des onglets).
Cette version ajoute également une vue de recherche avancée dans la blockchain.
Recherche dans la blockchain (Cesium+)
Attention : à destination d’utilisateurs avertis
Techniquement, cette fonctionnalité exploite la nouvelle version v0.7.0 de duniter4j-elasticsearch
Accès à l’écran de recherche
Pour à accéder à cette vue :
- Dans les paramètres :
- Activer l’extension Cesium+
- Activer le mode expert (cela vous permettre de faire des tris plus facilement)
- Ouvrir l’écran
Réseau
- Dans la partie
Derniers blocs
, cliquer sur le boutonRechercher
:
- L’écran qui s’ouvre affiche par défaut les derniers blocs (identique au contenu de l’écran
Réseau
, sauf que les données proviennent cette fois du noeud configuré dans les paramètres de Cesium+ (noeud avec l’APIES_CORE_API
) :
Syntaxe des requêtes
Documentation
Le recherche utilise la syntaxe dite Query String
d’ElasticSearch (la technologie utilisée par les noeuds Cesium+). Toutes les possibilités sont disponible dans la documentation ES.
Exemples
Pour vous donner quelques idées, voici quelques exemples de recherche :
-
Blocs contenants des transactions (au moins une) émises par la cagnotte remuniter :
transactions.issuers:TENGx7WtzFsTXwnbrPEvb6odX2WnqYcnnrjiiLvp1mS
Chaque champ d’un bloc (format JSON) est requetable, de la manière suivante :
<propriété>:<valeur>
-
la même chose, avec cette fois les transactions émises ou reçues :
transactions.issuers:TENGx7(...) OR transactions.outputs:TENGx7(...)
Plusieurs opérateurs sont disponibles :
AND
,OR
. Vous pouvez aussi faire des regroupements, en utilisant des parenthèses :
transactions.issuers:(TENGx7W* OR HnFcSm*) AND transactions.comment:REMU*
-
Les blocs avec un Dividende Universel produit :
_exists_:dividend
La syntaxe
_exists_:<propriété>
teste la présence d’une valeur (en excluantnull
).
-
Une plage de blocs, par exemple de 0 à 1000 (inclu) :
number:[0 1000]
-
La même chose, en excluant la borne supérieure :
number:[0 1000}
Les champs numériques (
number
,medianTime
,membersCount
, etc.) sont en effet requetables avec des opérateurs numériques :>
,<
, par plages, etc.
A venir : d’autres fonctions de recherche ?
Je penses intégrer de nouveaux index au noeud ES, pour requeter des aspects plus précis de la blockchain. Notamment :
- sur les transactions : pour éviter de devoir récupérer un bloc entier lorsqu’on recherche un transaction, un historique, etc.
- (à voir) sur les Dividendes Universels reçus par chaque compte ? pour pallier à l’absence d’historique complet des DU percus par un compte.
Il serait bon également de disposer de moyen de télécharger le résultat d’une requête (format CSV par exemple)
Vos besoins, idées, réactions ?