wir haben ein Unlock-Protokoll-Plugin für Discourse entwickelt. Damit können Sie Themen hinter einer „Krypto"-Paywall sperren.
Benutzer müssen Ihre NFTs über ihre Krypto-Wallet (MetaMask, Wallet Connect) kaufen, um auf die Themen zugreifen zu können. Sie können es mit jedem ERC20-Token auf Ethereum, xDai, Polygon usw. konfigurieren. Seit letzter Woche ist auch die Entsperrung per Kreditkartenzahlung möglich.
Interessant, ich frage mich, ob es ein Finanzinstrument gibt, das in Ethereum (oder anderen Krypto-Engines) für wiederkehrende Transaktionen entwickelt werden könnte. Es wäre ziemlich cool, einen Abonnementdienst anzubieten, bei dem man sich entscheidet, jeden Monat X zu zahlen.
Können wir eine Freischaltung für Kommentare einrichten? Nur der erste oder zweite Kommentar, nicht der Thementitel und der Hauptinhalt?
Und können wir eine Zahlung in Dollar per Visa oder PayPal statt per Kryptowährung hinzufügen?
Hallo Sam! Ich bin Julien, der Gründer von Unlock Protocol!
Tatsächlich ist es, wie @kam44 bereits sagte, möglich.
Der Kernmechanismus besteht darin, den „Approval“-Mechanismus zu nutzen, den ERC20-Verträge bereitstellen. Die Grundidee ist, einen Drittanbieter-Vertrag, den sogenannten „Käufer“, zu autorisieren. Seine einzige Aufgabe besteht darin, Mitgliedschaften im Namen der Nutzer zu erwerben, wenn diese abgelaufen sind (oder kurz vor dem Ablauf stehen). Das bedeutet im Wesentlichen, dass eine Mitgliedschaft nur dann „erneuert“ werden kann, wenn sie kurz vor dem Ablauf steht oder bereits vollständig abgelaufen ist.
Eine der Herausforderungen, die wir lösen möchten, ist herauszufinden, wer die Transaktion auf diesem Käufer-Vertrag auslöst. Derzeit besteht der Ansatz darin, den Kauf so zu gestalten, dass die Person, die die Transaktion auslöst, dafür „zurückerstattet“ wird, um die Gasgebühren zu decken. Ich denke, wir können die „Flashbots“ nutzen, die bereits Arbitrage betreiben, um dies zu realisieren!
Es ist definitiv eines der Themen, an denen wir arbeiten!
Fantastisch! Ich finde einige der Finanzinstrumente, die Smart Contracts anbieten, faszinierend. Ich glaube, das könnte eine äußerst wirkungsvolle Methode sein, um die richtige Gemeinschaft zu finanzieren.
Insbesondere haben wir bereits Discourse Subscriptions Plugin, sodass ein PR, der einen „Unlock“-Modus im Vergleich zu „Stripe“ ermöglicht, ein interessanter Ansatz sein könnte.
Ich habe 2 Sperrverträge im Unlock-Dashboard erstellt
A. Sperre für Benutzer, die Tokens haben (1000 < Menge < 5000)
B. Sperre für Benutzer, die mehr als 5000 Tokens haben
Für A möchte ich sie zu Gruppe A auf Discourse hinzufügen
Für B möchte ich sie zu Gruppe B auf Discourse hinzufügen
Derzeit unterstützt das Unlock-Plugin nur einen Sperrvertrag auf Discourse. Gibt es einen Trick, um das Ziel zu erreichen?
Ich versuche, das Unlock Protocol Plugin herunterzuladen. Ich erhalte die folgenden Seiten/Fehler. Bitte lassen Sie mich wissen, wie ich dies beheben kann:
Da es sich um ein inoffizielles Plugin handelt, habe ich deinen Beitrag zum Thema „Unlock Plugin“ verschoben, da ich denke, dass dies ein besserer Ort ist, um Unterstützung von Leuten zu erhalten, die mehr darüber wissen.
Hallo @zogstrip, ich wollte mich noch einmal wegen des oben genannten Themas erkundigen. Wie kann ich den Fehler HasCustomFields:NotPreloadedError beheben?
Ich fürchte, die Unterstützung für dieses Plugin ist aufgrund der Feiertage etwas dünn, aber (nur zur Information) ich habe es gerade auf meiner Testseite installiert und werde ebenfalls mit einem ‘Ups - Fehler 500’ ausgesperrt, mit demselben Fehlerprotokoll:
Message
HasCustomFields::NotPreloadedError (Versuch, auf das nicht vorab geladene benutzerdefinierte Feld 'unlock-lock' der Klasse 'Category' zuzugreifen. Dies ist verboten, um N+1-Abfragen zu verhindern.)
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'
Ich glaube, es gibt einen Konflikt mit dem Chat-Plugin. Wenn ich Chat über die Rails-Konsole deaktiviere, kann ich normal auf meine Seite zugreifen (einschließlich der Seite /admin/plugins/discourse-unlock).