Sblocco Discourse

Ciao a tutti,

Abbiamo sviluppato un plugin per Discourse basato sul protocollo Unlock. Consente di bloccare i topic dietro un “paywall” in criptovaluta.

Gli utenti devono acquistare il tuo NFT tramite il loro portafoglio crittografico (MetaMask, Wallet Connect) per accedere ai topic. Puoi configurarlo con qualsiasi token ERC20 su Ethereum, xDai, Polygon… Da la settimana scorsa, è possibile sbloccare anche tramite pagamento con carta di credito.

ezgif-3-eda9d8c4547d

Puoi provarlo sul forum della community di Unlock Protocol: https://unlock.community; ad esempio, questo topic è bloccato: https://unlock.community/t/introducing-the-dao/68 (su xDai).

Puoi utilizzare lo stesso blocco anche per concedere ai tuoi utenti l’accesso ai canali privati di Discord tramite https://swordybot.com/.

Repository del plugin: GitHub - discourse/discourse-unlock · GitHub
Documentazione: https://unlock.community/t/unlock-discourse-plugin/64

Non esitate a contattarci se avete domande.

32 Mi Piace

Interessante, mi chiedo se esista uno strumento finanziario che possa essere progettato su Ethereum (o altri motori crittografici) per transazioni ripetute. Sarebbe piuttosto figo offrire un servizio in abbonamento in cui si sceglie di pagare X ogni mese.

9 Mi Piace

Possiamo impostare uno sblocco per i commenti? Solo il primo commento o il secondo, non il titolo dell’argomento e il contenuto principale?
Inoltre, possiamo aggiungere il pagamento in dollari tramite Visa o PayPal, non tramite criptovalute?

1 Mi Piace

Ciao @sam,

È possibile con Unlock Protocol: Recurring Memberships

Ma al momento non è implementato nel plugin. Lo aggiungeremo nella prossima versione.

7 Mi Piace

Non sono sicuro di aver capito questa parte.

Sì, è anche possibile pagare con carta di credito: Credit Card Support

2 Mi Piace

Significa sbloccare il commento, ma l’argomento rimane ancora visualizzato

2 Mi Piace

Ciao Sam! Sono Julien, il fondatore di Unlock Protocol!

Infatti, come ha detto @kam44, è possibile.

Il meccanismo principale consiste nell’utilizzare la funzionalità di “approvazione” fornita dai contratti ERC20.
L’idea di base è autorizzare un contratto di terze parti, chiamato “acquirente”, il cui unico compito è acquistare abbonamenti per conto degli utenti quando questi scadono (o stanno per scadere). Quindi, fondamentalmente, un abbonamento può essere “rinnovato” solo quando è quasi scaduto o è già scaduto.

Una delle sfide che stiamo cercando di risolvere è capire chi attiverà la transazione su quel contratto acquirente. Al momento, l’approccio è far sì che l’acquisto “restituisca” i fondi a chi ha attivato la transazione, coprendo così le commissioni del gas. Penso che possiamo sfruttare i “flashbots”, che si occupano di arbitraggio, per farlo!

È sicuramente una delle cose su cui stiamo lavorando!

3 Mi Piace

Fantastico, trovo alcuni dei veicoli finanziari offerti dagli smart contract davvero affascinanti. Penso che questo possa essere estremamente potente come metodo per finanziare la comunità giusta.

In particolare, abbiamo già Discourse Subscriptions Plugin, quindi forse una PR per consentire una modalità “Sblocco” rispetto a “Stripe” potrebbe essere una strada interessante da percorrere.

8 Mi Piace

@kam44
Ci sono novità riguardo “sblocca commenti”?

3 Mi Piace

Qualsiasi aggiornamento
Questo plugin sembra interessante

Ottimo lavoro, amico!

1 Mi Piace

Ho creato 2 contratti di blocco sulla dashboard di Unlock
A. blocco per gli utenti che hanno token (1000 < importo < 5000)
B. blocco per gli utenti che hanno più di 5000 token

Per A, vorrei aggiungerli al gruppo A su discourse
Per B, vorrei aggiungerli al gruppo B su discourse

Attualmente il plugin Unlock supporta solo un contratto di blocco su discourse. C’è qualche trucco per raggiungere l’obiettivo?

2 Mi Piace

Hai mai trovato una soluzione per utilizzare più di un contratto?

Sto cercando di scaricare il plugin Unlock Protocol. Ricevo le seguenti pagine/errori. Per favore, fammi sapere come posso risolvere questo problema:


1 Mi Piace

Ciao e benvenuto @thesidsridhar :slightly_smiling_face:

Dato che si tratta di un plugin non ufficiale, ho spostato il tuo post nell’argomento del plugin Unlock, poiché penso che sarebbe un posto migliore per ottenere supporto da persone che ne sanno di più. :+1:

1 Mi Piace

Infatti, il plugin è ora gestito dal team di Discourse, come puoi vedere qui: https://github.com/discourse/discourse-unlock

cc @zogstrip

5 Mi Piace

Oh, mi scuso. :pray: Mi era sfuggito quel cambio. Grazie per avermelo fatto notare. :+1:

4 Mi Piace

Ho no, no worries, we didn’t mention it anywhere.

2 Mi Piace

Ciao @zogstrip Volevo ricontrollare quanto sopra. Come risolvo HasCustomFields:NotPreloadedError?

3 Mi Piace

Temo che il supporto per questo plugin sia un po’ scarso a causa delle festività, ma (comunque) l’ho appena installato sul mio sito di test e anch’io vengo bloccato con un ‘Oops - Error 500’ con lo stesso errore registrato:

Message

HasCustomFields::NotPreloadedError (Tentativo di accedere al campo personalizzato non precaricato 'unlock-lock' sulla classe 'Category'. Questo è vietato per prevenire query 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'

Penso che ci sia un conflitto con il plugin Chat in qualche modo. Se disabilito Chat tramite la console rails posso accedere al mio sito normalmente (inclusa la pagina /admin/plugins/discourse-unlock).

6 Mi Piace

Fantastico! Come disattiverei la chat tramite la console di Rails?

2 Mi Piace