Plugin de inicio de sesión con Ethereum

Por favor, cuéntanos todo lo que hiciste para añadir este plugin.
¿Añadiste before_code como se describió anteriormente en este tema?
¿Es esta una instalación estándar?

1 me gusta

en app.yml Añadido como - git clone https//GitHub—-.git

Autoalojado en Ubuntu 18, y es una instalación estándar con el comando ./setup

Entonces no hiciste esto

1 me gusta

@RGJ ¿puedes decirme cómo agregar esto antes_del_código, y por favor compárteme la publicación con el antes_del_código?

No, lo siento, puedes usar ctrl-f para buscar el tema y te llevará a la respuesta.

3 Me gusta

@RGJ se refiere a la guía en github :slight_smile: GitHub - spruceid/discourse-siwe-auth: Discourse plugin for SIWE authentication

En el archivo app.yml necesitas añadir las secciones debajo de la sección hooks

2 Me gusta

gracias @RGJ y @Tris20 , intentaré esto y les actualizaré

Realmente funcionó, gracias. No sé por qué no pude verlo antes :slightly_smiling_face:

Actualización: Instalación realizada y el plugin funciona correctamente. Ahora solo estoy probando el inicio de sesión con la billetera ETH.

4 Me gusta

Creo que esto está roto, no aparece ninguna ventana emergente (solicitud de firma) al presionar el botón “Sign with Ethereum” en la página /discourse-siwe/auth.

A continuación se muestran los registros de la consola que aparecen al hacer clic en el botón.

SyntaxError: Unexpected token '<', "<!doctype "... no es JSON válido
    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)

Me funciona en ambas pruebas, pasó como estable, usando un Infura ID.
¿Cómo configuraste el plugin?

Hmm, probé tanto la clave de Infura como los RPC públicos, así como ingresé manualmente el RPC de mainnet de Infura. No estoy seguro de si ese es el problema.

¿Es posible editar/dar estilo a la ventana emergente de inicio de sesión con eth?

¿Puedo agregar otras redes compatibles con Ethereum también?

¿Puede dar un ejemplo de una “red compatible con Ethereum”?

Me refiero a igual que BSC

Quiero decir “Binance Smart Chain”

Nuevo Error

Sí, agregué los hooks before_code. El error comienza aquí y no ocurre cuando comento el 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 &amp;&amp; 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

Mira el error a continuación

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #&lt;Process::Status: pid 778 exit 1&gt;
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"=&gt;"$home", "tag"=&gt;"migrate", "hook"=&gt;"db_migrate", "cmd"=&gt;["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, mira lo anterior, espero que podamos resolverlo rápidamente ^

Registro completo:

redacted@server:/var/discourse$ sudo ./launcher rebuild app
Se detectó arquitectura x86_64

La solución ya está (estaba) en nuestro fork en GitHub - communiteq/discourse-siwe-auth: Discourse plugin for SIWE authentication, aún no hemos hecho una PR a upstream porque los commits de la corrección están un poco desordenados, pero funciona bien.

1 me gusta