Sobre el proyecto
El README de este repositorio documenta un proyecto llamado FlashLoanArbitrage (el repositorio en sí se llama defi-position-manager), un bot de línea de comandos en Node.js para arbitraje de flash-loans entre plataformas DeFi.
Descripción de su funcionamiento
- Un smart contract toma un flash loan en USDC, compra ETH donde es más barato, lo vende donde es más caro, devuelve el préstamo más las comisiones y el gas, convierte la ganancia nuevamente a ETH y deja el remanente al usuario.
- El script local goflash.js verifica los precios de ETH/USDC en Chainlink (utilizado como oráculo de referencia), Uniswap V2, SushiSwap, Curve Finance y Balancer, y espera un spread de al menos 0.9% antes de activar una operación.
- Se indica que los escaneos se ejecutan cada 60 segundos, imprimiendo una tabla con el precio de cada plataforma junto con indicadores de subida, bajada o sin cambios.
Plataformas de flash-loan y límites declarados
- Aave (comisión 0.05%, hasta 10,000,000 USDC)
- dYdX (0.05%, hasta 500,000 USDC)
- Uniswap V3 (0.01%, hasta 5,000,000 USDC)
- Balancer (0.02%, hasta 1,000,000 USDC)
Estas cifras son afirmaciones del README y no han sido verificadas aquí.
Ejecución
El README indica instalar las dependencias con npm install e iniciar con node goflash.js. En la primera ejecución, un menú interactivo (creado con inquirer) ofrece crear una nueva wallet o importar una mediante clave privada; la clave se escribe en wallet.json en la misma carpeta. Luego, el menú permite al usuario elegir un protocolo de préstamo, establecer un monto de préstamo en ETH (desde 10 ETH hasta el máximo del protocolo), regenerar o reimportar una wallet, iniciar el arbitraje o salir.
Requisitos y riesgos señalados en el README
- Advierte que un saldo de wallet inferior a 0.1 ETH podría no cubrir el gas para préstamos superiores a 10 ETH, y enumera las comisiones de trading (0.1%), el slippage (0.05%) y el gas como costos deducidos de la ganancia.
- También afirma que una diferencia de precio del 0.9% es rara en los mercados reales y que el script ocasionalmente muestra una oportunidad simulada para fines de demostración, por lo que no debe asumirse una rentabilidad constante.
- Las claves privadas se almacenan en texto plano en wallet.json; el README aconseja mantener ese archivo fuera de Git, respaldar las claves fuera de línea y usar una wallet dedicada. Cualquier persona que ejecute esto debe considerar el manejo de claves como un problema de seguridad grave.
- La estructura del proyecto documentada solo enumera goflash.js, package.json, wallet.json y README.md. No aparece el código fuente del smart contract en ese listado, ni se proporcionan direcciones de contrato, cadena o detalles de despliegue.
- Dependencias declaradas: ethers ^6.11.1, inquirer ^8.2.6, chalk ^4.1.2. El README presenta el proyecto compartido tal cual para fines educativos, utilizándose bajo el propio riesgo del usuario.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.