Je maintiens duniter-squid et je pense que c’est une meilleure option pour le long terme pour des raisons qu’il me reste à détailler par écrit. Il est juste trop tôt pour migrer les clients qui utilisent duniter-indexer (Ğecko et Ğecko-web) parce que ça va encore pas mal bouger.
Sur https://subsquid.gdev.coinduf.eu/graphql tu peux faire par exemple :
recherche d’identité par uid
query MyQuery {
identities(limit: 10, where: {name_containsInsensitive: "ben"}) {
name
}
}
recherche d’identité par adresse
query MyQuery {
accountById(id: "5Cn8tEqF1rBGpUFJgqnadsS9AyczHePrqb9rskzATmsZTeDN") {
id
identity {
name
}
}
}
Par contre, pas par pubkey, c’est l’adresse au format ss58 qui a été choisie comme index. Mais tu peux obtenir l’adresse côté client depuis la pubkey.
exemple de recherche avec un “OR”
query MyQuery {
accounts(where: {id_eq: "5Cn8tEqF1rBGpUFJgqnadsS9AyczHePrqb9rskzATmsZTeDN",
OR: {identity: {name_eq: "poka"}}}) {
id
identity {
name
}
}
}
La pubkey base58 n’est pas du tout indexée pour l’instant, mais on peut faire un index de plus si nécessaire. (mais théoriquement on ne devrait pas chercher par clé publique partielle, ce n’est pas fait pour).
Tu peux utiliser transfersIssued
, transfersReceived
, certIssued
, certReceived
.