عن المشروع
FlashLoanArbitrage هو بوت arbitrage للتمويل اللامركزي (DeFi) تم إنشاؤه باستخدام Node.js. يراقب أسعار ETH/USDC عبر خمس منصات—Chainlink (العقار)، Uniswap V2، SushiSwap، Curve Finance، وBalancer—ويُنفّذ تلقائيًا صفقات arbitrage بالقرض الفلاشي عندما يصل فرق السعر إلى ما لا يقل عن 0.9%.
## كيف يعمل
يعمل البوت على جزأين:
1. **العقد الذكي**: يأخذ قرضًا فلاشيًا بالدولار USDC من بروتوكول مختار، يحول ETH الخاص بالمستخدم إلى USDC، يشتري ETH بسعر أقل في منصة واحدة، يبيعه بسعر أعلى في منصة أخرى، يسدد القرض بالإضافة إلى الرسوم والغاز، ويعيد الربح على شكل ETH.
2. **سكريبت CLI (`goflash.js`)**: يستطلع الأسعار كل 60 ثانية، يعرض القيم في الوقت الحقيقي مع مؤشرات التغيّر، ويطلق العقد الذكي عند اكتشاف فرق سعري مربح.
## بروتوكولات القرض الفلاشي المدعومة
- **Aave** — حتى 10,000,000 USDC، رسوم 0.05%
- **dYdX** — حتى 500,000 USDC، رسوم 0.05%
- **Uniswap V3** — حتى 5,000,000 USDC، رسوم 0.01%
- **Balancer** — حتى 1,000,000 USDC، رسوم 0.02%
## الإعداد والاستخدام
1. استنسخ المستودع وانسخ `goflash.js` و`package.json` إلى مجلد.
2. ثبّت التبعيات: `npm install`
3. شغّل: `node goflash.js`
4. عند التشغيل الأول، أنشئ محفظة جديدة أو استورد محفظة موجودة عبر المفتاح الخاص. يتم حفظ المفتاح في `wallet.json`.
5. استخدم القائمة التفاعلية في CLI لاختيار بروتوكول القرض الفلاشي، وضبط مبلغ القرض (الحد الأدنى 10 ETH)، وابدأ مراقبة arbitrage.
## الميزات الرئيسية
- قائمة تفاعلية مدعومة بـ Inquirer
- عرض أسعار في الوقت الحقيقي مع مؤشرات صعود/هبور/ثبات
- إدارة المحفظة (إنشاء، استيراد، إعادة إنشاء)
- حماية رسوم الغاز: القروض فوق 10 ETH تتطلب رصيد محفظة لا يقل عن 0.1 ETH
- إعادة اتصال تلقائي بـ RPC عند الفشل
- احتساب الربح بعد رسوم القرض الفلاشي، رسوم التداول (0.1%), الانزلاق (0.05%), والغاز
## ملاحظات أمان
- لا تقم jamás بإيداع `wallet.json` في نظام التحكم بالإصدار؛ أضفه إلى `.gitignore`
- احتفظ بنسخ احتياطية للمفتاح الخاص خارج الإنترنت
- استخدم محفظة مخصصة لتشغيل البوت
- ابدأ بمبالغ صغيرة للاختبار
## التبعيات
- ethers ^6.11.1
- inquirer ^8.2.6
- chalk ^4.1.2
## الرخصة
مشاركتها كما هي لأغراض تعليمية. استخدمها على مسؤوليتك الخاصة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.