À propos du projet
Ce que c'est
FlashLoanArbitrage est un script en ligne de commande local (goflash.js) pour expérimenter l'arbitrage par flash-loan sur les marchés DeFi de type Ethereum. Il s'exécute sur la machine de l'utilisateur, est piloté par un menu interactif et est distribué via un dépôt contenant le script, un package.json et un README. Le README présente le projet comme un matériel éducatif à utiliser aux risques de l'utilisateur.
Comment ça fonctionne
Au démarrage, le script propose des options de portefeuille : générer un nouveau portefeuille ou en importer un existant via une clé privée. La clé résultante est écrite dans un fichier wallet.json dans le même dossier. Le menu propose ensuite quatre back-ends de flash-loan (Aave, dYdX, Uniswap V3, Balancer), un réglage du montant du prêt exprimé en ETH, la recréation et l'importation de portefeuille, un contrôle start/stop pour l'arbitrage, et la sortie.
Pendant l'exécution, le script interroge les prix de référence ETH/USDC environ toutes les 60 secondes auprès de cinq sources : Chainlink comme base d'oracle, plus Uniswap V2, SushiSwap, Curve Finance et Balancer comme plateformes. Il affiche les valeurs actuelles avec des indicateurs de hausse/baisse/stabilité et rapporte l'écart maximum entre les sources. Ce n'est que lorsque l'écart atteint environ 0,9 % qu'il passe la main au contrat d'arbitrage ; sinon, il continue d'attendre. Le README précise que de tels écarts sont rares sur les marchés réels et qu'une opportunité simulée est occasionnellement affichée à des fins de démonstration.
Le flux du contrat décrit est le suivant : contracter un flash-loan en USDC, acheter de l'ETH sur la plateforme la moins chère, vendre sur la plus chère, rembourser le prêt et ses frais, régler les frais de transaction, le slippage et le gas, puis convertir le profit restant en ETH.
Configuration et dépendances
Les seules dépendances listées sont ethers, inquirer et chalk. L'utilisation est la suivante : placer goflash.js et package.json dans un dossier, exécuter npm install, puis node goflash.js, et suivre les instructions. Les notes de dépannage du README couvrent les erreurs de format de module, la validation du format de la clé privée, les fonds insuffisants pour le gas, la reconnexion RPC et les paires de trading manquantes.
Points de vigilance
- Le README décrit un contrat on-chain, mais la structure du projet listée ne contient que le script, package.json, wallet.json et le README lui-même ; le code source du contrat n'y figure pas, donc la partie on-chain ne peut être inspectée.
- Le fichier de portefeuille stocke une clé privée en texte clair sur le disque. Le README conseille d'ajouter wallet.json au .gitignore, de conserver des sauvegardes hors ligne, d'utiliser un portefeuille dédié et de ne jamais partager la clé.
- Le README avertit qu'un portefeuille inférieur à environ 0,1 ETH ne devrait pas contracter de prêts supérieurs à 10 ETH car le gas pourrait ne pas être couvert, et que les coûts incluent les frais de flash-loan, environ 0,1 % de frais de transaction, 0,05 % de slippage et le gas.
- Aucune preuve indépendante de performance, de rentabilité ou de correction n'est apportée par le contenu du dépôt ; le comportement décrit est le récit de l'auteur, et le projet est explicitement étiqueté comme partagé en l'état à des fins éducatives.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.