Plugin Gitcoin Passport

A B C
:information_source: Resumo Ativar proteção contra ataques síbil com o Gitcoin Passport no Discourse
:hammer_and_wrench: Link do Repositório https://github.com/dappy-studio/gitcoin-passport-discourse-plugin
:open_book: Guia de Instalação Como instalar plugins no Discourse

Visão Geral

O Gitcoin Passport é uma ferramenta de resistência a ataques síbil que ajuda DAOs e comunidades online a se protegerem de bots e atacantes síbil. Este é um guia sobre como configurar e ativar o plugin do Gitcoin Passport no Discourse para proteger fóruns da comunidade contra agentes mal-intencionados, preservando ao mesmo tempo o anonimato no processo.

Como o Gitcoin Passport Funciona

O Gitcoin Passport permite que qualquer pessoa crie seu próprio passaporte e adicione selos a esse passaporte, verificando diferentes critérios. O processo de verificação é completamente anônimo, ou seja, uma vez que um selo é verificado, uma pessoa pode usá-lo em qualquer plataforma compatível (como o Discourse) sem revelar sua identidade. Por exemplo, uma pessoa pode provar que contribuiu para repositórios de código no Github em pelo menos 120 dias distintos sem realmente revelar quem é!

Exemplos de alguns selos disponíveis hoje:

  1. Mais de 1000 seguidores no Twitter
  2. Propriedade de um nome .eth (ENS)
  3. Propriedade de uma conta no Discord
  4. Participação na governança de DAOs no Snapshot
  5. Certos valores de taxas de gás gastos na rede Ethereum

Há muitos outros selos disponíveis hoje e sendo adicionados ao Gitcoin Passport regularmente. Você pode encontrá-los, criar um passaporte e começar a adicionar selos ao seu passaporte no site Gitcoin Passport.

Pasport

Requisitos

  • Um fórum Discourse hospedado onde o plugin possa ser adicionado.
  • Plugin de login com Ethereum no Discourse plugin

Instalando o plugin

Para instalar e ativar o plugin no seu Discourse auto-hospedado, use o seguinte método: Acesse o arquivo app.yml do seu container (presente em /var/discourse/containers/)

cd /var/discourse
nano containers/app.yml
Adicione a URL do repositório do plugin ao arquivo app.yml do seu container:

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

Siga o formato existente da linha docker_manager.git; se ela não contiver sudo -E -u discourse, insira - git clone GitHub - dappy-studio/gitcoin-passport-discourse-plugin: Gitcoin Passport Plugin for communities that value sybil resistance · GitHub.

Reconstrua o container:

cd /var/discourse
./launcher rebuild app

Ativando o plugin

Para ativar o plugin, você precisará ter acesso de administrador no seu fórum Discourse. Aqui estão os passos para ativá-lo.

  1. Vá para a página de configurações de administrador
  2. Vá para a aba de plugins
  3. Clique no botão “Configurações” no plugin “discourse-gitcoin-passport”. Nota: Se você não vir este plugin, significa que a instalação não foi bem-sucedida. Por favor, volte para a seção “Instalar o Plugin”.
  4. Ative o Gitcoin Passport marcando a caixa de seleção “Ativar Gitcoin Passport?”

Configurando a chave de API e o ID do avaliador do Gitcoin Passport

Para configurar o plugin, você precisará ter acesso de administrador no seu fórum Discourse. Aqui estão os passos para configurá-lo.

  1. Vá para o aplicativo de avaliador do Gitcoin Passport e faça login com sua carteira
  2. Vá para a aba “Chaves de API” => Clique em “+ Chave de API” => Dê um nome à sua chave => Clique em “Criar”
  3. Copie a chave de API e cole no campo chamado “chave de api do gitcoin passport” nas configurações do seu plugin “discourse-gitcoin-passport” no Discourse
  4. Volte para o aplicativo de avaliador do Gitcoin Passport.
  5. Vá para a aba “Avaliador” => Clique em “+ Avaliador” => Selecione um caso de uso => Dê um nome e descrição => Clique em “Continuar” => Selecione o mecanismo de avaliação que deseja usar => Clique em “Criar Avaliador”
  6. Assim que tiver um novo avaliador, você pode copiar o ID do Avaliador e colá-lo no campo chamado “id do avaliador do gitcoin passport” nas configurações do seu plugin “discourse-gitcoin-passport” no Discourse

Setup

Se você conseguiu acompanhar até aqui, parabéns! Você agora configurou com sucesso os requisitos básicos para ter um plugin funcional do Gitcoin Passport. Agora chegamos às partes mais empolgantes!

Personalizações

O plugin do Gitcoin Passport para Discourse é altamente personalizável, permitindo que você restrinja o acesso a várias ações realizadas por um usuário no seu fórum.

customizations

Pontuação no nível do fórum do Gitcoin Passport para criar conta

A pontuação mínima para criar uma conta pode ser definida para prevenir ataques síbil já na porta! Quando você define essa pontuação, uma pessoa precisará fazer login com sua carteira e também coletar selos suficientes do Gitcoin Passport para ter pontuação suficiente para criar uma conta. E não se preocupe! Fizemos de forma que as pessoas saibam exatamente a pontuação que têm atualmente, a pontuação necessária e o URL para onde podem ir para coletar os selos, exatamente onde criam uma nova conta.

Espere, então, isso significa que os usuários existentes perdem o acesso até que coletem alguns selos???

Bem, você pode decidir!

Última data do Gitcoin Passport para conectar carteira para usuários existentes

Usando essa configuração, você pode definir uma data limite até a qual os usuários existentes precisarão conectar suas carteiras e obter a pontuação mínima necessária. Após essa data, qualquer usuário (existente ou novo) que não tenha a pontuação mínima necessária não terá permissão para postar ou criar um novo tópico.

Pontuação no nível do fórum do Gitcoin Passport para postar (e outras formas de restringir postagens no Discourse)

Quando você define a pontuação mínima necessária para postar, todos no fórum devem ter essa pontuação para poder responder (ou seja, criar uma postagem) em todos os tópicos. A menos que…

Você substitua essa pontuação por uma pontuação mais específica no nível da categoria ou no nível do usuário. Espere, o quê? Estou confuso.

Ok, então…

Quando você está tentando restringir o acesso para responder a tópicos no Discourse usando as pontuações do Gitcoin Passport, você pode fazer isso em 3 níveis.

  1. Nível do usuário - Cada usuário pode ter uma pontuação específica necessária para responder. Se um usuário não atingir essa pontuação, ele não poderá responder a nenhum tópico. Se essa pontuação for definida, a pontuação no nível da categoria ou no nível do fórum para esse usuário específico não importa.

user

  1. Nível da categoria - Cada categoria pode ter uma pontuação específica necessária para responder a tópicos apenas naquela categoria. Se um usuário não atingir a pontuação necessária, ele não poderá responder apenas nessa categoria. Ele ainda poderá responder em outras categorias. Se essa pontuação for definida, a pontuação no nível do fórum não importa para essa categoria específica.

category

  1. Nível do fórum - Esta é a pontuação mínima necessária para todos os usuários que respondem a tópicos em todas as categorias. A menos que haja uma pontuação definida no nível da categoria ou do usuário, esta será a pontuação utilizada.

Pontuação no nível do fórum do Gitcoin Passport para criar novo tópico (e outras formas de restringir postagens no Discourse)

Isso funciona exatamente da mesma maneira que a configuração “pontuação no nível do fórum do Gitcoin Passport para postar”. A única diferença é que isso se aplica à criação de um novo tópico.

IMPORTANTE: Certifique-se de que essa pontuação seja maior que a pontuação necessária para postar. Se for menor, a pontuação será definida automaticamente para a pontuação necessária para postar (já que, tecnicamente, um novo tópico também é uma nova postagem).

Ok, cobrimos as partes mais importantes deste plugin. Agora vamos passar por algumas das novidades legais!

O plugin permite distribuir distintivos do Discourse automaticamente quando alguém ultrapassa um limite de pontuação. Isso pode ser usado para incentivar indivíduos a obter uma pontuação de passaporte mais alta, aumentando assim a “humanidade” geral da comunidade.

Por que, você pergunta?

Bem, isso permite que todos os membros da comunidade tenham mais certeza de que estão interagindo com outros humanos únicos, tornando sua comunidade um refúgio seguro ao longo do tempo.

Algumas configurações rápidas, mas importantes, antes de prosseguirmos.

  1. Vá para a aba “Distintivos” nas configurações de administrador
  2. Crie um novo distintivo a. Clique em “+ Novo” b. Dê um nome ao seu distintivo, adicione um gráfico, defina o tipo de distintivo como “Bronze” e dê uma descrição c. Importante - Clique no ícone de edição em “Grupos de Distintivos” e crie um novo grupo chamado “Humanidade Única”. Verifique se a ortografia e a digitação são as mesmas, ou seja, Humanidade Única. Salve-o. d. Salve o distintivo. e. Lembre-se de ativá-lo usando o alternador no topo.
  3. Faça o mesmo que no passo 2 para criar os distintivos Prata e Ouro.

Agora, estamos prontos para configurar as pontuações necessárias para obter esses distintivos.

Pontuação necessária do Gitcoin Passport para obter o distintivo Bronze de Humanidade Única

A pontuação mínima necessária para todos obterem o Distintivo Bronze de Humanidade Única

Pontuação necessária do Gitcoin Passport para obter o distintivo Prata de Humanidade Única

A pontuação mínima necessária para todos obterem o Distintivo Prata de Humanidade Única

Pontuação necessária do Gitcoin Passport para obter o distintivo Ouro de Humanidade Única

A pontuação mínima necessária para todos obterem o Distintivo Ouro de Humanidade Única

Esses distintivos são recebidos pelos usuários no fórum automaticamente quando conectam (ou reconectam) sua carteira. Os usuários também podem ir para “Perfil” => “Resumo” e clicar em “Atualizar” para atualizar sua pontuação de passaporte e receber automaticamente os distintivos para os quais são elegíveis.

Ok. Agora, uma configuração final recomendada para sites que esperam alto tráfego.

badge

URL do nó Ethereum

Se você já estiver executando seu próprio nó Ethereum ou tiver um nó hospedado (com provedores como Infura ou Ankr), você pode copiar e colar a URL do seu nó aqui. Por favor, esteja ciente de que o nó padrão definido aqui é um nó público na camada gratuita, portanto, é altamente recomendável usar seus próprios nós.

Uau, foi muito!

Não se preocupe, também gravamos um tutorial no Youtube para ajudar (especialmente se você for um aprendiz visual)

Se você ainda precisar de ajuda, sinta-se à vontade para pedir suporte em qualquer um dos seguintes meios.

  1. Abra uma issue neste repositório
  2. Nosso Discord, onde você pode obter a resposta mais rápida até hoje
  3. Nosso e-mail em support@dappy.lol
7 curtidas

Para instalar isso, precisaríamos de um fórum auto-hospedado, correto?

Não da classe empresarial da Discourse?

Sim, auto-hospedado ou um provedor de serviços de hospedagem que adicionaria este plugin