Nous avons développé un plugin Unlock protocol pour Discourse. Il vous permet de verrouiller des sujets derrière un « paywall » crypto.
Les utilisateurs doivent acheter votre NFT avec leur portefeuille crypto (MetaMask, Wallet Connect) pour accéder aux sujets. Vous pouvez le configurer avec n’importe quel jeton ERC20 sur Ethereum, xDai, Polygon… Depuis la semaine dernière, vous pouvez également déverrouiller le contenu par paiement par carte de crédit.
Intéressant, je me demande s’il existe un véhicule financier qui pourrait être conçu sur Ethereum (ou d’autres moteurs de crypto) pour des transactions répétées. Ce serait plutôt cool d’offrir un service d’abonnement où vous choisissez de payer X chaque mois.
Pouvons-nous configurer un déverrouillage pour les commentaires ? Seulement pour le premier ou le second commentaire, pas pour le titre du sujet ni le contenu principal ?
Et pouvons-nous ajouter un paiement en dollars via Visa ou PayPal, et non en crypto-monnaie ?
Salut Sam ! Je suis Julien, le fondateur d’Unlock Protocol !
En effet, c’est possible comme l’a mentionné @kam44.
Le mécanisme principal consiste à utiliser le mécanisme d’« approbation » fourni par les contrats ERC20.
L’idée centrale est d’autoriser un contrat tiers, appelé « acheteur », dont la seule fonction est d’acheter des abonnements pour le compte des utilisateurs lorsque ceux-ci sont expirés (ou sur le point de l’être). Ainsi, un abonnement ne peut être « renouvelé » que lorsqu’il est presque expiré ou totalement expiré.
L’un des défis que nous cherchons à relever est de déterminer qui déclenchera la transaction sur ce contrat acheteur. Pour l’instant, l’approche consiste à faire en sorte que l’achat « rembourse » la personne qui déclenche la transaction, afin de couvrir les frais de gaz. Je pense que nous pouvons nous appuyer sur les « flashbots », qui effectuent déjà de l’arbitrage, pour cela !
C’est certainement l’un des sujets sur lesquels nous travaillons activement !
Incroyable, je trouve fascinants certains des contrats intelligents que les véhicules financiers proposent. Je pense que cela pourrait s’avérer extrêmement puissant pour financer la bonne communauté.
En particulier, nous avons déjà Discourse Subscriptions Plugin, alors peut-être qu’une PR permettant un mode « Déverrouiller » par rapport à « Stripe » pourrait être une voie intéressante à explorer.
J’ai créé 2 contrats de verrouillage sur le tableau de bord Unlock
A. Verrouillage pour les utilisateurs qui ont des tokens (1000 < montant < 5000)
B. Verrouillage pour les utilisateurs qui ont plus de 5000 tokens
Pour A, je voudrais les ajouter au groupe A sur Discourse
Pour B, je voudrais les ajouter au groupe B sur Discourse
Actuellement, le plugin Unlock ne prend en charge qu’un seul contrat de verrouillage sur Discourse. Y a-t-il une astuce pour atteindre l’objectif ?
J’essaie de télécharger le plugin Unlock Protocol. Je reçois les pages/erreurs suivantes. Veuillez me faire savoir comment je peux résoudre ce problème :
Comme il s’agit d’un plugin non officiel, j’ai déplacé votre message dans le sujet du plugin Unlock, car je pense que ce serait un meilleur endroit pour obtenir de l’aide de la part de personnes qui en savent plus à ce sujet.
Je crains que le support pour ce plugin soit un peu limité en raison de la période des fêtes, mais (pour information) je viens de l’installer sur mon site de test et je suis également bloqué avec un message « Oups - Erreur 500 » avec la même erreur enregistrée :
Message
HasCustomFields::NotPreloadedError (Tentative d'accès au champ personnalisé non préchargé 'unlock-lock' sur la classe 'Category'. Ceci est interdit pour éviter les requêtes N+1.)
app/models/concerns/has_custom_fields.rb:175:in `[]'
(eval):37:in `_fast_attributes'
(eval):6:in `_fast_attributes'
app/controllers/application_controller.rb:637:in `preload_current_user_data'
app/controllers/application_controller.rb:437:in `preload_json'
app/controllers/application_controller.rb:413:in `block in with_resolved_locale'
app/controllers/application_controller.rb:413:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:368:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:209:in `call'
Backtrace
app/models/concerns/has_custom_fields.rb:175:in `[]'
plugins/discourse-unlock/plugin.rb:63:in `block (2 levels) in activate!'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:375:in `include?'
(eval):37:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:456:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in `as_json'
plugins/chat/app/serializers/chat_channel_serializer.rb:51:in `chatable'
(eval):6:in `_fast_attributes'
Je pense qu’il y a un conflit avec le plugin Chat d’une manière ou d’une autre. Si je désactive Chat via la console Rails, je peux accéder à mon site normalement (y compris la page /admin/plugins/discourse-unlock).