Плагин Gitcoin Passport

A B C
:information_source: Краткое содержание Включение защиты от сибил-атак с помощью Gitcoin Passport в Discourse
:hammer_and_wrench: Ссылка на репозиторий https://github.com/dappy-studio/gitcoin-passport-discourse-plugin
:open_book: Руководство по установке Как установить плагины в Discourse

Обзор

Gitcoin Passport — это инструмент устойчивости к сибил-атакам, который помогает DAO и онлайн-сообществам защищаться от ботов и сибил-атакующих. Данное руководство объясняет, как настроить и включить плагин Gitcoin Passport в Discourse для защиты форумов сообщества от недобросовестных участников, сохраняя при этом анонимность.

Как работает Gitcoin Passport

Gitcoin Passport позволяет любому пользователю создать свой собственный паспорт и добавлять в него «штампы», подтверждая различные критерии. Процесс верификации полностью анонимен: как только штамп подтвержден, пользователь может использовать его на любой поддерживаемой платформе (например, Discourse), не раскрывая свою личность. Например, человек может доказать, что вносил вклад в репозитории на GitHub не менее чем в течение 120 разных дней, не раскрывая при этом, кто он!

Примеры доступных сегодня штампов:

  1. Более 1000 подписчиков в Twitter
  2. Владение именем .eth (ENS)
  3. Владение аккаунтом Discord
  4. Участие в управлении DAO через Snapshot
  5. Потребление определенного количества газа в сети Ethereum

Существует множество других штампов, которые регулярно добавляются в Gitcoin Passport. Вы можете найти их, создать паспорт и начать добавлять штампы на сайте Gitcoin Passport.

Pasport

Требования

  • Хостинг форума Discourse, куда можно добавить плагин.
  • Плагин входа через Ethereum для Discourse plugin

Установка плагина

Чтобы установить и включить плагин на вашем собственном хостинге Discourse, используйте следующий метод: откройте файл app.yml вашего контейнера (находится в /var/discourse/containers/).

cd /var/discourse
nano containers/app.yml
Добавьте URL репозитория плагина в файл app.yml вашего контейнера:

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   # <-- добавлено

Следуйте существующему формату строки docker_manager.git; если она не содержит sudo -E -u discourse, добавьте следующую строку: - git clone https://github.com/dappy-studio/gitcoin-passport-discourse-plugin.git.

Пересоберите контейнер:

cd /var/discourse
./launcher rebuild app

Включение плагина

Для включения плагина у вас должны быть права администратора на вашем форуме Discourse. Вот шаги для его включения:

  1. Перейдите на страницу настроек администратора.
  2. Откройте вкладку «Плагины».
  3. Нажмите кнопку «Настройки» для плагина «discourse-gitcoin-passport». Примечание: если вы не видите этот плагин, это означает, что установка не удалась. Вернитесь к разделу «Установка плагина».
  4. Включите Gitcoin Passport, установив флажок «Enable Gitcoin Passport?».

Настройка API-ключа и ID скора Gitcoin Passport

Для настройки плагина у вас должны быть права администратора на вашем форуме Discourse. Вот шаги для его настройки:

  1. Перейдите в приложение scorer Gitcoin Passport и войдите, используя свой кошелек.
  2. Перейдите на вкладку «API keys» → нажмите «+ API key» → дайте ключу имя → нажмите «Create».
  3. Скопируйте API-ключ и вставьте его в поле «gitcoin passport api key» в настройках плагина «discourse-gitcoin-passport» на Discourse.
  4. Вернитесь в приложение scorer Gitcoin Passport.
  5. Перейдите на вкладку «Scorer» → нажмите «+ Scorer» → выберите вариант использования → дайте ему имя и описание → нажмите «Continue» → выберите механизм оценки, который вы хотите использовать → нажмите «Create Scorer».
  6. После создания нового скора вы можете скопировать его ID и вставить его в поле «gitcoin passport scorer id» в настройках плагина «discourse-gitcoin-passport» на Discourse.

Setup

Если вы смогли следовать инструкциям до этого момента, поздравляем! Вы успешно настроили базовые требования для работы плагина Gitcoin Passport. Теперь перейдем к интересным возможностям!

Настройки кастомизации

Плагин Gitcoin Passport для Discourse altamente настраиваемый, что позволяет ограничивать доступ к различным действиям пользователей на вашем форуме.

customizations

Минимальный уровень оценки Gitcoin Passport на уровне форума для создания аккаунта

Минимальный уровень оценки для создания аккаунта можно установить, чтобы блокировать сибил-атакующих прямо на входе! При установке этого уровня пользователю потребуется войти с помощью своего кошелька и собрать достаточное количество штампов в Gitcoin Passport, чтобы набрать необходимый уровень оценки для создания аккаунта. Не волнуйтесь! Мы сделали так, чтобы пользователи точно знали свой текущий уровень оценки, требуемый уровень и URL, по которому можно собрать штампы, прямо на странице создания нового аккаунта.

Подождите, это значит, что существующие пользователи теряют доступ, пока не соберут штампы???

Ну, это зависит от вас!

Последняя дата подключения кошелька для существующих пользователей

С помощью этой настройки вы можете установить крайнюю дату, к которой существующие пользователи должны подключить свои кошельки и набрать минимальный требуемый уровень оценки. После этой даты любой пользователь (новый или существующий), не имеющий требуемого минимального уровня оценки, не сможет публиковать сообщения или создавать новые темы.

Минимальный уровень оценки Gitcoin Passport на уровне форума для публикации (и другие способы ограничения публикаций в Discourse)

При установке минимального уровня оценки, необходимого для публикации, все пользователи форума должны иметь этот уровень, чтобы иметь возможность отвечать (то есть создавать посты) на все темы. Если только…

Вы не переопределите этот уровень более специфичным уровнем на уровне категории или пользователя. Подождите, что? Я запутался.

Хорошо, тогда…

Когда вы пытаетесь ограничить доступ к ответам на темы в Discourse с помощью уровней оценки Gitcoin Passport, это можно сделать на трех уровнях.

  1. Уровень пользователя — каждый пользователь может иметь свой собственный требуемый уровень оценки для ответов. Если пользователь не достигает этого уровня, он не сможет отвечать ни на одну тему. Если этот уровень установлен, уровень оценки на уровне категории или форума для этого конкретного пользователя не имеет значения.

user

  1. Уровень категории — каждая категория может иметь свой собственный требуемый уровень оценки для ответов только на темы в этой категории. Если пользователь не достигает требуемого уровня, он не сможет отвечать только в этой категории. Он все еще сможет отвечать в других категориях. Если этот уровень установлен, уровень оценки на уровне форума для этой конкретной категории не имеет значения.

category

  1. Уровень форума — это минимальный уровень оценки, требуемый от всех пользователей, отвечающих на темы во всех категориях. Если не установлен уровень оценки на уровне категории или пользователя, будет использоваться этот уровень.

Минимальный уровень оценки Gitcoin Passport на уровне форума для создания новой темы (и другие способы ограничения публикаций в Discourse)

Это работает точно так же, как настройка «gitcoin passport forum level score to post». Единственное отличие — это применяется к созданию новой темы.

ВАЖНО: Убедитесь, что этот уровень выше, чем уровень, требуемый для публикации. Если он ниже, уровень будет равен уровню, требуемому для публикации (поскольку технически новая тема также является новым постом).

Хорошо, мы рассмотрели самые важные части этого плагина. Теперь давайте перейдем к некоторым крутым дополнениям!

Плагин позволяет автоматически распространять значки Discourse, когда кто-то превышает пороговое значение оценки. Это можно использовать для мотивации пользователей набирать более высокий уровень оценки паспорта, тем самым повышая общую «человечность» сообщества.

Зачем, спросите вы?

Это позволяет всем участникам сообщества быть более уверенными в том, что они взаимодействуют с другими уникальными людьми, делая ваше сообщество со временем более безопасным местом.

Некоторые быстрые, но важные настройки перед продолжением:

  1. Перейдите на вкладку «Badges» в настройках администратора.
  2. Создайте новый значок:
    a. Нажмите «+ New».
    b. Дайте значку имя, добавьте графическое изображение, установите тип значка как «Bronze» и дайте ему описание.
    c. Важно — нажмите значок редактирования под «Badge Groupings» и создайте новую группу под названием «Unique Humanity». Убедитесь, что написание и регистр совпадают, то есть Unique Humanity. Сохраните.
    d. Сохраните значок.
    e. Не забудьте включить его с помощью переключателя сверху.
  3. Сделайте то же самое, что и в пункте 2, чтобы создать значки Silver и Gold.

Теперь мы готовы настроить уровни оценки, необходимые для получения этих значков.

Минимальный уровень оценки Gitcoin Passport для получения значка Unique Humanity Bronze

Минимальный уровень оценки, требуемый от всех для получения значка Unique Humanity Bronze.

Минимальный уровень оценки Gitcoin Passport для получения значка Unique Humanity Silver

Минимальный уровень оценки, требуемый от всех для получения значка Unique Humanity Silver.

Минимальный уровень оценки Gitcoin Passport для получения значка Unique Humanity Gold

Минимальный уровень оценки, требуемый от всех для получения значка Unique Humanity Gold.

Эти значки автоматически выдаются пользователям на форуме при подключении (или переподключении) их кошелька. Пользователи также могут перейти в «Профиль» → «Сводка» и нажать «Refresh», чтобы обновить свой уровень оценки паспорта и автоматически получить значки, на которые они имеют право.

Хорошо. Теперь одно последнее рекомендуемое значение, применимое к сайтам с высоким трафиком.

badge

URL узла Ethereum

Если вы уже запускаете свой собственный узел Ethereum или имеете хостинг узла (с провайдерами, такими как Infura или Ankr), вы можете скопировать и вставить URL своего узла здесь. Обратите внимание, что узел по умолчанию здесь — это публичный узел бесплатного тарифа, поэтому настоятельно рекомендуется использовать свои собственные узлы.

Ого, это было много!

Не волнуйтесь, мы также записали видеоурок на YouTube, чтобы помочь вам (особенно если вы визуальный ученик).

Если вам все еще нужна помощь, не стесняйтесь обратиться за поддержкой через любой из следующих каналов:

  1. Создайте проблему в этом репозитории.
  2. Наш Discord, где вы можете получить самый быстрый ответ на сегодняшний день.
  3. Наша электронная почта: support@dappy.lol.
7 лайков

Для установки этого нам нужен собственный форум, верно?

Не бизнес-класс от Discourse?

Да, самообслуживание или провайдер хостинга, который добавит этот плагин