عن المشروع

مشروع FlashLoanArbitrage هو مشروع Node.js يعمل عبر واجهة السطر البرمجي، منشور تحت اسم المستودع flashloan-profit-calculator، ويصفه ملف README بأنه بوت للتحكيم في التمويل اللامركزي (DeFi) باستخدام القروض السريعة. يتكون المشروع من جزأين: عقد ذكي على الشبكة (on-chain) وسكربت محلي باسم goflash.js يقوم المستخدم بتشغيله باستخدام node على جهازه الخاص. سير العمل المقصود، كما هو موضح في README: - يقوم العقد بأخذ قرض سريع مقوم بعملة USDC. - يتم تحويل ETH الخاص بالمستخدم إلى USDC قبل التداول. - يتم شراء ETH من أرخص المنصات المتاحة وبيعه في المنصة الأكثر غلاءً. - يتم سداد القرض والرسوم وتكاليف الغاز (gas)، ويتم تحويل USDC المتبقي مرة أخرى إلى ETH كربح. مراقبة الأسعار والعتبات: يُذكر أن السكربت يقوم بمسح أسعار ETH/USDC كل 60 ثانية، باستخدام Chainlink كأوراكل أساسي إلى جانب Uniswap V2 وSushiSwap وCurve Finance وBalancer، ولا يعمل إلا عندما يكون فرق السعر 0.9% أو أكثر. تم إدراج أربعة مزودين للقروض السريعة مع توضيح الرسوم والأحجام في README: Aave (0.05%)، dYdX (0.05%)، Uniswap V3 (0.01%) وBalancer (0.02%). الإعداد والواجهة: يتم تحميل 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 بالحفاظ على تمويل المحفظة لتغطية تكاليف الغاز، ويشير إلى أن رسوم التداول (0.1%) والانزلاق السعري (0.05%) والغاز تُخصم من النتائج. نقاط يجب على القارئ مراعاتها قبل التجربة: - يذكر قسم استكشاف الأخطاء وإصلاحها في README أن فروق الأسعار بنسبة 0.9% نادرة في الأسواق الحقيقية، وأن السكربت يعرض أحياناً فرصة محاكاة لأغراض العرض. لذا، فإن المخرجات المعروضة ليست دليلاً على ربح قابل للتنفيذ، ويجب التعامل مع ادعاءات الربحية في README كادعاءات غير مؤكدة. - يدرج قسم هيكل المشروع فقط goflash.js وpackage.json وwallet.json وREADME.md. لا يتم وصف مصدر العقد الذكي بأنه مدرج، لذا لا يمكن مراجعة الجانب الموجود على الشبكة من خلال هذا التخطيط. - يتم تخزين المفاتيح الخاصة غير مشفرة على القرص في ملف wallet.json. يوصي README باستخدام .gitignore والنسخ الاحتياطي غير المتصل بالإنترنت ومحفظة مخصصة، وهو أمر منطقي، لكن التصميم يعني أن المفتاح قابل للقراءة من قبل أي شيء لديه وصول إلى المجلد. - لا توجد شروط ترخيص سوى جملة تنص على أن المشروع تمت مشاركته كما هو لأغراض تعليمية، ولا يوجد وصف لمجموعة اختبارات أو ملف تكوين. إن سير العمل التفاعلي المعتمد على الطرفية ومجموعة التبعيات ملموسة وسهلة الفحص؛ أما استراتيجية التداول وأرقام الرسوم وتوقعات الربح فتأتي من README وليست قابلة للتحقق بشكل مستقل من وصف المستودع وحده. يجب على أي شخص يقوم بالتجربة استخدام محفظة مؤقتة تحتوي فقط على أموال الغاز، وإبقاء ملف wallet.json خارج أنظمة التحكم في الإصدار، والبدء بمبالغ يكون مستعداً لخسارتها.