# Squid: PostGraphile as GraphQL engine instead of Hasura

**URL:** https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257
**Category:** Indexers
**Tags:** subsquid, postgraphile
**Created:** [14 August 2025 03:23 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257 "2025-08-14T03:23:30Z")
**Posts on this page:** 7
**Page:** 3

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [1 November 2025 16:12 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/41 "2025-11-01T16:12:54Z")

</div>

> [@HugoTrentesaux](#):
>
> Autre truc qui va être assez relou. J’avais une requête pour chercher une certification

C’est bon j’ai activé les relations, ils suffisait d’activer une option:

```auto
// graphileBuildOptions for plugins
graphileBuildOptions: {
    // Enable filtering on related tables/fields
    connectionFilterRelations: true,
    // Additional connection filter options
    connectionFilterAllowNullInput: true,
    connectionFilterAllowEmptyObjectInput: true,
},

```

→

```auto
query CertDetails {
  certs(
    filter: {
      and: [
        { issuer: { name: { equalTo: "poka" } } }
        { receiver: { name: { equalTo: "vit" } } }
      ]
    }
  ) {
    nodes {
      id
      isActive
      createdOn
      updatedOn
      expireOn
      certHistory {
        nodes {
          blockNumber
          eventType
        }
      }
      issuer {
        index
        status
      }
      receiver {
        index
        status
      }
    }
  }
}

```

→

```auto
{
  "data": {
    "certs": {
      "nodes": [
        {
          "id": "genesis-cert_61-58",
          "isActive": true,
          "createdOn": -83736,
          "updatedOn": -83736,
          "expireOn": 6192143,
          "certHistory": {
            "nodes": [
              {
                "blockNumber": -83736,
                "eventType": "Creation"
              }
            ]
          },
          "issuer": {
            "index": 61,
            "status": "Member"
          },
          "receiver": {
            "index": 58,
            "status": "Member"
          }
        }
      ]
    }
  }
}

```

Et grâce au depthLimiter on est normalement protégé contre les query abusives. A challenger.  
Je merge, pousse, et déploie cette nouvelle mouture.

@ManUtopiK @vit @vjrj @joss.rendall Désolé il va encore falloir adapter un peu vos requêtes squid à partir de la 0.5.0, mais promis ça doit être léger comme diff, plus léger que le passage Hasura → Graphile.

---

<div class="post-metadata">

### Author: ![Moul](https://forum.duniter.org/user_avatar/forum.duniter.org/moul/32/9145_2.png) [@Moul](https://forum.duniter.org/u/Moul)
#### Post date: [1 November 2025 16:39 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/42 "2025-11-01T16:39:53Z")

</div>

> [@poka](#):
>
> Peux-tu me dire comment détermines-tu que c’est un type string ?

```json
{
  universalDividends {
    nodes {
      timestamp
      amount
    }
  }
}

```

```json
    "universalDividends": {
      "nodes": [
        {
          "timestamp": "2025-10-12T01:44:36+00:00",
          "amount": "1173"
        },

```

* * *

Autre changement :

```auto
query MyQuery ($index: Int!) {
  identities(condition: {index: $index}) {
    nodes {
      accountId
      name
    }
  }
}

```

avec la variable

```json
{"index": 49}

```

Avec Hasura, ça passait que la variable soit une string. Avec PostGraphile ce doit être un int.

---

<div class="post-metadata">

### Author: ![poka](https://forum.duniter.org/user_avatar/forum.duniter.org/poka/32/6827_2.png) [@poka](https://forum.duniter.org/u/poka)
#### Post date: [1 November 2025 18:07 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/43 "2025-11-01T18:07:59Z")

</div>

A priori pour l’index c’est normal de n’accepter que des int.

Mon noeud [https://gt-squid.axiom-team.fr/graphiql](https://gt-squid.axiom-team.fr/graphiql) est à jour avec les dernières modifications, je vous laisse voir si ça vous convient.

Les fields amounts sont bien indiqués comme BigInt dans la doc de l’api.  
Mais apparaissent parfois sous forme de string via graphiql, mais je pense que c’est seulement un artefact javascript.

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [5 November 2025 21:39 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/44 "2025-11-05T21:39:00Z")

</div>

Il reste encore `linkedAccount` qui est devenu `accountsByLinkedIdentityId`, je sais pas pourquoi.

---

<div class="post-metadata">

### Author: ![BulmAnanaBelle](https://forum.duniter.org/user_avatar/forum.duniter.org/bulmananabelle/32/9955_2.png) [@BulmAnanaBelle](https://forum.duniter.org/u/BulmAnanaBelle)
#### Post date: [9 March 2026 19:02 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/45 "2026-03-09T19:02:08Z")

</div>

Hello, est-ce que vous pouvez mettre à jour la doc en ligne pour les futurs forgerons G1v2 qui veulent mettre en place un Indexeur Squid avec PostGraphile GraphQL au lieu de Hasura svp ?  
La partie FR est vide et celle GB est obsolète…

> **[Duniter | Duniter squid](https://duniter.org/wiki/duniter-v2/indexers/duniter-squid/)**

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [9 March 2026 19:13 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/46 "2026-03-09T19:13:16Z")

</div>

Tout le monde peut mettre en place des indexeurs, pas seulement les forgerons. Effectivement, j’avais oublié de mettre à jour, merci.

[edit] c’est fait, est-ce que tu peux tester cette documentation ?

---

<div class="post-metadata">

### Author: ![HugoTrentesaux](https://forum.duniter.org/user_avatar/forum.duniter.org/hugotrentesaux/32/6396_2.png) [@HugoTrentesaux](https://forum.duniter.org/u/HugoTrentesaux)
#### Post date: [9 March 2026 19:47 UTC](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257/47 "2026-03-09T19:47:39Z")

</div>

A post was merged into an existing topic: [🚀 La Ğ1v2 est là!](https://forum.duniter.org/t/la-g1v2-est-la/13647/25)

[Previous page](https://forum.duniter.org/t/squid-postgraphile-as-graphql-engine-instead-of-hasura/13257.md?page=2)
