- الصفحة الرئيسية
- /
- مدونة
- /
- مدفوعات العملات المستقرة
بنية بوابة الدفع للعملة المستقرة
تعمق في بنية بوابة الدفع بالعملة المستقرة - المكونات، وتدفق البيانات، ومراقبة السلسلة، وتصميم دفتر الأستاذ، والتكامل خارج المنحدر، واعتبارات الإنتاج.
تحتوي بوابة الدفع بالعملة المستقرة على خمس طبقات أساسية: (1) طبقة نية الدفع التي تنشئ وتدير عناوين الإيداع لكل دفعة، (2) طبقة مراقبة السلسلة التي تراقب blockchain للتحويلات الواردة، (3) محرك التأكيد الذي يتحقق من صحة الإيصالات ويطلق الأحداث، (4) دفتر الأستاذ الذي يسجل جميع حالات الدفع، و (5) طبقة التسوية التي تتعامل مع الإدارة الخارجية والخزينة.
يركز هذا الدليل على تصميم النظام خلف بوابة إنتاج العملات المستقرة - وليس فقط المكونات الموجودة، ولكن كيفية اتصالها، ومكان حدوث الأعطال، وما هي قرارات التصميم المهمة بالنسبة للموثوقية على نطاق واسع.
طبقة نية الدفع
يتم إنشاء نية الدفع عندما يبدأ الدافع بالدفع. يقوم بتخزين: المبلغ المتوقع، والعملة المستقرة والسلسلة، وعنوان الإيداع المخصص، ووقت انتهاء الصلاحية، والأمر النهائي أو مرجع الفاتورة.
اشتقاق عنوان الإيداع
يتم اشتقاق عناوين الإيداع من محفظة HD باستخدام BIP-44. يتم تخزين البذرة الرئيسية في مدير الأسرار (AWS Secrets Manager، Vault). يتم تعيين فهرس مسار اشتقاق فريد لكل نية دفع. تقوم البوابة بتخزين: مؤشر الاشتقاق، المبلغ المتوقع، العملة المستقرة، السلسلة، انتهاء الصلاحية، وحالة الدفع.
في سلاسل EVM، يعمل نفس العنوان المشتق عبر جميع السلاسل المتوافقة مع EVM. يمكن لمحفظة HD واحدة أن تخدم Base وEthereum وPolygon وArbitrum بمؤشرات عناوين منفصلة لكل غرض.
انتهاء صلاحية العنوان وإعادة استخدامه
لا ينبغي إعادة استخدام عناوين الإيداع عبر أهداف الدفع. بعد انتهاء الصلاحية أو الدفع الناجح، يتم إلغاء تنشيط العنوان في طبقة المراقبة. إذا وصلت دفعة متأخرة إلى عنوان منتهي الصلاحية، تقوم البوابة بتسجيله على أنه لا مثيل له للمراجعة اليدوية.
طبقة مراقبة السلسلة
تراقب طبقة مراقبة السلسلة blockchain لنقل الأحداث ERC-20 (أو ما يعادلها) إلى أي عنوان إيداع نشط. يجب أن يتعامل التصميم مع: حجم الأحداث الكبير (في السلاسل المزدحمة)، والكشف في الوقت الفعلي، وإعادة تنظيم السلسلة، والمراقبة عبر سلاسل متعددة في وقت واحد.
EVM مراقبة السلسلة
Subscribe to ERC-20 Transfer events from the stablecoin contract address using WebSocket RPC (Alchemy, QuickNode). Filter by the to address matching any active deposit address. Use a bloom filter or database index on active addresses for O(1) lookup.
Fallback: poll for recent Transfer events every N seconds using eth_getLogs. WebSocket subscriptions are preferred but can drop connections — the polling fallback ensures no missed events.
مراقبة ترون TRC-20
يوفر TronGrid API سجل المعاملات للعنوان. استطلاع تاريخ نقل TRC-20 لكل عنوان إيداع نشط باستخدام TronGrid REST API. تعد اشتراكات WebSocket أقل موثوقية على Tron — فالاستقصاء هو النهج القياسي.
Solana SPL مراقبة الرمز المميز
Solana uses Associated Token Accounts (ATAs) — each wallet address has a corresponding ATA for each SPL token. Monitor the USDC ATA corresponding to each deposit address using WebSocket account subscriptions or polling getSignaturesForAddress.
محرك التأكيد
يقوم محرك التأكيد بالتحقق من صحة التحويلات المكتشفة ويصدر أحداث الدفع. المسؤوليات الرئيسية:
فحص عمق الكتلة: ينتظر حتى تصل المعاملة إلى عمق التأكيد المطلوب قبل إرسال حدث مؤكد.
التحقق من صحة المبلغ: يقارن المبلغ المستلم بالمتوقع. يتعامل مع المدفوعات المنخفضة (وضع علامة للمراجعة اليدوية أو الرفض بناءً على تحمل المنتج) والمدفوعات الزائدة (المبلغ الائتماني الكامل، وضع علامة على الزيادة).
التعامل مع إعادة تنظيم السلسلة: إذا تمت إزالة معاملة تم اكتشافها مسبقًا في عملية إعادة تنظيم السلسلة، فقم بإرجاع حدث Payment_detected وأعد إدخال الحالة المعلقة. استخدم عمق تأكيد قصير مناسب لمخاطر إعادة تنظيم السلسلة.
العجز: يتم تخزين كل تجزئة معاملة مؤكدة. إعادة تشغيل نفس حدث التأكيد أمر محظور.
تصميم دفتر الأستاذ
دفتر حسابات الدفع هو السجل الرسمي لجميع أنشطة الدفع بالعملات المستقرة. يجب أن يكون إلحاقيًا فقط (لا توجد تحديثات، يتم إدراجه فقط) وأن يكون مصدره الحدث - كل انتقال حالة (تم إنشاؤه، أو اكتشافه، أو تأكيده، أو انتهاء صلاحيته، أو اجتياحه) هو إدخال في دفتر الأستاذ.
| حدث | الزناد | العمل المصب |
|---|---|---|
| الدفع.تم إنشاؤه | تم إنشاء نية الدفع | إعادة عنوان الإيداع إلى الدافع |
| تم اكتشاف الدفع | تمت رؤية النقل على السلسلة، وهو معلق | إخطار الدافع؛ إظهار الحالة المعلقة |
| الدفع. مؤكد | تم الوصول إلى التأكيدات المطلوبة | تفعيل الطلب/الاشتراك؛ تشغيل خطاف الويب |
| انتهت صلاحية الدفع | لقد مر وقت انتهاء الصلاحية، ولم يتم الدفع | تحرير عنوان الإيداع؛ إخطار الدافع |
| الدفع.غير مدفوع الأجر | المبلغ أقل من المتوقع | وضع علامة للمراجعة؛ التعامل مع منتج معين |
| الدفع. اجتاحت | اجتاحت الأموال إلى محفظة الخزينة | تحديث سجل الاجتياح. تقليل رصيد العنوان |
الاجتياح وإدارة الخزانة
يجب أن تكون محفظة الخزانة متعددة التوقيعات (على سبيل المثال، Safe/Gnosis Safe) لعمليات نشر الإنتاج - تتطلب عمليات الخزانة الهامة عدة موقعين.
تمويل الغاز: يحتاج كل عنوان إيداع إلى رمز مميز أصلي (ETH، TRX، وما إلى ذلك) لتغطية رسوم معاملات الاجتياح. تحتفظ البوابة بخدمة تمويل الغاز التي تقوم بتعبئة عناوين الودائع قبل المسح.
الزناد الاجتياح: يتم تشغيله بواسطة حد الرصيد أو الجدول الزمني أو يدويًا. عمليات المسح المجمعة تقلل من إجمالي تكلفة الغاز.
تأكيد الاجتياح: تتم مراقبة معاملة الاجتياح للتأكيد. عند النجاح، يتم تسجيل حدث مسح دفتر الأستاذ.
هندسة التكامل خارج المنحدر
يقوم الطريق المنحدر بتحويل العملة المستقرة الموجودة في محفظة الخزانة إلى عملات ورقية. نمط التكامل:
حساب مزود خارج الطريق المنحدر: يوفر الموفر خارج المنحدر (Bridge، Coinbase Prime، وما إلى ذلك) عنوان وجهة العملة المستقرة. يؤدي إرسال USDC إلى هذا العنوان إلى تشغيل تسوية ورقية للحساب البنكي الذي تم تكوينه.
تعليمات النقل: تقوم البوابة بإنشاء وتوقيع التحويل من محفظة الخزانة إلى العنوان خارج الطريق. يتطلب هذا الوصول إلى مفتاح توقيع محفظة الخزينة — ويتطلب عادةً موافقة التوقيعات المتعددة.
تأكيد التسوية: يرسل موفرو الخدمات خارج المنحدر خطافات الويب أو يقدمون APIs لتأكيد التسوية الورقية. تسجل البوابة حدث التسوية الورقية مقابل النقل خارج الطريق.
اعتبارات الإنتاج
قرارات التصميم التي تهم موثوقية الإنتاج:
- تشغيل اتصالات العقدة RPC المتكررة (Alchemy Primary + QuickNode الاحتياطي) - يجب ألا يتسبب فشل RPC الفردي في تفويت الدفعات
- قائمة انتظار الأحداث (Kafka أو SQS أو Redis Streams) بين مراقبة السلسلة ومحرك التأكيد — تفصل عملية العرض عن المعالجة وتتيح إعادة التشغيل
- معاملات قاعدة البيانات حول عمليات كتابة دفتر الأستاذ - يجب أن يتم الالتزام بحدث التأكيد والإجراء المتلقين للمعلومات أو التراجع عن كليهما
- قائمة انتظار الرسائل الميتة لعمليات تسليم الخطاف الفاشلة على الويب - أعد المحاولة مع التراجع المتسارع، وتنبيه عند حدوث حالات فشل متكررة
- المراقبة والتنبيه بشأن: تأخر مراقبة السلسلة، والمدفوعات غير المتطابقة، وحالات فشل الاجتياح، وتأخير التسوية خارج المنحدر
- فصل إدارة مفاتيح التوقيع عن منطق تطبيق البوابة - يجب أن تتطلب عمليات الخزانة موافقة متعددة التوقيعات
الأسئلة الشائعة
هل يجب أن تكون البوابة خدمة مستقلة أم مضمنة في التطبيق الرئيسي؟
كيف أتعامل مع المستخدمين الذين يرسلون مبلغًا خاطئًا أو عملة مستقرة خاطئة؟
ماذا يحدث إذا انخفضت العقدة RPC؟
كيف يمكن لهذه البنية أن تصل إلى حجم كبير؟
هل تحتاج إلى بوابة عملات مستقرة على مستوى الإنتاج؟
Gizmolab يقوم بتصميم وإنشاء بنية تحتية مخصصة لبوابة دفع العملات المستقرة لمنتجات وأسواق التكنولوجيا المالية.