প্রকল্প সম্পর্কে

FlashLoanArbitrage হলো একটি শখের প্রজেক্ট যা একটি README-র সাথে প্রকাশিত হয়েছে, যেখানে DeFi মার্কেটের জন্য একটি স্ক্রিপ্ট-চালিত আরবিট্রেজ বটের বর্ণনা দেওয়া হয়েছে। এর প্রধান উপাদান হলো goflash.js, যা একটি Node.js প্রোগ্রাম এবং টার্মিনাল থেকে লোকালভাবে চালানো হয়। এর সাথে একটি package.json ফাইল রয়েছে যাতে তিনটি ডিপেন্ডেন্সি তালিকাভুক্ত আছে: ethers (Ethereum লাইব্রেরি), inquirer (ইন্টারঅ্যাক্টিভ CLI প্রম্পট) এবং chalk (রঙিন কনসোল আউটপুট)। এটি কীভাবে কাজ করে বলে বর্ণনা করা হয়েছে README-তে বলা হয়েছে যে, বটটি পাঁচটি উৎসের ETH/USDC মূল্য পর্যবেক্ষণ করে: ওরাকল রেফারেন্স হিসেবে Chainlink এবং ভেন্যু হিসেবে Uniswap V2, SushiSwap, Curve Finance এবং Balancer। প্রতি ৬০ সেকেন্ড অন্তর মূল্য যাচাই করা হয় এবং ভেন্যুগুলোর মধ্যে পার্থক্য ০.৯% বা তার বেশি হলেই কেবল আরবিট্রেজ করার চেষ্টা করা হয়। README-তে স্পষ্টভাবে উল্লেখ করা হয়েছে যে, বাস্তব মার্কেটে এই ধরনের স্প্রেড বিরল এবং প্রদর্শনের উদ্দেশ্যে স্ক্রিপ্টটি একটি সিমুলেটেড সুযোগ দেখাতে পারে। যখন থ্রেশহোল্ড পূর্ণ হয়, README অনুযায়ী প্রক্রিয়াটি হলো: USDC-তে একটি ফ্ল্যাশ লোন নেওয়া, সস্তা ভেন্যু থেকে ETH কেনা, দামি ভেন্যুতে তা বিক্রি করা, ফি এবং গ্যাসসহ লোন পরিশোধ করা এবং অবশিষ্ট USDC মুনাফাকে পুনরায় ETH-তে রূপান্তর করা। চারটি ফ্ল্যাশ-লোন উৎসের তালিকা তাদের নির্ধারিত ফি রেট এবং সম্ভাব্য সর্বোচ্চ লোন সাইজসহ দেওয়া হয়েছে: Aave (০.০৫%, ১০,০০০,০০০ USDC পর্যন্ত), dYdX (০.০৫%, ৫০০,০০০ USDC পর্যন্ত), Uniswap V3 (০.০১%, ৫,০০০,০০০ USDC পর্যন্ত) এবং Balancer (০.০২%, ১,০০০,০০০ USDC পর্যন্ত)। এই পরিসংখ্যানগুলো লেখকের নিজস্ব দাবি এবং রিপোজিটরি দ্বারা যাচাই করা হয়নি। সেটআপ এবং ইন্টারফেস এর ব্যবহার একটি প্রচলিত npm প্রক্রিয়ার মতো: goflash.js এবং package.json একটি ফোল্ডারে রাখা, npm install চালানো এবং তারপর node goflash.js চালানো। প্রথমবার চালু করার সময় বটটি দুটি বিকল্পসহ একটি ইন্টারঅ্যাক্টিভ প্রম্পট দেখায়: একটি নতুন ওয়ালেট তৈরি করা অথবা প্রাইভেট কি-র মাধ্যমে বিদ্যমান ওয়ালেট ইমপোর্ট করা। তৈরি করা ওয়ালেটের প্রাইভেট কি স্বয়ংক্রিয়ভাবে একই ডিরেক্টরির wallet.json ফাইলে লেখা হয়। এরপর একটি টেক্সট মেনু DeFi প্রোটোকল নির্বাচন, ETH-তে লোনের পরিমাণ (১০ ETH থেকে প্রোটোকলের সর্বোচ্চ সীমা পর্যন্ত), ওয়ালেট পুনর্গঠন, ওয়ালেট ইমপোর্ট, আরবিট্রেজ শুরু এবং এক্সিট করার সুযোগ দেয়। একটি লাইভ প্রাইস প্যানেল প্রতিটি ভেন্যুর ETH/USDC কোট আপ/ডাউন/আনচেইঞ্জড ইন্ডিকেটরসহ দেখায়। কার্যকরী নোট এবং ঝুঁকি README-তে বেশ কিছু সতর্কবার্তা দেওয়া হয়েছে: গ্যাসের জন্য পর্যাপ্ত ETH রাখা (১০ ETH-এর উপরের লোনের জন্য অন্তত ০.১ ETH-র পরামর্শ দেওয়া হয়েছে), ছোট ব্যালেন্সের সাথে খুব বড় লোন এড়িয়ে চলা, wallet.json-কে .gitignore-এ যুক্ত করা, প্রাইভেট-কি ব্যাকআপ অফলাইনে রাখা, একটি ডেডিকেটেড ওয়ালেট ব্যবহার করা এবং ছোট পরিমাণ দিয়ে শুরু করা। উল্লিখিত ফি-র মধ্যে ০.১% ট্রেডিং ফি, ০.০৫% স্লিপেজ এবং গ্যাস অন্তর্ভুক্ত। একটি ট্রাবলশুটিং সেকশনে মডিউল-ফরম্যাট এরর, প্রাইভেট-কি ফরম্যাট চেক, অপর্যাপ্ত তহবিল, অগম্য RPC এন্ডপয়েন্ট এবং মিসিং V2 পেয়ার নিয়ে আলোচনা করা হয়েছে। প্রজেক্ট স্ট্রাকচার থেকে একটি পর্যবেক্ষণ: এতে শুধুমাত্র goflash.js, package.json, wallet.json এবং README.md তালিকাভুক্ত আছে, তাই একটি সহযোগী স্মার্ট কন্ট্রাক্টের কথা বর্ণনায় থাকলেও ফাইল ট্রিতে তা দেখানো হয়নি। এই প্রজেক্টটি মূল্যায়ন করার সময় মুনাফার দাবি, ফি-র পরিসংখ্যান এবং লোনের সীমাগুলোকে লেখকের যাচাইহীন বক্তব্য হিসেবে গণ্য করা উচিত এবং ডিস্কে প্লেইন টেক্সটে ওয়ালেট প্রাইভেট কি সংরক্ষণের পরিণতির কথা বিবেচনা করা উচিত।