Plugin Gitcoin Passport

A B C
:information_source: Résumé Activer la protection contre les sybils avec Gitcoin Passport sur Discourse
:hammer_and_wrench: Lien vers le dépôt https://github.com/dappy-studio/gitcoin-passport-discourse-plugin
:open_book: Guide d’installation Comment installer des plugins sur Discourse

Vue d’ensemble

Gitcoin Passport est un outil de résistance aux attaques sybil qui aide les DAO et les communautés en ligne à se protéger contre les bots et les attaquants sybil. Ce guide explique comment configurer et activer le plugin Gitcoin Passport sur Discourse afin de protéger les forums communautaires contre les mauvais acteurs tout en préservant l’anonymat.

Comment fonctionne Gitcoin Passport

Gitcoin Passport permet à chacun de créer son propre passeport et d’y ajouter des « timbres » en vérifiant différents critères. Le processus de vérification est totalement anonyme, c’est-à-dire qu’une fois un timbre vérifié, une personne peut l’utiliser sur n’importe quelle plateforme prise en charge (comme Discourse) sans révéler son identité. Par exemple, une personne peut prouver qu’elle a contribué à des bases de code sur GitHub pendant au moins 120 jours distincts, sans pour autant révéler qui elle est !

Voici quelques exemples de timbres disponibles aujourd’hui :

  1. Plus de 1 000 abonnés sur Twitter
  2. Possession d’un nom .eth (ENS)
  3. Possession d’un compte Discord
  4. Participation à la gouvernance d’une DAO sur Snapshot
  5. Une certaine quantité de frais de gaz dépensés sur le réseau Ethereum

De nombreux autres timbres sont disponibles et sont régulièrement ajoutés à Gitcoin Passport. Vous pouvez les découvrir, créer un passeport et commencer à y ajouter des timbres sur le site Gitcoin Passport.

Passeport

Prérequis

  • Un forum Discourse hébergé où le plugin peut être ajouté.
  • Le plugin Sign in with Ethereum pour Discourse.

Installation du plugin

Pour installer et activer le plugin sur votre instance Discourse auto-hébergée, utilisez la méthode suivante : accédez au fichier app.yml de votre conteneur (situé dans /var/discourse/containers/).

cd /var/discourse
nano containers/app.yml
Ajoutez l'URL du dépôt du plugin dans le fichier app.yml de votre conteneur :

hooks:
  before_code:                            
    - exec:                                
        cmd:                              
          - gem install rubyzip           
  after_code:
    - exec:
      cd: $home/plugins
      cmd:
        - sudo -E -u discourse git clone https://github.com/discourse/docker_manager.git
        - sudo -E -u discourse git clone https://github.com/spruceid/discourse-siwe-auth.git
        - sudo -E -u discourse git clone https://github.com/dappy-studio/gitcoin-passport-discourse-plugin.git   # <-- ajouté

Suivez le format existant de la ligne docker_manager.git ; si elle ne contient pas sudo -E -u discourse, ajoutez simplement - git clone https://github.com/dappy-studio/gitcoin-passport-discourse-plugin.git.

Reconstruisez le conteneur :

cd /var/discourse
./launcher rebuild app

Activation du plugin

Pour activer le plugin, vous devez disposer des droits d’administration sur votre forum Discourse. Voici les étapes à suivre :

  1. Accédez à votre page de paramètres d’administration
  2. Allez dans l’onglet « Plugins »
  3. Cliquez sur le bouton « Paramètres » du plugin « discourse-gitcoin-passport ». Note : Si vous ne voyez pas ce plugin, cela signifie que l’installation a échoué. Veuillez revenir à la section « Installer le plugin ».
  4. Activez Gitcoin Passport en cochant la case « Activer Gitcoin Passport ? »

Configuration de la clé API et de l’ID du scoreur Gitcoin Passport

Pour configurer le plugin, vous devez disposer des droits d’administration sur votre forum Discourse. Voici les étapes à suivre :

  1. Accédez à l’application Scorer de Gitcoin Passport et connectez-vous avec votre portefeuille
  2. Allez dans l’onglet « Clés API » => Cliquez sur « + Clé API » => Donnez un nom à votre clé => Cliquez sur « Créer »
  3. Copiez la clé API et collez-la dans le champ nommé « clé api gitcoin passport » dans les paramètres du plugin « discourse-gitcoin-passport » sur Discourse
  4. Retournez à l’application Scorer de Gitcoin Passport.
  5. Allez dans l’onglet « Scorer » => Cliquez sur « + Scorer » => Sélectionnez un cas d’usage => Donnez-lui un nom et une description => Cliquez sur « Continuer » => Sélectionnez le mécanisme de notation que vous souhaitez utiliser => Cliquez sur « Créer le Scorer »
  6. Une fois que vous avez un nouveau Scorer, vous pouvez copier l’ID du Scorer et le coller dans le champ nommé « id du scoreur gitcoin passport » dans les paramètres du plugin « discourse-gitcoin-passport » sur Discourse

Configuration

Si vous avez suivi ces étapes jusqu’ici, félicitations ! Vous avez maintenant configuré les prérequis de base pour disposer d’un plugin Gitcoin Passport fonctionnel. Passons maintenant aux parties les plus intéressantes !

Personnalisation

Le plugin Discourse Gitcoin Passport est hautement personnalisable et vous permet de restreindre l’accès à diverses actions effectuées par un utilisateur sur votre forum.

Personnalisations

Score minimum au niveau du forum Gitcoin Passport pour créer un compte

Le score minimum requis pour créer un compte peut être défini pour empêcher les attaquants sybil dès l’entrée ! Lorsque vous définissez ce score, une personne doit se connecter avec son portefeuille et collecter suffisamment de timbres via Gitcoin Passport pour atteindre le score nécessaire à la création d’un compte. Et ne vous inquiétez pas ! Nous avons veillé à ce que les utilisateurs connaissent exactement leur score actuel, le score requis et l’URL où ils peuvent collecter les timbres, directement à l’endroit où ils créent un nouveau compte.

Attendez, cela signifie-t-il que les utilisateurs existants perdent l’accès jusqu’à ce qu’ils collectent quelques timbres ???

Eh bien, vous pouvez décider !

Date limite pour connecter un portefeuille pour les utilisateurs existants via Gitcoin Passport

Grâce à ce paramètre, vous pouvez définir une date limite à laquelle les utilisateurs existants devront connecter leurs portefeuilles et atteindre le score minimum requis. Après cette date, tout utilisateur (existant ou nouveau) qui ne dispose pas du score minimum requis n’aura pas la permission de publier ou de créer un nouveau sujet.

Score minimum au niveau du forum Gitcoin Passport pour publier (et autres façons de restreindre les publications sur Discourse)

Lorsque vous définissez le score minimum requis pour publier, tous les membres du forum doivent atteindre ce score pour pouvoir répondre (c’est-à-dire créer un message) sur tous les sujets. Sauf …

Vous pouvez remplacer ce score par un score plus spécifique au niveau d’une catégorie ou d’un utilisateur. Attendez, quoi ? Je suis confus.

D’accord, alors …

Lorsque vous essayez de restreindre l’accès aux réponses sur les sujets Discourse en utilisant les scores Gitcoin Passport, vous pouvez le faire à trois niveaux.

  1. Niveau utilisateur - Chaque utilisateur peut avoir un score spécifique requis pour répondre. Si un utilisateur ne atteint pas ce score, il ne peut répondre à aucun sujet. Si ce score est défini, le score au niveau de la catégorie ou du forum pour cet utilisateur spécifique n’a pas d’importance.

Utilisateur

  1. Niveau catégorie - Chaque catégorie peut avoir un score spécifique requis pour répondre aux sujets uniquement dans cette catégorie. Si un utilisateur ne atteint pas le score requis, il ne pourra répondre que dans cette catégorie. Il pourra toujours répondre dans les autres catégories. Si ce score est défini, le score au niveau du forum n’a pas d’importance pour cette catégorie spécifique.

Catégorie

  1. Niveau forum - C’est le score minimum requis par tous les utilisateurs répondant aux sujets dans toutes les catégories. Sauf si un score est défini au niveau de la catégorie ou de l’utilisateur, c’est ce score qui sera utilisé.

Score minimum au niveau du forum Gitcoin Passport pour créer un nouveau sujet (et autres façons de restreindre les publications sur Discourse)

Cela fonctionne exactement de la même manière que le paramètre « score minimum au niveau du forum Gitcoin Passport pour publier ». La seule différence est que cela s’applique à la création d’un nouveau sujet.

IMPORTANT : Veuillez vous assurer que ce score est supérieur au score requis pour publier. S’il est inférieur, le score sera automatiquement défini sur le score requis pour publier (car techniquement, un nouveau sujet est aussi un nouveau message).

Bon, nous avons couvert les parties les plus importantes de ce plugin. Passons maintenant à quelques extras sympas !

Le plugin permet de distribuer automatiquement des badges Discourse lorsqu’un utilisateur dépasse un certain seuil de score. Cela peut être utilisé pour inciter les individus à obtenir un score de passeport plus élevé, augmentant ainsi l’« humanité » globale de la communauté.

Pourquoi, me demandez-vous ?

Eh bien, cela permet à tous les membres de la communauté d’être plus sûrs qu’ils interagissent avec d’autres humains uniques, rendant ainsi votre communauté un havre de sécurité au fil du temps.

Quelques configurations rapides mais importantes avant de continuer.

  1. Allez dans l’onglet « Badges » des paramètres d’administration
  2. Créez un nouveau badge : a. Cliquez sur « + Nouveau » b. Donnez un nom à votre badge, ajoutez une image, définissez le type de badge sur « Bronze » et donnez-lui une description c. Important - Cliquez sur l’icône de modification sous « Groupes de badges » et créez un nouveau groupe nommé « Humanité Unique ». Vérifiez bien l’orthographe et la saisie, c’est-à-dire Humanité Unique. Enregistrez-le. d. Enregistrez le badge. e. N’oubliez pas de l’activer en utilisant l’interrupteur en haut.
  3. Faites la même chose que l’étape 2 pour créer les badges Argent et Or.

Maintenant, nous sommes prêts à configurer les scores requis pour obtenir ces badges.

Score requis par Gitcoin Passport pour obtenir le badge Bronze Humanité Unique

Le score minimum requis par tous pour obtenir le badge Bronze Humanité Unique

Score requis par Gitcoin Passport pour obtenir le badge Argent Humanité Unique

Le score minimum requis par tous pour obtenir le badge Argent Humanité Unique

Score requis par Gitcoin Passport pour obtenir le badge Or Humanité Unique

Le score minimum requis par tous pour obtenir le badge Or Humanité Unique

Ces badges sont attribués automatiquement aux utilisateurs du forum lorsqu’ils connectent (ou reconnectent) leur portefeuille. Les utilisateurs peuvent également aller dans « Profil » => « Résumé » et cliquer sur « Actualiser » pour mettre à jour leur score de passeport et recevoir automatiquement les badges auxquels ils ont droit.

Bon. Maintenant, un dernier paramètre recommandé applicable aux sites qui attendent un trafic élevé.

Badge

URL du nœud Ethereum

Si vous exécutez déjà votre propre nœud Ethereum ou si vous en avez un hébergé (avec des fournisseurs tels qu’Infura ou Ankr), vous pouvez copier et coller l’URL de votre nœud ici. Veuillez noter que le nœud par défaut défini ici est un nœud public en version gratuite, il est donc fortement recommandé d’utiliser vos propres nœuds.

Waouh, c’était beaucoup d’informations !

Pas de panique, nous avons également enregistré un tutoriel YouTube pour vous aider (surtout si vous êtes un apprenant visuel).

Si vous avez encore besoin d’aide, n’hésitez pas à demander du support via l’un des canaux suivants :

  1. Ouvrez une issue sur ce dépôt
  2. Notre Discord, où vous obtiendrez la réponse la plus rapide à ce jour
  3. Notre email à l’adresse support@dappy.lol
7 « J'aime »

Pour installer cela, nous aurions besoin d’un forum auto-hébergé, n’est-ce pas ?

Pas une classe professionnelle de Discourse ?

Oui, auto-hébergé ou un fournisseur de services d’hébergement qui ajouterait ce plugin