فتح النقاش

مرحبًا بالجميع،

لقد قمنا بتطوير إضافة لـ بروتوكول Unlock لمنصة Discourse. تتيح هذه الإضافة لك قفل المواضيع خلف جدار دفع يعتمد على “العملات المشفرة”.

يتعين على المستخدمين شراء NFT الخاص بك عبر محفظتهم المشفرة (مثل MetaMask أو WalletConnect) للوصول إلى المواضيع. يمكنك تكوين الإضافة باستخدام أي عملة ERC20 على شبكات Ethereum أو xDai أو Polygon… ومنذ الأسبوع الماضي، أصبح بإمكانك أيضًا فتح المحتوى عبر الدفع ببطاقة الائتمان.

ezgif-3-eda9d8c4547d

يمكنك تجربتها على منتدى مجتمع بروتوكول Unlock: https://unlock.community. على سبيل المثال، هذا الموضوع مقفل: https://unlock.community/t/introducing-the-dao/68 (على شبكة xDai).

يمكنك استخدام نفس القفل أيضًا لمنح المستخدمين وصولًا إلى قنوات Discord الخاصة عبر https://swordybot.com/.

مستودع الإضافة: GitHub - discourse/discourse-unlock · GitHub
التوثيق: https://unlock.community/t/unlock-discourse-plugin/64

لا تتردد في طرح أي أسئلة لديك.

32 إعجابًا

مثير للاهتمام، أتساءل عما إذا كان هناك أداة مالية يمكن تصميمها على إيثريوم (أو محركات التشفير الأخرى) للتعامل مع المعاملات المتكررة. سيكون الأمر رائعًا إلى حد ما تقديم خدمة اشتراك حيث تختار دفع مبلغ X كل شهر.

9 إعجابات

هل يمكننا إعداد فتح القفل للتعليق؟ هل هو فقط التعليق الأول أو التعليق الثاني وليس عنوان الموضوع ومحتواه الرئيسي؟
وهل يمكننا إضافة الدفع بالدولار عبر Visa أو PayPal وليس العملات المشفرة؟

إعجاب واحد (1)

مرحبًا @sam،

هذا ممكن باستخدام بروتوكول Unlock: Recurring Memberships

لكن في الوقت الحالي، لم يتم تنفيذه في الإضافة. سنضيفه في الإصدار القادم.

7 إعجابات

لست متأكدًا من فهم هذا الجزء.

نعم، من الممكن أيضًا الدفع ببطاقة الائتمان: Credit Card Support

إعجابَين (2)

فتح التعليق، لكن الموضوع لا يزال مُظهِرًا

إعجابَين (2)

مرحبًا سام! أنا جوليان، مؤسس Unlock Protocol!

في الواقع، هذا ممكن كما ذكر @kam44.

الآلية الأساسية هي استخدام آلية “الموافقة” التي توفرها عقود ERC20.
الفكرة الأساسية هي الموافقة على عقد طرف ثالث يُسمى “المشتري”، ومهمته الوحيدة هي شراء العضويات نيابةً عن المستخدمين عندما تنتهي صلاحيتها (أو تكون على وشك الانتهاء). لذا، بشكل أساسي، لا يمكن “تجديد” العضوية إلا عندما تكون على وشك الانتهاء أو منتهية الصلاحية تمامًا.

واحد من التحديات التي نسعى لحلها هو تحديد من سيُفعّل المعاملة في عقد المشتري. حاليًا، النهج المتبع هو جعل عملية الشراء “تُعوّض” الشخص الذي يُفعّل المعاملة، بحيث تغطي رسوم الغاز. أعتقد أننا يمكننا الاستفادة من “Flashbots” الذين يقومون بالمراجحة لتحقيق ذلك!

إنه بالتأكيد أحد الأمور التي نعمل عليها حاليًا!

3 إعجابات

رائع، أجد أن بعض الأدوات المالية التي تقدمها العقود الذكية مثيرة للاهتمام. أعتقد أن هذا يمكن أن يكون أداة قوية جدًا لتمويل المجتمع المناسب.

على وجه التحديد، لدينا بالفعل https://meta.discourse.org/t/discourse-subscriptions/140818، لذا ربما يكون تقديم طلب سحب (PR) للسماح بوضع “فتح القفل” بدلاً من “Stripe” مسارًا مثيرًا للاهتمام.

8 إعجابات

@kam44
هل هناك أي أخبار بخصوص “فتح التعليقات”؟

3 إعجابات

أي تحديث؟
يبدو أن هذه الإضافة مثيرة للاهتمام.
عمل رائع يا رجل!

إعجاب واحد (1)

لقد أنشأت عقدين للقفل على لوحة تحكم Unlock
أ. قفل للمستخدمين الذين لديهم رموز (1000 < المبلغ < 5000)
ب. قفل للمستخدمين الذين لديهم أكثر من 5000 رمز

بالنسبة لـ أ، أود إضافتهم إلى المجموعة أ على discourse
بالنسبة لـ ب، أود إضافتهم إلى المجموعة ب على discourse

حالياً، لا يدعم المكون الإضافي لـ Unlock سوى عقد قفل واحد على discourse. هل هناك أي حيلة لتحقيق الهدف؟

إعجابَين (2)

هل توصلت إلى حل لاستخدام أكثر من عقد واحد؟

أحاول تنزيل المكون الإضافي لبروتوكول إلغاء القفل. أحصل على الصفحات/الأخطاء التالية. يرجى إخباري كيف يمكنني حل هذا:


إعجاب واحد (1)

مرحباً وأهلاً بك @thesidsridhar :slightly_smiling_face:

بما أنه مكون إضافي غير رسمي، فقد نقلت مشاركتك إلى موضوع المكون الإضافي Unlock حيث أعتقد أنه سيكون مكانًا أفضل للحصول على الدعم من الأشخاص الذين يعرفون المزيد عنه. :+1:

إعجاب واحد (1)

في الواقع، تتم إدارة المكون الإضافي الآن بواسطة فريق Discourse، كما يمكنك رؤيته هنا: https://github.com/discourse/discourse-unlock

م.م @zogstrip

5 إعجابات

أوه، أعتذر. :pray: لقد فاتني هذا التبديل. شكراً على التنبيه. :+1:

4 إعجابات

لا تقلق، لم نذكر ذلك في أي مكان.

إعجابَين (2)

مرحباً @zogstrip أردت المتابعة مرة أخرى بشأن ما سبق. كيف يمكنني حل خطأ HasCustomFields:NotPreloadedError؟

3 إعجابات

أخشى أن الدعم لهذا المكون الإضافي قليل جدًا بسبب موسم العطلات، ولكن (على أي حال) لقد قمت للتو بتثبيته على موقع الاختبار الخاص بي وأواجه أيضًا مشكلة في الوصول مع ظهور رسالة “عذرًا - خطأ 500” مع نفس الخطأ المسجل:

رسالة

HasCustomFields::NotPreloadedError (تمت محاولة الوصول إلى حقل مخصص غير محمل مسبقًا 'unlock-lock' على الفئة 'Category'. هذا محظور لمنع استعلامات 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'

تتبع الأخطاء

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'

أعتقد أن هناك تعارضًا مع المكون الإضافي للدردشة بطريقة ما. إذا قمت بتعطيل الدردشة عبر وحدة تحكم rails، فيمكنني الوصول إلى موقعي كالمعتاد (بما في ذلك الصفحة /admin/plugins/discourse-unlock).

6 إعجابات

رائع! كيف يمكنني تعطيل الدردشة عبر وحدة تحكم Rails؟

إعجابَين (2)