Sobre el proyecto
FlashLoanArbitrage es un bot de línea de comandos de Node.js publicado para el arbitraje de flash-loan en DeFi. Según su README, combina un contrato inteligente on-chain con un script local, goflash.js, que se ejecuta en la máquina del usuario. El autor describe el repositorio como compartido "tal cual para fines educativos" y su uso queda bajo el propio riesgo del lector.
Cómo se describe su funcionamiento: el contrato toma un flash loan denominado en USDC, el script convierte previamente el ETH del usuario a USDC, se compra ETH en un lugar y se vende en otro, se reembolsa el préstamo más las tarifas y el gas, y la ganancia restante en USDC se convierte de nuevo a ETH. El script consulta los precios de ETH/USDC cada 60 segundos y solo activa una operación cuando el diferencial entre plataformas alcanza el 0.9% o más; por debajo de eso, espera.
Fuentes de precios y lugares de préstamo. Para los flash loans, el README enumera Aave (tarifa declarada del 0.05%, hasta 10,000,000 USDC), dYdX (0.05%, hasta 500,000 USDC), Uniswap V3 (0.01%, hasta 5,000,000 USDC) y Balancer (0.02%, hasta 1,000,000 USDC). Para el escaneo de precios, menciona a Chainlink como oráculo para el precio base de ETH, además de Uniswap V2, SushiSwap, Curve Finance y Balancer. La salida de la consola muestra el precio de cada lugar con indicadores de subida/bajada/sin cambios y el diferencial máximo entre plataformas.
Instalación y uso. Las instrucciones indican obtener goflash.js y package.json, colocarlos en cualquier carpeta, ejecutar npm install y luego node goflash.js. En el primer lanzamiento, un aviso interactivo (creado con inquirer) pregunta si se desea crear una nueva billetera o importar una existente mediante una clave privada que comience con 0x. Las claves generadas se escriben en wallet.json en la misma carpeta. Un menú de texto ofrece entonces: DeFi (elegir el protocolo de flash-loan), Loan Amount en ETH, Recreate Wallet, Import Wallet, Start Arbitrage y Exit. Las dependencias enumeradas son ethers ^6.11.1, inquirer ^8.2.6 y chalk ^4.1.2.
Restricciones y costos declarados. El README indica que los montos de los préstamos van desde 10 ETH hasta el máximo del protocolo seleccionado, y advierte que las billeteras con menos de 0.1 ETH no deben tomar préstamos superiores a 10 ETH porque el gas no estaría cubierto. Menciona tarifas de trading del 0.1%, deslizamiento (slippage) del 0.05% y costos de gas como deducciones de la ganancia bruta. También afirma que el saldo de la billetera se utiliza únicamente para el gas y que el ETH no se transfiere al contrato.
Advertencias a tener en cuenta. El propio README dice que un diferencial del 0.9% entre lugares es raro en los mercados reales y que el script "muestra ocasionalmente una oportunidad simulada para demostración", lo que significa que la salida mostrada puede no corresponder a una operación ejecutable en vivo. El proyecto también solicita a los usuarios crear o importar una clave privada en un archivo wallet.json de texto plano; su propia sección de seguridad aconseja nunca subir ese archivo, añadirlo a .gitignore, mantener copias de seguridad fuera de línea, usar una billetera dedicada para el bot, comenzar con cantidades pequeñas y nunca compartir la clave. Cualquiera que evalúe este software debe tratar la custodia de la clave privada y la precisión de los rendimientos anunciados como los riesgos centrales, y debe verificar la dirección del contrato referenciado y el comportamiento del script de forma independiente en lugar de confiar en los ejemplos del README.
El README también incluye una sección de resolución de problemas para errores comunes: errores de formato de módulo, formato de clave privada inválido, fondos insuficientes, saldo de billetera cero, RPC no disponible, falta de pares ETH/USDC en V2 y falla al encontrar oportunidades de arbitraje. La estructura del proyecto descrita es goflash.js, package.json, wallet.json y README.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.