À propos du projet

FlashLoanArbitrage est un projet en ligne de commande JavaScript pour l'arbitrage DeFi sur Ethereum, basé sur les flash loans. Selon son README, un contrat intelligent emprunte des USDC via un flash loan, achète de l'ETH là où il est moins cher, le revend là où il est plus cher, rembourse le prêt plus les frais et le gaz, et convertit le profit USDC restant en ETH. Un script local nommé goflash.js s'exécute sur la machine de l'utilisateur, surveille les prix ETH/USDC et déclenche le contrat lorsqu'une opportunité se présente. La description du dépôt mentionne la prédiction des mouvements de prix de l'ETH via l'analyse technique, mais le README documente un bot d'exécution d'arbitrage plutôt qu'un modèle de prévision ; aucun composant de prévision ou d'analyse technique n'est décrit dans le README, et la structure du projet listée contient uniquement goflash.js, package.json, wallet.json et README.md, donc les sources du contrat intelligent ne figurent pas dans cet arbre. La surveillance des prix s'appuie sur cinq sources : Chainlink comme oracle pour le prix de base de l'ETH, Uniswap V2, SushiSwap, Curve Finance et Balancer. Le script est décrit comme analysant ces prix toutes les 60 secondes et attendant une différence de 0,9 % ou plus avant d'agir, au motif que des écarts plus faibles ne couvriraient pas les coûts. La sortie de la console affiche le prix de chaque plateforme avec un indicateur de hausse, de baisse ou d'absence de changement, ainsi que l'écart maximal entre les plateformes. Quatre protocoles de flash loan sont listés, avec les chiffres du README : Aave avec des frais de 0,05 % et jusqu'à 10 000 000 USDC de liquidité, dYdX à 0,05 % et jusqu'à 500 000 USDC, Uniswap V3 à 0,01 % et jusqu'à 5 000 000 USDC, et Balancer à 0,02 % et jusqu'à 1 000 000 USDC. Le README recommande dYdX ou Uniswap V3 pour des frais moins élevés et note que les frais varient selon la taille du prêt. L'installation est documentée comme suit : télécharger goflash.js et package.json dans un dossier, exécuter npm install, puis node goflash.js. Au premier lancement, le script signale qu'aucun portefeuille n'a été trouvé et propose un menu interactif : créer un nouveau portefeuille, qui affiche une adresse et une clé privée et écrit la clé dans wallet.json dans le même dossier, ou importer un portefeuille existant via une clé privée de 64 caractères préfixée par 0x. Les lancements ultérieurs affichent un menu principal avec la sélection du protocole DeFi, le montant du prêt en ETH (décrit de 10 ETH jusqu'au maximum du protocole), la recréation du portefeuille, l'importation du portefeuille, le démarrage de l'arbitrage et la sortie. Les coûts déclarés incluent des frais de trading de 0,1 %, un glissement (slippage) de 0,05 % et le gaz. Le README conseille de conserver au moins 0,1 ETH dans le portefeuille pour le gaz lors d'emprunts de plus de 10 ETH, et précise que le solde du portefeuille est utilisé uniquement pour le gaz tandis que l'ETH n'est pas transféré vers le contrat. Les dépendances sont ethers ^6.11.1, inquirer ^8.2.6 et chalk ^4.1.2. Une section de dépannage couvre les erreurs de format de module, le format de clé privée invalide, les fonds insuffisants, les points de terminaison RPC inaccessibles et les paires V2 manquantes. Des mises en garde notables sont stipulées dans le README lui-même : les différences de prix de 0,9 % sont décrites comme rares sur les marchés réels, et le script afficherait occasionnellement une opportunité simulée à des fins de démonstration, donc l'exécution rentable en direct n'est pas garantie. La clé privée est stockée en texte clair dans wallet.json ; le README conseille de ne jamais commiter ce fichier, de l'ajouter au .gitignore, de conserver des sauvegardes hors ligne, d'utiliser un portefeuille dédié et de commencer avec de petites sommes. Le projet est partagé en l'état à des fins éducatives et est utilisé aux risques de son propriétaire.