Plugin de Gitcoin Passport

A B C
:information_source: Resumen Habilitar protección contra ataques síbiles con Gitcoin Passport en Discourse
:hammer_and_wrench: Enlace al repositorio https://github.com/dappy-studio/gitcoin-passport-discourse-plugin
:open_book: Guía de instalación Cómo instalar plugins en Discourse

Descripción general

Gitcoin Passport es una herramienta de resistencia ante ataques síbiles que ayuda a las DAO y a las comunidades en línea a protegerse de bots y atacantes síbiles. Esta es una guía sobre cómo configurar y habilitar el plugin de Gitcoin Passport en Discourse para proteger los foros de la comunidad de actores maliciosos, manteniendo al mismo tiempo el anonimato en el proceso.

Cómo funciona Gitcoin Passport

Gitcoin Passport permite a cualquier persona crear su propio pasaporte y agregar sellos a este pasaporte verificando diferentes criterios. El proceso de verificación es completamente anónimo; es decir, una vez verificado un sello, una persona puede utilizarlo en cualquier plataforma compatible (como Discourse) sin revelar su identidad. Por ejemplo, ¡una persona podría demostrar que ha contribuido a bases de código en GitHub en al menos 120 días distintos sin revelar realmente quién es!

Algunos ejemplos de sellos disponibles actualmente son:

  1. Más de 1000 seguidores en Twitter
  2. Propiedad de un nombre .eth (ENS)
  3. Propiedad de una cuenta de Discord
  4. Participación en la gobernanza de una DAO en Snapshot
  5. Cierta cantidad de tarifas de gas gastadas en la red Ethereum

Hay muchos más sellos disponibles hoy en día y se agregan regularmente a Gitcoin Passport. Puedes encontrarlos, crear un pasaporte y comenzar a agregar sellos a tu pasaporte en el sitio web de Gitcoin Passport.

Pasaporte

Requisitos

  • Un foro de Discourse alojado donde se pueda agregar el plugin.
  • Iniciar sesión con Ethereum mediante el plugin de Discourse plugin

Instalación del plugin

Para instalar y habilitar el plugin en tu Discourse autoalojado, utiliza el siguiente método: Accede al archivo app.yml de tu contenedor (presente en /var/discourse/containers/)

cd /var/discourse
nano containers/app.yml
Agrega la URL del repositorio del plugin al archivo app.yml de tu contenedor:

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   # <-- agregado

Sigue el formato existente de la línea docker_manager.git; si no contiene sudo -E -u discourse, inserta - git clone https://github.com/dappy-studio/gitcoin-passport-discourse-plugin.git.

Reconstruye el contenedor:

cd /var/discourse
./launcher rebuild app

Habilitación del plugin

Para habilitar el plugin, necesitas tener acceso de administrador en tu foro de Discourse. Aquí están los pasos para habilitarlo.

  1. Ve a tu página de configuración de administrador
  2. Ve a la pestaña de plugins
  3. Haz clic en el botón “Configuración” del plugin “discourse-gitcoin-passport”. Nota: Si no ves este plugin, significa que la instalación no fue exitosa. Por favor, vuelve a la sección “Instalar el plugin”.
  4. Habilita Gitcoin Passport marcando la casilla “¿Habilitar Gitcoin Passport?”

Configuración de la clave API y el ID del evaluador de Gitcoin Passport

Para configurar el plugin, necesitas tener acceso de administrador en tu foro de Discourse. Aquí están los pasos para configurarlo.

  1. Ve a la aplicación de evaluador de Gitcoin Passport e inicia sesión con tu billetera
  2. Ve a la pestaña “Claves API” => Haz clic en “+ Clave API” => Asigna un nombre a tu clave => Haz clic en “Crear”
  3. Copia la clave API y pégala en el campo llamado “clave API de gitcoin passport” en la configuración del plugin “discourse-gitcoin-passport” en Discourse
  4. Vuelve a la aplicación de evaluador de Gitcoin Passport.
  5. Ve a la pestaña “Evaluador” => Haz clic en “+ Evaluador” => Selecciona un caso de uso => Asigna un nombre y descripción => Haz clic en “Continuar” => Selecciona el mecanismo de puntuación que deseas utilizar => Haz clic en “Crear evaluador”
  6. Una vez que tengas un nuevo evaluador, puedes copiar el ID del evaluador y pegarlo en el campo llamado “ID del evaluador de gitcoin passport” en la configuración del plugin “discourse-gitcoin-passport” en Discourse

Configuración

Si has podido seguir hasta aquí, ¡felicidades! Ahora has configurado con éxito los requisitos básicos para tener un plugin funcional de Gitcoin Passport. ¡Ahora llegamos a las partes más emocionantes!

Personalizaciones

El plugin de Gitcoin Passport para Discourse es altamente personalizable, lo que te permite restringir el acceso a varias acciones realizadas por un usuario en tu foro.

personalizaciones

Puntuación a nivel de foro de gitcoin passport para crear una cuenta

Se puede establecer la puntuación mínima requerida para crear una cuenta para prevenir a los atacantes síbiles desde la puerta de entrada. Cuando estableces esta puntuación, una persona deberá iniciar sesión con su billetera y también recopilar suficientes sellos de Gitcoin Passport para tener la puntuación necesaria para crear una cuenta. ¡Y no te preocupes! Hemos hecho que las personas sepan exactamente la puntuación que tienen actualmente, la puntuación requerida y la URL a la que pueden ir para recopilar los sellos justo donde crean una nueva cuenta.

Espera, ¿esto significa que los usuarios existentes pierden el acceso hasta que recopilen algunos sellos???

¡Pues puedes decidirlo!

Última fecha de conexión de billetera para usuarios existentes de gitcoin passport

Con esta configuración, puedes establecer una fecha límite por la cual los usuarios existentes deberán conectar sus billeteras y obtener la puntuación mínima requerida. Después de esta fecha, cualquier usuario (existente o nuevo) que no tenga la puntuación mínima requerida no tendrá permiso para publicar o crear un nuevo tema.

Puntuación a nivel de foro de gitcoin passport para publicar (y otras formas en las que puedes restringir la publicación en Discourse)

Cuando estableces la puntuación mínima requerida para publicar, todos en el foro deben tener esta puntuación para poder responder (es decir, crear una publicación) en todos los temas. A menos…

¡Sobrescribas esta puntuación con una más específica a nivel de categoría o de usuario! Espera, ¿qué? Estoy confundido.

Bien, entonces…

Cuando intentas restringir el acceso a las respuestas en los temas de Discourse utilizando las puntuaciones de Gitcoin Passport, puedes hacerlo en 3 niveles.

  1. Nivel de usuario: Cada usuario puede tener una puntuación específica requerida para responder. Si un usuario no cumple con esta puntuación, no podrá responder en ningún tema. Si se establece esta puntuación, la puntuación a nivel de categoría o a nivel de foro para este usuario específico no importa.

usuario

  1. Nivel de categoría: Cada categoría puede tener una puntuación específica requerida para responder a temas solo en esa categoría. Si un usuario no cumple con la puntuación requerida, no podrá responder solo en esta categoría. Aún podrá responder en otras categorías. Si se establece esta puntuación, la puntuación a nivel de foro no importa para esta categoría específica.

categoría

  1. Nivel de foro: Esta es la puntuación mínima requerida por todos los usuarios que responden a temas en todas las categorías. A menos que haya una puntuación establecida a nivel de categoría o de usuario, esta será la puntuación que se utilice.

Puntuación a nivel de foro de gitcoin passport para crear un nuevo tema (y otras formas en las que puedes restringir la publicación en Discourse)

Esto funciona exactamente igual que la configuración “puntuación a nivel de foro de gitcoin passport para publicar”. La única diferencia es que esto se aplica a la creación de un nuevo tema.

IMPORTANTE: Asegúrate de que esta puntuación sea mayor que la puntuación requerida para publicar. Si es menor, la puntuación se establecerá por defecto en la puntuación requerida para publicar (ya que técnicamente un nuevo tema también es una nueva publicación).

Bien, hemos cubierto las partes más importantes de este plugin. Ahora repasemos algunos de los extras geniales.

El plugin permite distribuir insignias de Discourse automáticamente cuando alguien supera un umbral de puntuación. Esto puede usarse para incentivar a las personas a obtener una puntuación de pasaporte más alta, aumentando así la “humanidad” general de la comunidad.

¿Por qué, preguntas?

Bueno, esto permite que todos los miembros de la comunidad estén más seguros de que están interactuando con otros humanos únicos, lo que hace que tu comunidad sea un refugio seguro con el tiempo.

Algunos ajustes rápidos pero importantes antes de continuar.

  1. Ve a la pestaña “Insignias” en la configuración de administrador
  2. Crea una nueva insignia a. Haz clic en “+ Nueva” b. Asigna un nombre a tu insignia, agrega un gráfico, establece el tipo de insignia como “Bronce” y dale una descripción c. Importante: Haz clic en el icono de editar bajo “Agrupaciones de insignias” y crea un nuevo grupo llamado “Humanidad Única”. Verifica dos veces que la ortografía y la escritura sean iguales, es decir, Humanidad Única. Guárdalo. d. Guarda la insignia. e. Recuerda habilitarla usando el interruptor superior.
  3. Haz lo mismo que en el paso 2 para crear las insignias de Plata y Oro.

Ahora, estamos listos para configurar las puntuaciones requeridas para obtener estas insignias.

Puntuación requerida de gitcoin passport para obtener la insignia de bronce de humanidad única

La puntuación mínima requerida por todos para obtener la Insignia de Humanidad Única de Bronce

Puntuación requerida de gitcoin passport para obtener la insignia de plata de humanidad única

La puntuación mínima requerida por todos para obtener la Insignia de Humanidad Única de Plata

Puntuación requerida de gitcoin passport para obtener la insignia de oro de humanidad única

La puntuación mínima requerida por todos para obtener la Insignia de Humanidad Única de Oro

Estas insignias se reciben automáticamente por los usuarios en el foro cuando conectan (o reconectan) su billetera. Los usuarios también pueden ir a “Perfil” => “Resumen” y hacer clic en “Actualizar” para actualizar su puntuación de pasaporte y recibir automáticamente las insignias a las que son elegibles.

Bien. Ahora, una configuración final recomendada aplicable a sitios que esperan un alto tráfico.

insignia

URL del nodo Ethereum

Si ya estás ejecutando tu propio nodo de Ethereum o tienes un nodo alojado (con proveedores como Infura o Ankr), puedes copiar y pegar la URL de tu nodo aquí. Ten en cuenta que el nodo predeterminado establecido aquí es un nodo público en el nivel gratuito, por lo que se recomienda encarecidamente usar tus propios nodos.

¡Vaya, eso fue mucho!

No te preocupes, también hemos grabado un tutorial de YouTube para ayudar (especialmente si eres un aprendiz visual).

Si aún necesitas ayuda, no dudes en pedir soporte en cualquiera de los siguientes medios.

  1. Abre un problema en este repositorio
  2. Nuestro Discord, donde puedes obtener la respuesta más rápida a día de hoy
  3. Nuestro correo electrónico en support@dappy.lol
7 Me gusta

Para instalar esto, necesitaríamos un foro autoalojado, ¿correcto?

¿No una clase empresarial de Discourse?

Sí, autoalojado o un proveedor de servicios de alojamiento que añada este plugin