À propos du projet

FlashLoanArbitrage (publié sous le nom de dépôt flashloan-routing-engine) est un projet éducatif en anglais qui associe un contrat intelligent Solidity à un script Node.js local, goflash.js, pour l'arbitrage de flash-loans ETH/USDC sur les plateformes DeFi d'Ethereum. Le README décrit le flux de travail ainsi : le contrat contracte un flash loan libellé en USDC, utilise les fonds empruntés pour acheter de l'ETH sur la plateforme affichant le prix le plus bas et le vend sur celle affichant le prix le plus élevé, rembourse le prêt plus les frais et le gas, convertit le profit restant et laisse le résultat net à l'utilisateur. La partie emprunt est documentée comme supportant Aave (frais de 0,05 %, jusqu'à 10 000 000 USDC), dYdX (0,05 %, jusqu'à 500 000 USDC), Uniswap V3 (0,01 %, jusqu'à 5 000 000 USDC) et Balancer (0,02 %, jusqu'à 1 000 000 USDC). Le README note que les frais de flash-loan varient selon la taille du prêt, et conseille donc de maintenir un prêt modeste par rapport au solde du portefeuille. Le script compagnon goflash.js interroge les prix ETH/USDC environ toutes les 60 secondes via Chainlink comme référence d'oracle, ainsi que Uniswap V2, SushiSwap, Curve Finance et Balancer, les affiche avec des indicateurs de hausse / baisse / inchangé, et ne signale l'arbitrage que lorsque l'écart observé est d'au moins 0,9 %. Il rapporte également la différence de prix maximale entre les plateformes. Pour l'exécuter, selon les instructions : téléchargez goflash.js et package.json dans n'importe quel dossier, lancez npm install, puis node goflash.js. Les dépendances listées sont ethers ^6.11.1, inquirer ^8.2.6 et chalk ^4.1.2. Au premier lancement, un menu interactif propose de créer un nouveau portefeuille ou d'en importer un existant via une clé privée ; la clé est écrite dans wallet.json dans le même dossier. Le menu expose ensuite la sélection du protocole DeFi, le montant du prêt en ETH, la recréation du portefeuille, l'importation du portefeuille, Start Arbitrage et Exit. Les mises en garde stipulées dans le README : les frais de trading (listés à 0,1 %) et un glissement (slippage) de 0,05 % plus le gas sont déduits avant le profit net ; un portefeuille inférieur à 0,1 ETH est décrit comme insuffisant pour couvrir le gas pour des prêts supérieurs à 10 ETH ; et le README reconnaît qu'un écart de 0,9 % est rare sur les marchés réels et que le script affiche occasionnellement une opportunité simulée à des fins de démonstration. Une section de dépannage couvre les erreurs de format de module, le format de clé privée invalide, les fonds insuffisants et la reconnexion RPC. Les conseils de sécurité inclus dans le README demandent aux utilisateurs de ne pas commiter wallet.json, de l'ajouter à .gitignore, de conserver des sauvegardes de clés privées hors ligne, d'utiliser un portefeuille dédié et de commencer avec de petites sommes. Le projet est décrit comme partagé en l'état à des fins éducatives, l'utilisation étant aux risques de l'utilisateur. Pour toute personne l'évaluant : la conception stocke une clé privée en texte clair dans un fichier JSON local et nécessite le financement d'un portefeuille en ETH pour le gas, ce qui reste des considérations matérielles ; le contrat et le script doivent être examinés avant tout mouvement de fonds, et aucune rentabilité n'est revendiquée ou prouvée par le matériel.