Présentation
Celo Credentials est une application de référence full-stack pour des attestations de formation non transférables et sans frais pour leur bénéficiaire. Les établissements signent des autorisations EIP-712 hors chaîne, un relais paie les frais et les attestations restent vérifiables et révocables publiquement sur Celo.
Rôle et périmètre
J’ai conçu et réalisé le smart contract, le parcours de déploiement, le backend de relais, la limite de l’indexeur, l’intégration frontend, les tests et le manifeste de preuves publiques.
Problème et contraintes
Un bénéficiaire doit pouvoir recevoir une attestation vérifiable sans détenir de fonds, tout en conservant l’autorisation des émetteurs, la protection contre le rejeu et l’expiration, la non-transférabilité et la révocation.
Architecture
Un contrat Solidity testé avec Foundry valide les autorisations EIP-712. Un relais Express et viem soumet les transactions, PostgreSQL prend en charge l’indexation et une interface Next.js fournit les parcours de connexion, d’émission, de liste et de vérification.
Choix et compromis
La prise en charge des frais reste dans un relais séparé, les attestations ne peuvent pas être transférées, les nonces sont à usage unique, les échéances expirent et la révocation est limitée au propriétaire du contrat ou à l’émetteur d’origine encore autorisé.
Contexte de sécurité
Ces contrôles relèvent de la conception de la sécurité d’une application réalisée par son auteur. Ils ne sont pas présentés comme un audit externe du système.
Tests et vérification
Le dépôt public présente 11 tests Foundry réussis sur 11 pour l’émission, la non-transférabilité, le rejet du rejeu et de l’expiration, les signataires non autorisés, les parcours de révocation liés à l’émetteur et le fuzzing. La CI contrôle aussi les dépendances backend et la construction frontend de production.
Ressources et liens
Le dépôt, le contrat vérifié, la transaction de déploiement, les transactions du cycle de vie et le manifeste de déploiement lisible par machine sont publics.
Périmètre et état actuel
Il s’agit d’une implémentation de référence publique sur testnet. Elle n’a pas fait l’objet d’un audit externe pour un usage en production.