À propos du projet
FlashLoanArbitrage — aperçu
Le README décrit un bot Node.js en ligne de commande pour l'arbitrage DeFi financé par des flash loans. Notez que le nom du dépôt et sa description ("Surveille l'activité des contrats intelligents pour des opportunités") ne correspondent pas au contenu du README, qui documente un bot appelé FlashLoanArbitrage ; les fichiers du projet documentés sont goflash.js, package.json, wallet.json et le README lui-même.
Fonctionnement
Le bot est décrit comme composé de deux parties : un contrat intelligent on-chain et le script local goflash.js. Le script interroge les prix ETH/USDC de cinq sources — Chainlink comme oracle de référence, Uniswap V2, SushiSwap, Curve Finance et Balancer — et attend une différence de prix maximale d'au moins 0,9 % avant d'agir. Lorsque le seuil est atteint, il appelle le contrat, qui contracte un flash loan en USDC, achète de l'ETH sur la plateforme la moins chère, le revend sur la plus chère, rembourse le prêt plus les frais et le gas, convertit le profit restant en ETH et renvoie le profit net au portefeuille de l'utilisateur. Le scan se répète toutes les 60 secondes et la console affiche les prix avec des indicateurs de hausse/baisse/stabilité.
Les sources de flash loans listées dans le README sont Aave (frais de 0,05 %, jusqu'à 10 000 000 USDC), dYdX (0,05 %, jusqu'à 500 000), Uniswap V3 (0,01 %, jusqu'à 5 000 000) et Balancer (0,02 %, jusqu'à 1 000 000). Le README recommande dYdX ou Uniswap V3 pour des frais moins élevés et note que des prêts plus importants entraînent des frais plus élevés.
Configuration et fonctionnement
L'installation s'effectue via npm install dans un dossier contenant goflash.js et package.json, puis node goflash.js. Lors du premier lancement, une invite interactive (construite avec inquirer) 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 principal permet de choisir le protocole DeFi, de définir le montant du prêt en ETH (de 10 jusqu'au maximum du protocole), de recréer ou réimporter le portefeuille, de lancer l'arbitrage ou de quitter. Les dépendances listées sont ethers ^6.11.1, inquirer ^8.2.6 et chalk ^4.1.2. Le README précise qu'un solde de portefeuille inférieur à 0,1 ETH empêche la sélection de prêts supérieurs à 10 ETH, car ce solde est utilisé pour le gas, et que le modèle de frais documenté inclut les frais de flash loan, des frais de trading de 0,1 %, un glissement (slippage) de 0,05 % et le gas.
Points à considérer avant l'utilisation
- Le README lui-même indique qu'un écart de 0,9 % est rare sur les marchés réels, que le bot peut donc ne trouver aucune opportunité, et qu'il "affiche occasionnellement une opportunité simulée à des fins de démonstration".
- La clé privée est stockée en texte clair dans wallet.json ; le README conseille d'ajouter ce fichier au .gitignore, de conserver des sauvegardes hors ligne, d'utiliser un portefeuille dédié et de ne jamais partager la clé.
- Aucun fichier source de contrat n'apparaît dans la structure du projet présentée dans le README, donc le composant on-chain n'est pas documenté dans les fichiers listés.
- Le projet est publié "en l'état à des fins éducatives. Utilisez-le à vos propres risques."
Les notes de dépannage du README couvrent les erreurs de format de module, le format de clé privée invalide, les fonds insuffisants pour le gas, le solde de portefeuille nul, la reconnexion RPC et l'absence de paires ETH/USDC sur les plateformes de style V2.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.