Plugin de Login com Ethereum

Por favor, conte-nos sobre tudo o que você fez para adicionar este plugin.
Você adicionou o before_code como descrito anteriormente neste tópico?
Esta é uma instalação padrão?

1 curtida

no app.yml Adicionado como - git clone https//GitHub—-.git

Auto-hospedado no Ubuntu 18, e é uma instalação padrão com o comando ./setup

Então você não fez isso

1 curtida

@RGJ você pode me dizer como adicionar este before_code, e por favor, compartilhe comigo a postagem com o before_code

Não, sinto muito, você pode usar Ctrl+F para pesquisar o tópico e ele o levará à resposta.

3 curtidas

@RGJ está se referindo ao guia no github :slight_smile: GitHub - spruceid/discourse-siwe-auth: Discourse plugin for SIWE authentication

No arquivo app.yml você precisa adicionar as seções abaixo da seção hooks

2 curtidas

obrigado @RGJ e @Tris20 , vou tentar isso e atualizo vocês

realmente funcionou, obrigado, não sei por que não consegui ver antes :slightly_smiling_face:

atualização: Instalação concluída e o plugin está funcionando bem, agora é só testar com a carteira ETH para fazer login.

4 curtidas

Acredito que isso esteja quebrado, nenhum pop-up (solicitar assinatura) está acontecendo quando você pressiona o botão "Sign with Ethereum" na página /discourse-siwe/auth.

Abaixo estão os logs do console que aparecem quando você clica no botão.

SyntaxError: Unexpected token '<', "<!doctype "... is not valid JSON
    at Function.parse [as parseJSON] (<anonymous>)
    at n (ajax-error.js:29:1)
    at e.popupAjaxError (ajax-error.js:71:1)
    at y (rsvp.js:435:1)
    at v (rsvp.js:421:1)
    at f (rsvp.js:370:1)
    at m.invoke (queue.ts:203:14)
    at m.flush (queue.ts:98:13)
    at f.flush (deferred-action-queues.ts:75:19)
    at $._end (index.ts:616:32)
    at _boundAutorunEnd (index.ts:257:12)
TypeError: Cannot destructure property 'message' of '(intermediate value)' as it is undefined.
    at e.signMessage (web3modal.js:66:1)
    at async e.runSigningProcess (web3modal.js:82:1)
    at async e.initAuth (siwe-auth-index.js:38:1)

Está funcionando para mim em ambos os testes - passou como estável, usando um Infura ID.
Como você configurou o plugin?

Hmm, tentei usar a chave do Infura ou RPCs públicas, bem como inserir manualmente o RPC da mainnet do Infura. Não tenho certeza se esse é o problema.

É possível editar/estilizar o pop-up de login com eth?

Posso adicionar outras redes compatíveis com Ethereum também?

Você pode me dar um exemplo de uma “rede amigável ao Ethereum”?

Quero dizer, assim como a BSC

Quero dizer "Binance Smart Chain"

Novo Erro

Sim, adicionei os hooks before_code. O erro começa aqui e não acontece quando comento o plugin siwe-auth.

I, [2025-02-11T03:40:25.992538 #1]  INFO -- : 
I, [2025-02-11T03:40:25.993236 #1]  INFO -- : 
> cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
rake aborted!
hooks:
  before_code:
    - exec:
        cmd:
          - gem install rubyzip
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-gamification
          - git clone https://github.com/discourse/discourse-chat-integration
          - git clone https://github.com/angusmcleod/discourse-events
          - git clone https://github.com/discourse/discourse-ai
          - git clone https://github.com/discourse/discourse-subscriptions
          - git clone https://github.com/discourse/discourse-translator
          - git clone https://github.com/discourse/discourse-signatures
          - git clone https://github.com/merefield/discourse-locations
          - git clone https://github.com/discourse/discourse-reactions
          - git clone https://github.com/melhosseiny/discourse-nft-avatar
          - git clone https://github.com/discourse/discourse-follow
          - git clone https://github.com/spruceid/discourse-siwe-auth

Veja o erro abaixo

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 778 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

@RGJ por favor, veja acima, espero que possamos resolver rapidamente ^

LOG COMPLETO:

redacted@server:/var/discourse$ sudo ./launcher rebuild app
arquitetura x86_64 detectada

A solução já está (estava) em nosso fork em GitHub - communiteq/discourse-siwe-auth: Discourse plugin for SIWE authentication, ainda não fizemos um PR para o upstream porque os commits de correção estão um pouco bagunçados, mas funciona bem.

1 curtida