عن المشروع

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