| A | B | C |
|---|---|---|
| 摘要 | 在 Discourse 上通过 Gitcoin Passport 启用女巫攻击防护 | |
| 仓库链接 | https://github.com/dappy-studio/gitcoin-passport-discourse-plugin | |
| 安装指南 | 如何在 Discourse 中安装插件 |
概述
Gitcoin Passport 是一种反女巫攻击工具,帮助 DAO 和在线社区防范机器人和女巫攻击者。本指南将介绍如何在 Discourse 上设置并启用 Gitcoin Passport 插件,以保护社区论坛免受恶意行为者的侵害,同时在此过程中保持匿名性。
Gitcoin Passport 的工作原理
Gitcoin Passport 允许任何人创建自己的护照,并通过验证不同标准为护照添加“印章”(Stamps)。验证过程完全匿名,即一旦某个印章被验证,用户便可在任何支持的平台上(如 Discourse)使用该印章,而无需透露其真实身份。例如,一个人可以证明自己曾在 GitHub 上至少 120 个不同的日期为代码库做出过贡献,而无需暴露自己的身份!
以下是一些当前可用的印章示例:
- 在 Twitter 上拥有超过 1000 名关注者
- 拥有 .eth(ENS)域名
- 拥有 Discord 账号
- 参与 Snapshot 上的 DAO 治理
- 在以太坊网络上花费了一定数量的 Gas 费
目前还有许多其他印章可用,并且 Gitcoin Passport 会定期添加新的印章。您可以在 Gitcoin Passport 网站上查找这些印章、创建护照并开始添加印章。
要求
- 一个可添加插件的托管 Discourse 论坛。
- 已安装并启用基于 Ethereum 的 Discourse 插件(Sign in with Ethereum)。
安装插件
要在您自托管的 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 论坛的管理员权限。以下是启用步骤:
- 进入您的管理员设置页面
- 切换到“插件”标签页
- 点击“discourse-gitcoin-passport”插件旁边的“设置”按钮
注意:如果您未看到此插件,说明插件安装未成功。请返回“安装插件”部分重新操作。 - 勾选“启用 Gitcoin Passport?”复选框以启用 Gitcoin Passport
设置 Gitcoin Passport API 密钥和评分器 ID
要设置插件,您需要拥有 Discourse 论坛的管理员权限。以下是设置步骤:
- 访问 Gitcoin Passport 评分器应用 并使用您的钱包登录
- 进入“API 密钥”标签页 => 点击“+ API 密钥” => 为您的密钥命名 => 点击“创建”
- 复制 API 密钥,并将其粘贴到 Discourse 中“discourse-gitcoin-passport”插件设置下的“gitcoin passport api key”字段中
- 返回 Gitcoin Passport 评分器应用
- 进入“评分器”标签页 => 点击“+ 评分器” => 选择一个用例 => 为其命名并添加描述 => 点击“继续” => 选择您想要使用的评分机制 => 点击“创建评分器”
- 创建新评分器后,复制评分器 ID,并将其粘贴到 Discourse 中“discourse-gitcoin-passport”插件设置下的“gitcoin passport scorer id”字段中
如果您能跟随至此,恭喜!您已成功设置了 Gitcoin Passport 插件的基本运行要求。现在让我们进入更有趣的部分!
自定义设置
Gitcoin Passport Discourse 插件具有高度可定制性,允许您根据用户在论坛上的各种操作来限制访问权限。
创建账户所需的 Gitcoin Passport 论坛级分数
可以设置创建账户所需的最低分数,从而在入口处就阻止女巫攻击者!设置此分数后,用户必须使用钱包登录,并从 Gitcoin Passport 收集足够的印章以达到创建账户所需的分数。别担心!我们已确保用户能够清楚地看到他们当前的分数、所需分数以及可以收集印章的网址,这些信息会直接显示在创建新账户的页面上。
等等,这是否意味着现有用户必须收集一些印章才能继续访问???
嗯,这由您决定!
现有用户连接钱包的最后期限
使用此设置,您可以设定一个截止日期,现有用户必须在此日期前连接钱包并达到所需的最低分数。在此日期之后,任何(现有或新用户)未达到最低分数的用户将无权发帖或创建新主题。
发帖所需的 Gitcoin Passport 论坛级分数(以及在 Discourse 上限制发帖的其他方法)
当您设置发帖所需的最低分数时,论坛中的所有用户都必须达到该分数才能回复(即发帖)所有主题。除非……
您在分类级别或用户级别用更具体的分数覆盖了此设置。等等,什么?我有点困惑。
好的,是这样的……
当您尝试使用 Gitcoin Passport 分数来限制对 Discourse 主题回复的访问时,您可以在三个级别上进行设置:
- 用户级别:每个用户都可以设置特定的回复所需分数。如果用户未达到该分数,则无法回复任何主题。如果设置了此分数,则该用户的分类级别分数或论坛级别分数将不再适用。
- 分类级别:每个分类都可以设置特定的回复所需分数,仅适用于该分类内的主题。如果用户未达到该分数,则无法回复该分类的主题,但仍可回复其他分类的主题。如果设置了此分数,则该分类的论坛级别分数将不再适用。
- 论坛级别:这是所有用户在所有分类中回复主题所需的最低分数。除非在分类级别或用户级别设置了分数,否则将使用此分数。
创建新主题所需的 Gitcoin Passport 论坛级分数(以及在 Discourse 上限制发帖的其他方法)
此设置的工作方式与“发帖所需的 Gitcoin Passport 论坛级分数”完全相同,唯一的区别是它适用于创建新主题。
重要提示:请确保此分数高于发帖所需的分数。如果低于发帖所需分数,系统将默认使用发帖所需的分数(因为从技术上讲,新主题也是一种新帖子)。
好的,我们已经涵盖了该插件最重要的部分。现在让我们看看一些有趣的附加功能!
该插件支持在用户分数达到特定阈值时自动分发 Discourse 徽章。这可用于激励用户获得更高的护照分数,从而提升社区整体的“人性”程度。
您可能会问,为什么要这样做?
嗯,这能让所有社区成员更有信心地确认他们正在与其他真实的人类互动,从而使您的社区随着时间的推移成为一个更安全的环境。
在继续之前,需要做一些简单但重要的设置:
- 进入管理员设置中的“徽章”标签页
- 创建新徽章:
a. 点击“+ 新建”
b. 为您的徽章命名,添加图形,将徽章类型设置为“青铜”,并添加描述
c. 重要:点击“徽章分组”下的编辑图标,创建一个名为“独特人性(Unique Humanity)”的新分组。请仔细检查拼写和输入是否完全一致,即 Unique Humanity。保存它。
d. 保存徽章。
e. 记得使用顶部的开关启用它。 - 重复步骤 2,创建“白银”和“黄金”徽章。
现在,我们可以设置获取这些徽章所需的分数了。
获取独特人性青铜徽章所需的 Gitcoin Passport 分数
所有用户获取青铜“独特人性”徽章所需的最低分数
获取独特人性白银徽章所需的 Gitcoin Passport 分数
所有用户获取白银“独特人性”徽章所需的最低分数
获取独特人性黄金徽章所需的 Gitcoin Passport 分数
所有用户获取黄金“独特人性”徽章所需的最低分数
当用户连接(或重新连接)钱包时,这些徽章会自动授予论坛上的用户。用户也可以前往“个人资料” => “摘要”并点击“刷新”,以更新其护照分数并自动获得其有资格领取的徽章。
好的。现在,最后一个针对高流量网站的推荐设置。
以太坊节点 URL
如果您已经运行了自己的以太坊节点,或拥有托管节点(例如通过 Infura 或 Ankr 等提供商),您可以将节点 URL 复制并粘贴到这里。请注意,此处设置的默认节点是一个免费层的公共节点,因此强烈建议使用您自己的节点。
哇,内容真多!
别担心,我们还录制了一个 YouTube 教程 来提供帮助(尤其适合视觉型学习者)。
如果您仍然需要帮助,请随时通过以下任一渠道寻求支持:
- 在此仓库中提交问题
- 我们的 Discord(目前响应最快的渠道)
- 发送邮件至 support@dappy.lol





