منصوبے کے بارے میں

FlashLoanArbitrage ایک چھوٹا Node.js پروجیکٹ ہے جو flash loans کے ساتھ Ethereum DeFi ٹریڈنگ کے لیے بنایا گیا ہے۔ ریپوزٹری کی لسٹنگ اسے DeFi پورٹ فولیو منیجر کے طور پر بیان کرتی ہے، لیکن README خود اسے ایک flash-loan arbitrage بوٹ کے طور پر دستاویز کرتا ہے جو ایک مقامی اسکرپٹ (goflash.js) اور ایک متعلقہ اسمارٹ کنٹریکٹ پر مشتمل ہے۔ یہ کیسے کام کرتا ہے اسکرپٹ پانچ ذرائع سے ETH/USDC قیمتوں کا موازنہ کرتا ہے: ایک Chainlink oracle جسے بنیادی قیمت کے طور پر استعمال کیا جاتا ہے، Uniswap V2، SushiSwap، Curve Finance اور Balancer۔ یہ عمل کرنے سے پہلے مختلف پلیٹ فارمز کے درمیان کم از کم 0.9% قیمت کے فرق کا انتظار کرتا ہے؛ اس حد سے کم ہونے پر یہ نقصان دہ تجارت سے بچنے کے لیے مانیٹرنگ جاری رکھتا ہے۔ جب فرق کافی زیادہ ہو جاتا ہے، تو README میں بیان کردہ طریقہ کار یہ ہے: صارف کے ETH کو پہلے USDC میں تبدیل کریں، کنٹریکٹ کو USDC میں flash loan لینے دیں، سستے پلیٹ فارم پر ETH خریدیں، اسے مہنگے پلیٹ فارم پر بیچیں، قرض کے ساتھ flash-loan فیس اور گیس کی ادائیگی کریں، اور پھر باقی بچنے والے منافع کو USDC سے واپس ETH میں تبدیل کریں۔ README میں بتایا گیا ہے کہ والٹ بیلنس صرف گیس کے لیے استعمال ہوتا ہے اور ETH کو کنٹریکٹ میں منتقل نہیں کیا جاتا۔ Flash-loan فراہم کنندگان اور حدود چار پروٹوکولز کو flash-loan ذرائع کے طور پر درج کیا گیا ہے، جن میں سے ہر ایک کی فیس اور USDC میں زیادہ سے زیادہ قرض کی حد درج ہے: Aave (0.05%، 10,000,000 تک)، dYdX (0.05%، 500,000 تک)، Uniswap V3 (0.01%، 5,000,000 تک) اور Balancer (0.02%، 1,000,000 تک)۔ README میں نوٹ کیا گیا ہے کہ بڑے قرضوں کا مطلب بڑی فیسیں ہیں اور کم فیسوں کے لیے dYdX یا Uniswap V3 کی سفارش کی گئی ہے۔ سیٹ اپ اور استعمال ہدایات مقامی مشین کے لیے ہیں: goflash.js اور package.json حاصل کریں، انہیں کسی بھی فولڈر میں رکھیں، npm install چلائیں، پھر node goflash.js چلائیں۔ پہلی بار لانچ کرنے پر اسکرپٹ نیا والٹ بنانے کی پیشکش کرتا ہے (ایڈریس اور پرائیویٹ کی دکھائی جاتی ہے اور کی کو اسی فولڈر میں wallet.json میں محفوظ کیا جاتا ہے) یا 0x-پریفکس والی پرائیویٹ کی سے موجودہ والٹ امپورٹ کرنے کا آپشن دیتا ہے۔ اس کے بعد ایک انٹرایکٹو ٹرمینل مینو ظاہر ہوتا ہے، جس میں والٹ بیلنس اور ایڈریس دکھایا جاتا ہے، اور DeFi پروٹوکول منتخب کرنے، ETH میں قرض کی رقم سیٹ کرنے، والٹ دوبارہ بنانے، پرائیویٹ کی کے ذریعے دوسرا والٹ امپورٹ کرنے، arbitrage شروع کرنے اور باہر نکلنے کے آپشنز ہوتے ہیں۔ arbitrage موڈ کے بارے میں بتایا گیا ہے کہ یہ تقریباً ہر 60 سیکنڈ بعد تمام پلیٹ فارمز پر قیمتوں کو اسکین کرتا ہے اور اوپر/نیچے/غیر تبدیل شدہ اشاروں کے ساتھ لائیو قیمت ٹیبل اور زیادہ سے زیادہ مشاہدہ شدہ فرق (spread) پرنٹ کرتا ہے۔ انتباہات اور رویے کے نوٹس README بار بار پرائیویٹ کی کی حفاظت کے بارے میں خبردار کرتا ہے: wallet.json یا کی کو کبھی شیئر نہ کریں، اسے .gitignore میں شامل کریں، آف لائن بیک اپ رکھیں اور ایک مخصوص والٹ استعمال کریں۔ یہ اس بات سے بھی خبردار کرتا ہے کہ 0.1 ETH سے کم والٹ بیلنس 10 ETH سے زیادہ کے قرضوں کی ادائیگی کے لیے گیس کی وجہ سے کافی نہیں ہے، اور یہ ان اخراجات کی فہرست دیتا ہے جن کا خیال رکھا گیا ہے (ٹریڈنگ فیس 0.1%، slippage 0.05%، گیس، flash-loan فیس)۔ ٹربل شوٹنگ سیکشن ماڈیول فارمیٹ کی غلطیوں، غلط پرائیویٹ کی فارمیٹ، ناکافی فنڈز، RPC کی عدم دستیابی اور غائب V2 پیئرز کا احاطہ کرتا ہے۔ یہ واضح طور پر بیان کرتا ہے کہ حقیقی مارکیٹوں میں 0.9% قیمت کے فرق نایاب ہیں، مظاہرے کے لیے کبھی کبھار ایک مصنوعی موقع دکھایا جاتا ہے، اور یہ پروجیکٹ تعلیمی مقاصد کے لیے 'جیسا ہے' (as-is) شیئر کیا گیا ہے اور اسے مالک کے اپنے خطرے پر استعمال کیا جائے۔ تکنیکی تفصیلات یہ پروجیکٹ ایک JavaScript/Node.js ایپلی کیشن ہے جس کی تین ڈیپینڈنسیز ہیں: Ethereum کے ساتھ تعامل کے لیے ethers (^6.11.1)، انٹرایکٹو CLI کے لیے inquirer (^8.2.6) اور رنگین کنسول آؤٹ پٹ کے لیے chalk (^4.1.2)۔ دستاویز شدہ فائل لے آؤٹ میں صرف goflash.js، package.json، خودکار طور پر تیار شدہ wallet.json اور README شامل ہیں۔ تعلیمی استعمال اور اپنے خطرے پر استعمال کے بیان کے علاوہ لائسنس کی کوئی شرائط نہیں دی گئی ہیں، اور کسی ٹیسٹ، ڈیپلائمنٹ اسکرپٹ یا عوامی کارکردگی کے نتائج کی وضاحت نہیں کی گئی ہے۔