عن المشروع

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