كل المزودين

Monero

تشغّل عقدة Monero الخاصة بك، وتذهب الدفعة مباشرة إلى محفظتك. لا شركة تجلس في المنتصف، ولا حتى نحن.

ما تحتاجه

الحقلما يفعله
عنوان نقطة نهاية السك (Mint endpoint URL)مسار سك العناوين العام لعقدتك. نستدعيه للحصول على عنوان جديد لكل طلب. ليس سرياً.
سر الـ webhookسر مشترك يوقّع به مراقبك ونتحقق منه. لا يمكنه أبداً أن يلمس محفظتك. سري.

هذا الخيار لمن يريد تشغيل عقدته الخاصة. تشغّل أيضاً عقدة Monero، ومحفظة للعرض فقط، ومراقباً صغيراً دائم التشغيل على جهازك الخاص. ويرشدك هذا الدليل عبر كل ذلك. إن فضّلت ألا تشغّل شيئاً، فاربط خدمة عملات رقمية مستضافة بدلاً من ذلك.

Money flow

Money

  1. Buyer

    Taps your Coin Moebius Buy Button and pays from their own wallet.

  2. Your product page

    Your Coin Moebius Buy Button asks Coin Moebius to start a checkout.

  3. Coin Moebius Messages only

    Gets a fresh address from your server and shows it to the buyer.

  4. Blockchain

    Carries the coins from the buyer straight to you.

    • Monero
    • Zano
    • Freedom Dollar
    • Bitcoin
    • Bitcoin Cash
  5. Your wallet

    Receives the coins.

  6. Your server

    Sees the payment land in your wallet and tells Coin Moebius the sale is paid. Your keys and balance never leave your server.

    Coin Moebius dashboardSale shows as paid.
  • No buyer data

    Card numbers never reach us. Buyer names, addresses and contact details are stripped before a sale is saved.

  • Where our bill comes in

    The payment goes to you. Our bill comes separately. On Flex, that bill is based on the sales you’ve made, at 2% + 20¢ each. Pro starts at $24 a month with 500 sales included, then a few cents for each extra sale. Business is $99 a month for unlimited sales. Your provider’s fees are separate from ours.

لماذا نطلب كل حقل

عنوان نقطة نهاية السك

حين ينقر مشترٍ شراء، نطلب من عقدتك عنواناً جديداً لنعرضه له. ويذهب ذلك الطلب إلى هذا المسار العام الواحد. يعيد عنواناً ولا شيء آخر؛ وتبقى محفظتك خاصة خلفه.

سر الـ webhook

يخبرنا مراقبك "هذا الطلب مدفوع" بإرسال رسالة موقَّعة إلينا. ويتيح لنا هذا السر المشترك تأكيد أن الرسالة أتت فعلاً من مراقبك، فلا يستطيع أحد تزوير حدث مدفوع. ولا يمكنه قراءة شيء ولا تحريك شيء.

الإعداد

  1. ما الذي ستشغّله

    ثلاثة أشياء، كلها على جهازك الخاص. لا شيء هنا يُعطى لنا إلا عنوان السك العام والسر المشترك.

    • عقدة Monero (monerod) ومحفظة للعرض فقط (monero-wallet-rpc)، يبقيان خاصين.
    • نقطة نهاية سك: مسار عام صغير واحد يوزّع عنواناً جديداً لكل طلب.
    • مراقب: برنامج صغير دائم التشغيل يراقب محفظتك ويخبرنا حين تصل دفعة.
  2. أنشئ محفظة للعرض فقط

    محفظة العرض فقط تستطيع رؤية المدفوعات الواردة وسك عناوين استلام جديدة، لكنها لا تستطيع الإنفاق. تبنيها من عنوان محفظتك الحقيقية ومفتاح العرض الخاص بها، لا شيء آخر. وذلك ما يتيح لعقدتك كشف المدفوعات دون أن تملك أبداً قدرة تحريكها.

    monero-wallet-cli --generate-from-view-key ~/monero/view-only

    يطلب عنوانك الأساسي ومفتاح العرض الخاص بك. لا تُدخِل أبداً بذرتك أو مفتاح الإنفاق، أبقِهما على جهاز منفصل. يكتب view-only وview-only.keys؛ اضبط كلمة مرور واحفظها في ملف (wallet.password، بجانب المحفظة) للخطوة التالية.

  3. شغّل عقدة Monero الخاصة بك

    يزامن الـ daemon ويحتفظ بسلسلة الكتل. شغّله كخدمة (systemd أو Docker) ليعيد التشغيل من تلقاء نفسه. ويُنصِت RPC الخاص به على 127.0.0.1:18081.

    monerod --data-dir ~/.bitmonero --prune-blockchain --restricted-rpc

    تُبقي العقدة المقلَّمة الأثر على القرص صغيراً وتظل ترى كل دفعة واردة. تصل العقدة إلى الشبكة لكنها لا تكشف شيئاً عاماً.

  4. شغّل wallet RPC

    خدمة ثانية تفتح محفظة العرض فقط وتجيب نقطة نهاية السك والمراقب. وجّهها إلى عقدتك واربطها بـ localhost. شغّلها كخدمة أيضاً.

    monero-wallet-rpc \
      --wallet-file ~/monero/view-only \
      --password-file ~/monero/wallet.password \
      --rpc-bind-ip 127.0.0.1 --rpc-bind-port 18083 \
      --daemon-address 127.0.0.1:18081 --trusted-daemon \
      --disable-rpc-login

    لا تكشف أبداً wallet RPC للإنترنت العام؛ اربطه بـ localhost أو شبكة خاصة. ‏--disable-rpc-login جيد فقط لأنه على localhost حصراً؛ استخدم --rpc-login إن كان قابلاً للوصول من أي مكان آخر. ونقطة نهاية السك أدناه فقط هي العامة.

  5. ثبّت حزمة Coin Moebius Monero

    توفّر ساكّ العناوين، وموقّع الـ webhook، والمراقب، فتكتب كوداً يكاد لا يُذكَر. والمسار الأسرع هو المثال الجاهز للتشغيل أدناه: انسخ المجلد، واملأ أربع قيم، وشغّله.

    npm install @aquarian-metals/coin-moebius-monero
  6. ولّد سر الـ webhook الخاص بك

    قيمة عشوائية قوية توقّع الـ webhook وتتحقق منه. طريقتان لصنع واحدة، باختيارك: انقر توليد حين تضيف المزود في لوحة التحكم (يعمل في متصفحك، لا على خوادمنا أبداً)، أو شغّل الأمر أدناه بنفسك. وفي كلتا الحالتين، الصق القيمة نفسها في كل من مراقبك ولوحة التحكم.

    openssl rand -hex 32
  7. أقِم نقطة نهاية السك

    مسار POST عام واحد يواجه محفظتك. يستخدم createMoneroCreator من الحزمة لسك عنوان جديد لكل طلب. وهذا الشيء الوحيد الذي تكشفه للإنترنت، وهو آمن للكشف: يعيد عنوان استلام ولا يحرّك مالاً.

    // POST /coin-moebius/monero/mint
    import { createMoneroCreator } from '@aquarian-metals/coin-moebius-monero/server';
    
    const mint = createMoneroCreator({
      walletRpcUrl: 'http://127.0.0.1:18083/json_rpc',
      store: myStore,
      xmrPerUnit: async (cur) => (cur === 'XMR' ? 1 : await myPriceFeed(cur)),
    });
    // return mint({ productId, amount, currency, metadata }) as JSON

    أنت تختار من أين تأتي الأسعار. ولا يستدعي Coin Moebius أبداً مصدر تسعير.

  8. شغّل المراقب ووجّهه إلينا

    المراقب هو البرنامج دائم التشغيل الذي يفحص محفظتك كل بضع ثوانٍ ويوقّع لنا رسالة حين تتأكّد دفعة. اضبط عنوان webhook الخاص به على عنوان مشروعك (أدناه) وسرّه على القيمة التي ولّدتها. شغّله بجانب محفظتك، تحت systemd أو Docker.

    import { createMoneroIndexer } from '@aquarian-metals/coin-moebius-monero/server';
    
    const watcher = createMoneroIndexer({
      walletRpcUrl: 'http://127.0.0.1:18083/json_rpc',
      store: myStore,
      webhookUrl: process.env.MONERO_WEBHOOK_URL,   // your Coin Moebius URL, below
      hmacSecret: process.env.MONERO_HMAC_SECRET,   // the secret you generated
      requiredConfirmations: 10,
    });
    watcher.start();

    هو لاحق للفائت بالتصميم. إن كان غير متصل لفترة، يرى التشغيل التالي المدفوعات التي فاتته ويخبرنا حينها. وخادم منزلي كافٍ؛ لا تحتاج إلى وقت تشغيل مثالي.

  9. عنوان webhook الخاص بك

    اضبط webhookUrl الخاص بالمراقب على عنوان مشروعك. ومعرّف مشروعك موجود في إعدادات المشروع بلوحة التحكم.

    https://api.coinmoebius.com/webhook/monero/<your project id>
  10. اربط في لوحة التحكم

    إضافة مزود، اختر كن مزودك الخاص، ثم Monero. الصق عنوان نقطة نهاية السك وسر الـ webhook. ذلك كل ما نخزّنه، ولا يمكن لأي من القيمتين أن يلمس محفظتك.

بعد أن تربط

لا يوجد sandbox لعقدة ذاتية الاستضافة، فأول دفعة حقيقية صغيرة لك هي الاختبار:

  1. أنشئ منتجاً وضع زر الشراء على صفحة (ملف HTML محلي يعمل) موجَّهاً إلى مشروعك.
  2. ادفع مبلغاً صغيراً من Monero من محفظتك الخاصة.
  3. انتظر التأكيدات. يستغرق Monero نحو عشرين دقيقة للتأكيد الكامل، بالتصميم.
  4. افتح تبويب المعاملات. حين يبلغ الصف الجديد succeeded، تعمل نقطة نهاية السك، والمراقب، والسر، كلها من البداية إلى النهاية.

حل المشكلات

يفشل الدفع فوراً.

لم نتمكن من الوصول إلى نقطة نهاية السك الخاصة بك. أكّد أنها عنوان https عام وأن عقدتك متصلة. وتُظهر لوحة التحكم هذا كرسالة قابلية وصول حين تحفظ.

دفع المشتري لكن الطلب يبقى معلّقاً.

إما أن المراقب لا يعمل، أو أن سره لا يطابق. أكّد أن عملية المراقب قائمة وأن MONERO_HMAC_SECRET الخاص به هو القيمة الدقيقة التي لصقتها في لوحة التحكم.

استغرقت الدفعة وقتاً للظهور.

هذا طبيعي. يتأكّد Monero عبر عدة كتل؛ وينتظر المراقب عشرة تأكيدات (نحو عشرين دقيقة) قبل أن يبلّغ بالنجاح.

جيد أن تعرف

أبقِ محفظة عرض فقط على الجهاز المتصل. يحتاج المراقب فقط إلى رؤية المدفوعات الواردة. أبقِ مفتاح إنفاقك على جهاز منفصل غير متصل واكنس الأموال من هناك.

لا تكشف wallet RPC أبداً. نقطة نهاية السك فقط هي العامة. اربط wallet RPC بـ localhost أو شبكة خاصة في كل الأوقات.

وقت التعطّل رخيص. يلحق المراقب بالفائت بعد انقطاع ويبلّغ بالمدفوعات التي فاتته. ولا يُفقَد شيء.

تدوير السر. ولّد سراً جديداً في أي وقت، ثم الصقه في كل من المراقب ولوحة التحكم.

Monero circular economy

أسئلة؟ Join our Discord

جاهز لربط مزود؟

اختر المزودين الذين تستخدمهم بالفعل. يدفع المشترون عبر حساباتك، وتحتفظ بزر شراء واحد.