عن المشروع

مشروع FlashLoanArbitrage هو مشروع Node.js صغير للتداول في التمويل اللامركزي (DeFi) على شبكة Ethereum باستخدام القروض السريعة. يصف سرد المستودع المشروع بأنه مدير محفظة DeFi، ولكن ملف README يوثقه كبوت تحكيم للقروض السريعة يتكون من سكربت محلي (goflash.js) وعقد ذكي مصاحب. آلية العمل يقوم السكربت بمقارنة أسعار ETH/USDC عبر خمسة مصادر: أوراكل Chainlink المستخدم كسعر أساس، وUniswap V2، وSushiSwap، وCurve Finance، وBalancer. ينتظر البوت وجود فرق في السعر بنسبة 0.9% على الأقل بين المنصات قبل اتخاذ أي إجراء؛ وإذا كان الفرق أقل من هذه العتبة، يستمر في المراقبة لتجنب الصفقات الخاسرة. عندما يكون الفارق كبيراً بما يكفي، يكون التدفق الموصوف في README هو: تحويل ETH الخاص بالمستخدم إلى USDC مسبقاً، ثم يقوم العقد بأخذ قرض سريع بـ USDC، وشراء ETH من المنصة الأرخص، وبيعه في المنصة الأغلى، ثم سداد القرض بالإضافة إلى رسوم القرض السريع والغاز، وأخيراً تحويل الربح المتبقي من USDC إلى ETH. ويذكر README أن رصيد المحفظة يُستخدم فقط للغاز وأن ETH لا يتم تحويله إلى العقد. مزودو القروض السريعة والحدود تم إدراج أربعة بروتوكولات كمصادر للقروض السريعة، مع توضيح الرسوم المعلنة والحد الأقصى لحجم القرض بـ USDC: Aave (0.05%، حتى 10,000,000)، وdYdX (0.05%، حتى 500,000)، وUniswap V3 (0.01%، حتى 5,000,000)، وBalancer (0.02%، حتى 1,000,000). ويشير README إلى أن القروض الأكبر تعني رسوماً أكبر، ويوصي بـ dYdX أو Uniswap V3 للحصول على رسوم أقل. الإعداد والاستخدام التعليمات مخصصة للجهاز المحلي: الحصول على goflash.js وpackage.json، ووضعهما في أي مجلد، وتشغيل npm install، ثم node goflash.js. عند التشغيل الأول، يعرض السكربت إنشاء محفظة جديدة (يتم عرض العنوان والمفتاح الخاص وحفظ المفتاح في wallet.json في نفس المجلد) أو استيراد محفظة موجودة عبر مفتاح خاص يبدأ بـ 0x. بعد ذلك، تظهر قائمة تفاعلية في الطرفية (terminal) تعرض رصيد المحفظة وعنوانها، مع خيارات لاختيار بروتوكول DeFi، وتحديد مبلغ القرض بـ ETH، وإعادة إنشاء المحفظة، واستيراد محفظة أخرى، وبدء التحكيم، والخروج. يتم توثيق وضع التحكيم على أنه يقوم بمسح الأسعار في جميع المنصات كل 60 ثانية تقريباً وطباعة جدول أسعار مباشر مع مؤشرات (صعود/هبوط/ثبات) بالإضافة إلى أقصى فارق تم رصده. تحذيرات وملاحظات حول السلوك يحذر README مراراً وتكراراً من أهمية الحفاظ على سرية المفتاح الخاص: عدم مشاركة wallet.json أو المفتاح أبداً، وإضافته إلى .gitignore، والاحتفاظ بنسخ احتياطية خارج الإنترنت واستخدام محفظة مخصصة. كما يحذر من أن رصيد المحفظة الذي يقل عن 0.1 ETH ليس كافياً لخدمة القروض التي تزيد عن 10 ETH بسبب رسوم الغاز، ويسرد التكاليف المأخوذة في الاعتبار (رسوم التداول 0.1%، الانزلاق السعري 0.05%، الغاز، ورسوم القرض السريع). يغطي قسم استكشاف الأخطاء وإصلاحها أخطاء تنسيق الوحدات، وتنسيق المفتاح الخاص غير الصحيح، ونقص الأموال، وعدم توفر RPC، وافتقاد أزواج V2. ويذكر بوضوح أن فجوات الأسعار بنسبة 0.9% نادرة في الأسواق الحقيقية، وأن فرصة محاكاة تظهر أحياناً لأغراض العرض، وأن المشروع تمت مشاركته كما هو لأغراض تعليمية ويُستخدم على مسؤولية المالك الخاصة. التفاصيل التقنية المشروع عبارة عن تطبيق JavaScript/Node.js مع ثلاث تبعيات: ethers (^6.11.1) للتفاعل مع Ethereum، وinquirer (^8.2.6) لواجهة CLI التفاعلية، وchalk (^4.1.2) لمخرجات الطرفية الملونة. تخطيط الملفات الموثق هو فقط goflash.js وpackage.json وwallet.json المولد تلقائياً وREADME. لا توجد شروط ترخيص بخلاف بيان الاستخدام التعليمي والاستخدام على المسؤولية الشخصية، ولم يتم وصف أي اختبارات أو سكربتات نشر أو نتائج أداء عامة.