عن المشروع
يقدم ملف README مشروعاً يسمى FlashLoanArbitrage. على الرغم من أن المستودع يسمى market-data-collector وموصوف بأنه يجمع أو يعالج بيانات السوق للتحليل، إلا أن ملف README يركز على بوت مراجحة DeFi يستخدم القروض السريعة (flash loans). وفقاً للملف، يجمع المشروع بين عقد ذكي وسكريبت Node.js محلي يسمى goflash.js، حيث يعمل السكريبت على جهاز المستخدم لمسح الأسعار وتفعيل المراجحة من خلال العقد.
سير العمل الموصوف: يقوم العقد بأخذ قرض سريع بعملة USDC، ويحول ETH الخاصة بالمستخدم إلى USDC قبل التداول، ثم يشتري ETH بسعر أقل على منصة واحدة ويبيعها بسعر أعلى على منصة أخرى، ويسدد القرض بالإضافة إلى الرسوم والغاز، ثم يحول الربح المتبقي من USDC إلى ETH.
يتحقق السكريبت من أسعار ETH/USDC على خمس منصات: Chainlink كسعر أساسي (oracle)، وUniswap V2، وSushiSwap، وCurve Finance، وBalancer. وينتظر فارقاً في السعر بنسبة 0.9% أو أكثر قبل تفعيل العقد، حيث يقوم بالمسح كل 60 ثانية ويعرض الأسعار في الوقت الفعلي مع مؤشرات الصعود والهبوط أو الثبات وأقصى فارق سعري.
جهات القروض السريعة: يدرج ملف 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 لتحميل goflash.js وpackage.json، وتشغيل npm install، ثم تشغيل node goflash.js. عند التشغيل الأول، يطلب إنشاء محفظة جديدة أو استيراد محفظة موجودة باستخدام مفتاح خاص، ويتم حفظ المفتاح الخاص في ملف wallet.json في نفس المجلد. تتضمن القائمة اختيار بروتوكول DeFi، ومبلغ القرض بـ ETH، وإعادة إنشاء المحفظة، واستيراد المحفظة، وبدء المراجحة، والخروج. ويوصي باستخدام dYdX أو Uniswap V3 لرسوم أقل، ويقبل مبالغ قروض تبدأ من 10 ETH حتى الحد الأقصى للبروتوكول، ويحذر من أن رصيد المحفظة الأقل من 0.1 ETH قد لا يغطي رسوم الغاز للقروض التي تتجاوز 10 ETH.
التبعيات: ethers ^6.11.1، وinquirer ^8.2.6، وchalk ^4.1.2.
استكشاف الأخطاء والملاحظات: يدرج الملف أخطاء مثل عدم القدرة على تحديد تنسيق الوحدة، وتنسيق المفتاح الخاص غير الصالح، وعدم كفاية الأموال، ورصيد المحفظة صفر، واحتمالية عدم توفر RPC، وعدم العثور على زوج ETH/USDC على V2. ويذكر أن السكريبت يتطلب فارقاً بنسبة 0.9% لتجنب الخسائر، وأن مثل هذه الفروق نادرة في الأسواق الحقيقية، وقد يظهر أحياناً فرصة محاكاة للعرض التوضيحي. وتنصح ملاحظات الأمان بعدم رفع ملف wallet.json أبداً، وإضافته إلى .gitignore، والاحتفاظ بنسخ احتياطية من المفاتيح الخاصة خارج الإنترنت، واستخدام محفظة مخصصة، والبدء بمبالغ صغيرة، وعدم مشاركة المفتاح الخاص.
النطاق والمخاطر: يذكر ملف README أن المشروع تمت مشاركته كما هو لأغراض تعليمية، والاستخدام يكون على مسؤولية المستخدم. ولا يتضمن النص المقدم الكود المصدري للعقد، أو تفاصيل التدقيق، أو أدلة على الأداء. وبما أنه يتضمن مفاتيح خاصة لمحفظة حقيقية وتداول DeFi، يجب التعامل مع هذه النظرة العامة كوصف لادعاءات ملف README وليس كتوصية.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.