Integración de billetera de criptomonedas (Bitcoin)

¿Qué te gustaría que se hiciera?
Me preguntaba si existe la posibilidad de que alguien cree una billetera de criptomonedas integrada en Discourse. De esa manera, la comunidad tendría un sistema de propinas para todo lo bueno en proyectos relacionados con la comunidad, etc.

¿Cuál es tu presupuesto, en $ USD, que puedes ofrecer por esta tarea?
Estoy seguro de que cualquiera que sepa qué es Discourse y las criptomonedas se uniría para pagar la comisión por este plugin.

Lo principal es que el daemon de la billetera debe instalarse en el mismo host donde está Discourse, para que Discourse pueda comunicarse con el daemon a través de la herramienta de línea de comandos daemon-cli.

El daemon tiene la posibilidad de crear cuentas en la billetera, de modo que los fondos estén separados.

¿Puede Discourse ejecutar un archivo en el mismo host, en este caso el archivo daemon-cli, que pueda desencadenar múltiples operaciones en la billetera (getaddress, sendfrom, etc.) y recibir retroalimentación para mostrarla en el foro de Discourse?

La segunda cosa es: ¿puede Discourse enviar llamadas RPC al daemon en el mismo host? De esa manera, podemos mostrar “la tasa de hash de la red” y otra información sobre la red de la cadena de bloques.

Mi comunidad creó nuestra propia criptomoneda que podríamos usar para dar propinas en el foro de Discourse; eso sería “la bomba”. Solo imagina un botón de “propina” al lado de “me gusta” :slight_smile:

También podríamos ofrecer una recompensa en nuestra propia criptomoneda si alguien está interesado.

Podemos proporcionar el daemon si es necesario; el tamaño de nuestra cadena de bloques es muy pequeño, lo que sería un buen punto de partida para este plugin.

Espero que alguien con buenos conocimientos pueda resolver esto, y yo puedo proporcionar lo relacionado con la cadena de bloques para que podamos terminar este plugin.

Bitcoin está subiendo, casi 17 mil dólares; creo que Discourse debería tener una billetera de criptomonedas y un sistema de propinas.

Gracias

Rux, Crypto.ba

3 Me gusta

Como referencia, el plugin discourse-subscriptions (también conocido como Stripe) requirió varios meses de desarrollo. Es posible que no necesites todas las funciones y especificaciones que ofrece, pero estás hablando de un trabajo enorme. Además, realizar todas estas tareas ejecutando un CLI será realmente difícil. ¿Existe una API basada en la web?

Si no cuentas con un presupuesto considerable (y probablemente en una moneda fuerte), tendrás que encontrar a alguien que ame Discourse y ame Bitcoin. ¡Esa persona podría estar aquí! (Pero no sé quién sea…)

3 Me gusta

Existen algunas billeteras con API basadas en la web, pero en nuestro caso, tenemos una billetera web escrita en PHP y luego conectada al daemon.

Espero que no sea un problema compartir el enlace: https://wallet.crypto.ba

Estoy pensando ahora: ¿existe alguna solución para implementar este sitio web de billetera web en Discourse, como un iframe o algo similar, que al menos sea algo?

Somos una comunidad educativa sin fines de lucro, pero estoy seguro de que si hubiera un desarrollador, otros se sumarían a la causa.

2 Me gusta

¿Qué es exactamente lo que quieres lograr? ¿El foro paga a los usuarios, los usuarios pagan al foro, o ambas cosas? (estás hablando de un “sistema de propinas”, pero ¿en qué sentido?)

No estoy seguro de que realmente quieras una “billetera” aquí. Integrar realmente una billetera en Discourse no parece tener mucho sentido y daría lugar a una serie de problemas de seguridad. Como se preguntó, ¿qué quieres lograr como resultado final?

3 Me gusta

El objetivo es que los miembros del foro, o al menos los administradores, den propinas a otros usuarios por sus contribuciones.

Bueno, pensando en la adopción de criptomonedas, dar propinas en cripto no haría daño y presentaría a muchas personas a las criptomonedas.

En mi caso, me encantaría que los usuarios de mi foro tuvieran integradas las carteras de Bitcoin y RXC, nuevamente solo para fomentar la adopción de criptomonedas y el aprendizaje fundamental, ya que somos una comunidad blockchain.

Con mucho gusto daría propinas a cualquiera de mis usuarios que contribuya a nuestra comunidad, lo que la haría muy interesante.

Por lo tanto, en este caso, cada usuario de Discourse debería tener una “cuenta” en la cartera del daemon que se ejecuta en el mismo host que Discourse.

En ese caso, el botón “crear cartera” en el perfil de Discourse debería enviar un comando al mismo host, al archivo daemon-cli.

daemon-cli getnewaccount “discourse-ID_DE_USUARIO”

y recibir una respuesta con una nueva dirección en el sistema de mensajes para su uso posterior, donde cada nueva “solicitud de envío desde el daemon” solo pueda usar ese mismo “discourse-ID_DE_USUARIO”, lo que evitaría que los fondos de los usuarios se mezclen.

daemon-cli sendfrom “discourse-ID_DE_USUARIO” “DIRECCIÓN_DESTINO” “CANTIDAD”

y eso es todo para enviar criptomonedas a otro usuario.

Entiendo que es mucho trabajo, y espero que esto motive a alguien en el futuro a crear una cartera de criptomonedas para Discourse.

El punto es que cada cuenta en la cartera del daemon debe crearse con un “identificador de usuario de Discourse” o algo similar; no quiero desanimar a los desarrolladores, pero estoy completamente atascado :frowning:

1 me gusta

Creo que puedes tener una idea equivocada aquí. Permite que los usuarios creen su billetera con cualquier identificador que deseen (algunos ya pueden tener uno) y pídeles que completen su identificador en tu foro. Esto parece más fácil y lógico.

Luego, debes considerar una cosa: ¿Es mejor realizar una transacción por cada “propina” o recopilar todas las propinas en una cuenta interna para cada usuario y permitirles retirar cuando quieran (o de manera programada, como al final de cada mes, por ejemplo)? ¿Existen comisiones por transacción? ¿Tiene sentido tener muchas transacciones muy pequeñas? (No lo sé en este momento, pero las comisiones en Bitcoin fueron bastante altas recientemente). Me parecería más lógico recopilar las propinas y trabajar con retiros. Por supuesto, los usuarios solo tienen que confiar en que mantendrás los montos hasta que retiren. Puedes mantener esto en una cuenta centralizada de criptomonedas donde sea visible que está estacionada allí en el meantime.

Si trabajas con retiros, incluso hay una forma bastante simple de hacerlo, sin requerir ninguna “vinculación” o integración en absoluto. Los usuarios pueden usar cualquier billetera que deseen y solo tienen que ingresar la dirección donde quieren recibir cuando retiren.

Otra cosa a considerar: ¿Quieres usar “me gusta”? Eso ya existe, solo tienes que rastrearlos. ¿O quieres que el plugin agregue un botón separado de “propina”?

Solo decide sobre los puntos anteriores y el principio del plugin no parece excesivamente complicado. Puedo explicártelo con claridad si lo deseas, y solo tendrás que encontrar a alguien para que lo codifique realmente.

Nota: Siempre podrías tener un botón para activar la generación de una nueva billetera con el servicio que tienes en mente para personas que no tienen una y quieren usarlo. Siempre que el servicio pueda llamarse para hacer esto y puedas recibir retroalimentación a cambio, como describes. O simplemente diles a los usuarios que lo hagan allí y luego ingresen el identificador en tu foro después.

2 Me gusta

Después de pensarlo un poco más, me di cuenta de que opté por la idea de que “el foro paga a sus usuarios”. Ahora comprendo que probablemente no era eso lo que tenías en mente. Supongo que también quieres que los propios usuarios puedan dar propinas a otros usuarios. Por lo tanto, el enfoque de “me gusta” no es el adecuado y sería necesario un botón de “propina”. Además, si optas por el enfoque de “retiro”, también necesitarías una parte de “depósito” para que los usuarios puedan cargar su cuenta interna y propinar a otros.

En este caso, gestionar todo directamente de billetera a billetera parece, en efecto, tener más sentido. Excepto por las comisiones y la gran cantidad de transacciones muy pequeñas. La RED LIGHTNING podría ser la solución aquí.

1 me gusta

Lo bueno es que, cuando los fondos de todos los usuarios están en la misma billetera de daemon, divididos por cuentas de usuario, la tarifa de propina sería interna y costaría casi nada. Además, con nuestra criptomoneda es incluso más rápida y barata que Bitcoin.

Bueno, si los “me gusta” de Discourse pueden activar el comando de propina con un like, sería aún más genial (propina + like) en uno solo, donde podríamos definir un monto personalizado de propina o una cantidad fija y pequeña de criptomoneda que elijamos como moneda predeterminada de Discourse (en este caso, nuestra criptomoneda RXC, que es un fork del último código de DASH con InstantSend).

Puedes registrarte en nuestra webwallet para ver cómo funciona y qué tan rápidas son las transacciones. Solo dame tu dirección RXC para que podamos enviarte algunas por tu entusiasmo al respecto.

Lo bueno es que Bitcoin, Litecoin, Dash e incluso RXC tienen casi el mismo código; lo único que cambias es el puerto RPC y el archivo daemon-cli para manipular el daemon de la billetera.

Así que crear un solo plugin puede funcionar para casi todos los códigos similares a Bitcoin.

Gracias por aclararnos las cosas, significa mucho para nosotros.

2 Me gusta

Ok, genial. No me había dado cuenta de eso.
Tiene sentido hacer todo directamente de billetera a billetera en este caso, y no gestionarlo internamente.

El problema con los «me gusta» es que, entonces, al dar un «me gusta» se daría automáticamente una propina. Podría ser un buen enfoque, pero ya no podrías dar «me gusta» sin que te cueste dinero (y sin tener una billetera financiada asociada a tu cuenta). Pero, ¿por qué no? Depende de ti decidir lo que quieres. Además, como ya dije, no estoy seguro de si quieres que los usuarios puedan dar propinas a otros usuarios, o si solo el foro debe iniciar las propinas. También depende de ti decidirlo.

Ah, de nada. Esto me permite mejorar mi propia comprensión y conocimiento del tema, así que también me beneficia :+1:

Claro, lo haré y te enviaré un mensaje privado con mi dirección. Gracias.

EDITO: Ok, ahora también me doy cuenta de que usas tu propia criptomoneda, así que dar propinas con ella no te «cuesta» nada. Son nuevas unidades que crearías, ¿verdad? (Yo tenía la idea de distribuir Bitcoins inicialmente). Y que los usuarios puedan dar propinas con ella plantea la cuestión de cómo adquieren las unidades primero (si es que reciben propinas ellos mismos, o si necesitarían «comprarlas» o se les darían). Por lo tanto, quizás realmente estabas en la primera idea de que «solo el foro da propinas a sus usuarios».

1 me gusta

Tal vez puedas explorar 3box.io o las APIs de web3 y el SDK, considerando que tu criptomoneda es un token ERC20.

Además, podrías consultar unstoppabledomains.com. Podrías agilizar los pagos con un dominio .crypto que puede recibir múltiples criptomonedas diferentes.

Espero que esto te ayude.

2 Me gusta

Bueno, a mí sí me costó, porque RXC es puramente POW como Bitcoin, así que no hay preminado ni monedas “mágicas”; alguien necesita minarlas primero. Pero es cierto que, desde la misma red y el mismo daemon de billetera, el costo sería casi nulo.

Ambas cosas; quiero brindar a mis usuarios la capacidad de almacenar, enviar, recibir y dar propinas en criptomonedas a otros usuarios de Discourse :slight_smile:

2 Me gusta

Mi cripto es un híbrido de BTC/DASH, por lo que es una moneda puramente POW con su propia cadena de bloques. Revisaré los enlaces y buscaré cualquier cosa que podamos usar para entender esto.

El caso es que ninguna otra solución se integra en Discourse; es más bien… un parche :wink:

Así que creo que si todos nos ponemos de acuerdo, podríamos construir algo que podría usarse en el futuro para Discourse.

:slight_smile: Gracias a todos, esta positividad de todos ustedes es INCREÍBLE.

2 Me gusta

Quizás quieras visitar https://btcpayserver.org para alojar tu propio daemon y usar su API para generar enlaces de pago.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.