Discord Attestation

Discord Attestation

-

Contexte du projet

Dans l’écosystème Web3, l’identité numérique reste un défi majeur. Comment prouver qui vous êtes sans compromettre votre vie privée ? Comment lier vos identités sociales à votre wallet sans dépendre d’une autorité centrale ?

Discord Attestation répond à ce besoin en permettant aux utilisateurs de créer des preuves cryptographiques de leur identité Discord, stockées de manière permanente sur la blockchain Linea via le protocole Verax.

Fonctionnalités principales

L’application offre une expérience utilisateur fluide en trois étapes :

  1. Connexion Discord : l’utilisateur s’authentifie via OAuth 2.0

  2. Connexion Wallet : l’adresse Ethereum est liée à l’identité Discord

  3. Création d’attestation : une preuve onchain est générée et stockée

Données attestées

Chaque attestation contient :

  • L’identifiant unique du serveur Discord

  • Le nom du serveur Discord

Ces informations sont encodées selon un schéma Verax standardisé et signées via EIP-712 pour garantir leur authenticité.

Architecture technique

L’application utilise une architecture serverless, déployée sur Netlify :

Frontend

  • React 19 avec TypeScript pour une interface réactive

  • wagmi v3 et viem v2 pour les interactions blockchain

  • Reown AppKit pour la connexion wallet multi-provider

  • Verax SDK pour la création d’attestations

Backend

  • Netlify Functions pour le traitement OAuth et la signature EIP-712

  • Gestion sécurisée des tokens d’accès Discord

  • Signature côté serveur avec clé privée protégée

Smart Contracts

L’attestation est créée via un Portal Verax personnalisé qui :

  • Vérifie la signature EIP-712 du backend

  • S’assure que l’émetteur correspond au sujet de l’attestation

  • Collecte une fee minimale (0.0001 ETH)

Sécurité

Le système implémente plusieurs couches de protection :

  • Signatures EIP-712 : protection contre les attaques de replay cross-chain

  • Vérification côté serveur : les tokens Discord sont validés avant signature

  • Binding wallet : l’attestation ne peut être créée que pour le wallet connecté

  • Clé de signature sécurisée : la clé privée ne quitte jamais le backend

Cas d’usage

Discord Attestation ouvre la voie à de nombreuses applications :

  • Gating communautaire : accès conditionnel basé sur l’identité Discord vérifiée

  • Airdrops ciblés : distribution à des utilisateurs Discord spécifiques

  • Réputation cross-platform : construction d’une identité Web3 portable

  • Vérification de membres : preuve d’appartenance à des serveurs Discord

Stack technique

Web3

  • Linea (Mainnet & Sepolia)

  • Verax Attestation Registry

  • EIP-712 Typed Data Signatures

  • wagmi / viem

Frontend

  • React

  • TypeScript

  • Vite

  • TanStack Query

Backend

  • Netlify Functions

  • Discord OAuth 2.0 API

  • Node.js

Ressources

Note
Ce projet est open source et fait partie des exemples officiels Verax, démontrant comment intégrer des identités sociales dans l’écosystème d’attestations onchain.