ĞDev indexer

Si claimMembership n’a pas été appelé, alors l’identité reste dans pendingMembership.

…or pour Vit (index 7174)

smithsMembership.pendingMembership: Option<CommonRuntimeEntitiesSmithsMembershipMetaData>
<none>

Autre constatation pour Poka (index 6951) :
sur polkadot.js.org/app j’ai 9 certifications émises

smithsCert.storageIdtyCertMeta: PalletCertificationIdtyCertMeta
{
  issuedCount: 9
  nextIssuableOn: 2,524,770
  receivedCount: 5
}

Sur l’indexeur j’en ai que 8 affichées:

{
  "data": {
    "smith_cert": [
      {
        "receiver": {
          "identity": {
            "pubkey": "5CCrBS67BrpBx3ihGHc72HZp3eHHbETxWFuNfwbbdoGSJFN8",
            "name": "1000i100",
            "validated_at": "2022-12-13T01:35:24.001+00:00",
            "index": 1
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5Dq8xjvkmbz7q4g2LbZgyExD26VSCutfEc6n4W4AfQeVHZqz",
            "name": "h30x",
            "validated_at": "2022-12-13T01:35:24.001+00:00",
            "index": 2457
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5DUjwHRqPayt3tAZk1fqEgU99xZB9jzBHKy2sMSTNcc7m9D1",
            "name": "ManUtopiK",
            "validated_at": "2022-12-13T01:35:24.001+00:00",
            "index": 3595
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5CtmAELWQ6FGDrAfsfVbGe4CXW4YrpNRTVU27eWzSE6J8ocU",
            "name": "elois",
            "validated_at": "2022-12-13T01:35:24.001+00:00",
            "index": 6317
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5D2DnScFpxoEUXDwZbJH18tRsQMygBSh1F6YCcWvTYzKY2W7",
            "name": "tuxmain",
            "validated_at": "2022-12-13T01:35:24.001+00:00",
            "index": 7139
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5FH48744BHgNoLBe8syGXbTEnSpGhp8ttdAKW4MWcR7TUKai",
            "name": "vit",
            "validated_at": "2022-12-13T01:35:24.001+00:00",
            "index": 7174
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5GBVhdJUdsGhxozu6R8X6x2pTZvuuW46s7JSU4tiW7Zd3WmY",
            "name": "Pini",
            "validated_at": null,
            "index": 7228
          }
        }
      },
      {
        "receiver": {
          "identity": {
            "pubkey": "5E58CLNXPFpBWrygp3ry8HyS2hiuQpRuXbZFUaTq7q9gG3Vv",
            "name": "AAAAA",
            "validated_at": null,
            "index": 7237
          }
        }
      }
    ]
  }
}

Etrange, car j’ai accompli toutes les étapes y compris ClaimMembership. J’ai même forgé des blocs avec mon serveur validateur avant qu’il décroche et que je le déclare offline.

Tu peux ajouter le champ “created_on” à ta requête pour voir qu’il s’agit d’une certification qui a été renouvelée.

requête
query ($address: String) {
  smith_cert(where: {receiver: {identity: {pubkey: {_eq: $address}}}}) {
    issuer {
      identity {
        name
        index
      }
    }
    created_on
  }
}
variables
{"address": "5FH48744BHgNoLBe8syGXbTEnSpGhp8ttdAKW4MWcR7TUKai"}
réponse
{
  "data": {
    "smith_cert": [
      {
        "issuer": {
          "identity": {
            "name": "h30x",
            "index": 2457
          }
        },
        "created_on": 1606658
      },
      {
        "issuer": {
          "identity": {
            "name": "poka",
            "index": 6951
          }
        },
        "created_on": 1606258
      },
      {
        "issuer": {
          "identity": {
            "name": "tuxmain",
            "index": 7139
          }
        },
        "created_on": 1606875
      },
      {
        "issuer": {
          "identity": {
            "name": "Pini",
            "index": 7228
          }
        },
        "created_on": 1033152
      },
      {
        "issuer": {
          "identity": {
            "name": "Pini",
            "index": 7228
          }
        },
        "created_on": 1617101
      }
    ]
  }
}

À regarder de plus près. Visiblement l’indexeur utilise le “signer” pour identifier l’identité validée, mais c’est faux, car dans ce cas l’identité est validée par le certificateur. src/processors/identity.ts · master · nodes / duniter-indexer · GitLab. Bug à corriger, donc.

requête

sur subsquid : https://subsquid.gdev.coinduf.eu/

{
  batch(
    limit: 100
    includeAllBlocks: false
    events: [{ name: "Identity.IdtyValidated" }]
  ) {
    header {
      height
    }
  }
}
réponse

regarder les blocs sur un nœud archive pour voir les événements

{
  "data": {
    "batch": [
      {
        "header": {
          "height": 626276
        }
      },
      {
        "header": {
          "height": 1491387
        }
      },
      {
        "header": {
          "height": 1716493
        }
      }
    ]
  }
}

Effectivement, il manque la certification du bloc 2510370. Reste à savoir pourquoi.

Je l’ai trouvée avec la requête subsquid suivante:

requête

sur https://explorer.subsquid.gdev.coinduf.eu/graphql

query MyQuery {
  events(where: {name_eq: "SmithsCert.NewCert", extrinsic: {calls_some: {args_jsonContains: "{\"issuer\": 6951}"}}}) {
    block {
      height
    }
    extrinsic {
      call {
        name
        args
      }
    }
  }
}
réponse
{
  "data": {
    "events": [
      {
        "block": {
          "height": 586196
        },
        "extrinsic": {
          "call": {
            "name": "SmithsCert.add_cert",
            "args": {
              "issuer": 6951,
              "receiver": 7228
            }
          }
        }
      },
      {
        "block": {
          "height": 1534981
        },
        "extrinsic": {
          "call": {
            "name": "SmithsCert.add_cert",
            "args": {
              "issuer": 6951,
              "receiver": 7237
            }
          }
        }
      },
      {
        "block": {
          "height": 1606258
        },
        "extrinsic": {
          "call": {
            "name": "SmithsCert.add_cert",
            "args": {
              "issuer": 6951,
              "receiver": 7174
            }
          }
        }
      },
      {
        "block": {
          "height": 2510370
        },
        "extrinsic": {
          "call": {
            "name": "SmithsCert.add_cert",
            "args": {
              "issuer": 6951,
              "receiver": 7238
            }
          }
        }
      }
    ]
  }
}

Effectivement, et c’était au bloc 1620356. Et si on regarde smithsMembership.membership() à ce bloc, on trouve bien ceci :

Par contre, tu as cessé d’être forgeron au bloc 2504292. Le système a révoqué ton compte, probablement à cause d’un trop long délai hors ligne ou sans renouvellement des session keys, je ne sais pas.


J’espère que tous ces éléments permettront à d’autres d’essayer de débugger en utilisant les outils à disposition.

2 Likes