« Back to Glossary Index

Foundry

⚡ Definición Rápida

Foundry es un toolkit de desarrollo para Ethereum escrito en Rust que gestiona dependencias, compila proyectos, ejecuta tests, despliega contratos e interactúa con la blockchain desde la línea de comandos. Su velocidad y su enfoque en Solidity para testing lo han convertido en el favorito de los desarrolladores DeFi.

Términos relacionados: smart contractsolidityevmhardhatganache


❓ ¿Qué es Foundry y por qué ha revolucionado el desarrollo blockchain?

Imagina que necesitas construir una casa (tu dApp) y tienes dos opciones: usar un conjunto de herramientas manuales tradicionales que funcionan bien pero requieren múltiples herramientas de diferentes fabricantes, o usar un kit de herramientas profesional, integrado y ultrarrápido diseñado específicamente para el trabajo. Foundry es ese kit profesional para desarrolladores Ethereum.

Lanzado por Paradigm, Foundry irrumpió en el ecosistema con una propuesta radical: todo en Rust, tests en Solidity y velocidad extrema. A diferencia de Hardhat, que usa JavaScript/TypeScript y requiere escribir tests en Mocha/Chai, Foundry permite a los desarrolladores escribir sus tests directamente en Solidity, el mismo lenguaje de los contratos. Esto reduce la fricción cognitiva, acelera el desarrollo y permite aprovechar todo el poder del lenguaje en las pruebas. Su adopción se ha disparado, especialmente en el mundo DeFi, donde la velocidad de ejecución y la fiabilidad de los tests son críticas.

📖 Definición Técnica

Foundry es un toolkit de desarrollo para aplicaciones EVM (Ethereum Virtual Machine) escrito en Rust. Se compone de cuatro herramientas principales: Forge (gestión de dependencias, compilación, testing y despliegue), Cast (interacción con la blockchain desde CLI), Anvil (nodo local de desarrollo con capacidad de fork) y Chisel (REPL de Solidity para pruebas rápidas). Su arquitectura modular y su implementación en Rust le proporcionan una velocidad muy superior a otros frameworks, especialmente en tareas de compilación y ejecución de tests.


⚙️ Las 4 herramientas del toolkit Foundry

Foundry no es una herramienta monolítica, sino un conjunto de utilidades especializadas que trabajan juntas:

HerramientaFunción principalComando claveAnalogía
ForgeEl núcleo de Foundry. Compila, prueba y despliega contratos. Gestiona dependencias como git submodules.forge build, forge test, forge createEl capataz de obra que coordina la construcción, verifica la calidad y entrega el proyecto.
CastInterfaz de línea de comandos para interactuar con la blockchain. Permite llamar funciones, enviar transacciones, decodificar datos y convertir unidades.cast call, cast send, cast 4byte-decodeEl walkie-talkie que te permite comunicarte directamente con la obra y sus operarios.
AnvilNodo local de desarrollo. Puede crear una blockchain limpia o forkear una red existente (mainnet, testnet) para pruebas realistas.anvil, anvil --fork-url $RPCLa maqueta a escala real donde pruebas todo antes de construir en el mundo real.
ChiselREPL (Read-Eval-Print Loop) de Solidity. Permite escribir y probar fragmentos de código Solidity de forma interactiva .chisel, !fork, !memdumpEl cuaderno de notas donde haces cálculos rápidos y pruebas conceptos antes de escribirlos en el plano.

🔬 Foundry vs. Hardhat: La batalla de los frameworks en 2026

La elección entre Foundry y Hardhat es una de las decisiones más importantes para un equipo de desarrollo. Aquí tienes una comparativa detallada basada en el estado actual del ecosistema:

CaracterísticaFoundryHardhat
Lenguaje baseRust (CLI) + Solidity (tests).JavaScript/TypeScript.
TestsEn Solidity, usando forge-std/Test.sol. Más rápidos y directos.En JavaScript/TypeScript, usando Mocha/Chai y Ethers.js. Más flexibles para integraciones complejas.
Velocidad de compilaciónExtremadamente rápida (Rust + optimizaciones).Rápida, pero más lenta en proyectos grandes.
Velocidad de testsMuy rápida. Ejecución paralela por defecto.Más lenta, especialmente con muchos tests.
DebuggingDepurador interactivo (forge test --debug) y trazas verbosas.Excelente depurador con console.log y stack traces.
ForkingIntegrado en Forge (--fork-url) y Anvil .Integrado mediante plugins o configuración.
Ecosistema de pluginsEn crecimiento, pero más limitado que Hardhat.Extremadamente amplio (más de 200 plugins).
Curva de aprendizajeMedia (si ya conoces Solidity, los tests son naturales).Media-baja (JavaScript es más accesible).
Ideal paraProyectos DeFi, librerías, equipos que priorizan velocidad y tests en Solidity.dApps complejas, integraciones con frontend, equipos que prefieren JavaScript.

La tendencia actual es hacia un enfoque híbrido: muchos equipos usan Hardhat para el despliegue y la integración con frontend, y Foundry para testing y desarrollo rápido de contratos. Para una visión más amplia del ecosistema de desarrollo, consulta nuestra Guía de Seguridad Crypto.


🚀 Guía práctica: Primeros pasos con Foundry

Vamos a crear un proyecto desde cero y desplegar un contrato.

1. Instalación

La forma más sencilla es usar foundryup, el gestor de versiones de Foundry:

Esto instalará forge, cast, anvil y chisel en tu sistema. Para actualizar, simplemente ejecuta foundryup de nuevo.

2. Crear un nuevo proyecto

Esto crea la estructura de directorios estándar:

  • src/: Contratos de producción.
  • test/: Tests en Solidity (archivos .t.sol).
  • script/: Scripts de despliegue (archivos .s.sol).
  • lib/: Dependencias (git submodules).
  • foundry.toml: Configuración del proyecto.

3. Escribir un contrato simple

Reemplaza el contenido de src/Counter.sol con:

4. Escribir un test en Solidity

Foundry usa forge-std para testing. Crea test/Counter.t.sol:

Ejecuta los tests:

Para ver el reporte de gas:

5. Desplegar con Forge

Primero, instala una dependencia (opcional, pero común):

Ahora despliega el contrato Counter:

Si tu contrato tiene constructor con argumentos:

6. Usar Cast para interactuar

Una vez desplegado, puedes llamar funciones de lectura:

Para enviar una transacción (escribir):

7. Forkear mainnet con Anvil

Anvil puede crear una copia local de mainnet para pruebas realistas:

Esto levanta un nodo local en http://127.0.0.1:8545 con 10 cuentas prefinanciadas con 10,000 ETH de prueba. Luego puedes apuntar tus comandos forge o cast a esa URL para interactuar con el fork.

8. Probar snippets con Chisel

Inicia Chisel:

Dentro del REPL, puedes escribir código Solidity directamente:


✅ Ventajas clave de Foundry

  • Velocidad extrema: Escrito en Rust, Foundry es significativamente más rápido que sus competidores, especialmente en compilación y tests.
  • Tests en Solidity: Escribir tests en el mismo lenguaje que los contratos reduce la fricción y permite reutilizar lógica de los contratos en las pruebas.
  • Fuzzing integrado: Forge incluye fuzzing basado en propiedades de forma nativa. Solo tienes que escribir tests con parámetros y Foundry generará automáticamente cientos de casos para encontrar errores .
  • Reporte de gas integrado: Con forge test --gas-report obtienes un desglose detallado del consumo de gas de cada función, esencial para optimizar contratos.
  • Forking de mainnet: Anvil permite forkear cualquier red EVM en segundos, facilitando pruebas con protocolos reales y estados complejos.
  • Herramientas unificadas: Forge, Cast, Anvil y Chisel trabajan juntos sin problemas. No necesitas instalar y configurar herramientas separadas.

⚠️ Limitaciones y consideraciones

  • Ecosistema de plugins más pequeño: Aunque crece rápidamente, Foundry no tiene la extensa biblioteca de plugins de Hardhat.
  • Curva de aprendizaje del testing en Solidity: Para equipos acostumbrados a JavaScript/TypeScript, escribir tests en Solidity puede requerir un ajuste mental inicial.
  • Menos maduro para integraciones complejas: Hardhat tiene ventaja en escenarios que requieren mucha lógica fuera de la blockchain (oráculos complejos, automatización con múltiples pasos off-chain).
  • Dependencia de git submodules: Foundry usa git submodules para gestionar dependencias, lo que puede ser menos familiar para equipos acostumbrados a npm/yarn.

🧠 Guía práctica: Foundry para diferentes perfiles

  • Para desarrolladores DeFi: Foundry es tu mejor aliado. Usa fuzzing para probar invariantes de protocolos complejos. Forkea mainnet para simular interacciones con Uniswap, Aave o Compound antes de desplegar. Aprende más sobre el ecosistema en nuestra guía ¿Qué es DeFi?.
  • Para equipos que inician proyectos: Foundry reduce el tiempo de configuración. Con forge init tienes un proyecto funcional en segundos. La integración con Ethers.js es posible, pero considera usar Cast para interacciones rápidas desde terminal.
  • Para desarrolladores que migran desde Hardhat: No necesitas abandonar Hardhat. Muchos equipos usan ambos: Hardhat para scripts de despliegue complejos e integración con frontend, y Foundry para testing rápido y exhaustivo. Puedes mantener ambos frameworks en el mismo proyecto.
  • Para auditors de seguridad: Foundry se ha convertido en la herramienta estándar para auditorías. Su velocidad permite ejecutar miles de tests en segundos, y el fuzzing ayuda a descubrir vulnerabilidades ocultas. El depurador interactivo (forge test --debug) es invaluable para entender por qué falla un test.

🔮 El futuro de Foundry: Tendencias y evolución

  • Integración más profunda con Foundry: Las herramientas de Foundry seguirán integrándose con el ecosistema Rust de Ethereum, incluyendo clientes como Reth y frameworks de ejecución.
  • Estandarización en testing: forge-std se está convirtiendo en el estándar de facto para tests en Solidity, con utilidades cada vez más completas (console.log, cheatcodes avanzados, gestión de tiempos).
  • Mejoras en el ecosistema de plugins: La comunidad está construyendo activamente plugins y extensiones para Foundry, reduciendo la brecha con Hardhat.
  • Adopción en capa 2 y redes alternativas: Foundry funciona perfectamente con cualquier red EVM, incluyendo Arbitrum, Optimism, Polygon y redes basadas en Substrate con capa de compatibilidad EVM.

🎯 Conclusión: El nuevo estándar de desarrollo para contratos inteligentes

Foundry ha cambiado las reglas del juego en el desarrollo de smart contracts. Su enfoque en velocidad, tests en Solidity y herramientas unificadas ha elevado el estándar de calidad en el ecosistema. No es casualidad que los proyectos DeFi más importantes y las auditorías más rigurosas hayan adoptado Foundry como su herramienta principal.

Para el desarrollador, Foundry no es solo una herramienta más: es un cambio de paradigma que permite escribir tests más expresivos, encontrar bugs más rápido y desplegar con mayor confianza. La combinación de Forge, Cast, Anvil y Chisel cubre todo el ciclo de vida del desarrollo, desde la primera línea de código hasta la interacción en producción. Si aún no lo has probado, estás perdiendo una de las herramientas más potentes del ecosistema.

❓ Preguntas Frecuentes sobre Foundry


📚 ¿Quieres profundizar en desarrollo blockchain?

Amplía tus conocimientos con estas guías esenciales:

🔧 Tutorial de MetaMask - Aprende a conectar tus dApps con wallets de usuarios.

🏗️ ¿Qué son los Smart Contracts? - El fundamento sobre el que construirás con Foundry.

Ethers.js - La librería que complementa a Foundry para interactuar desde JavaScript.

🔐 Guía de Seguridad Crypto - Buenas prácticas para desarrollar dApps seguras.

📊 ¿Qué es DeFi? - Entiende el ecosistema donde Foundry es más utilizado.


🚀 Herramientas para desarrolladores

Optimiza tu flujo de trabajo con estas herramientas:

🧪 Ganache - Alternativa a Anvil para nodos locales (aunque Anvil es más rápido).

⚙️ Calculadora de Comisiones - Útil para estimar costes de gas en tus despliegues.

📊 Simulador DCA - Para entender estrategias de inversión mientras desarrollas.


📋 ¿Por qué confiar en esta definición? Cada término de la Cryptopedia sigue una metodología de verificación con fuentes primarias, whitepapers y legislación oficial. Conoce nuestro proceso →


⚠️ Disclaimer: Este artículo es informativo y educativo para desarrolladores. Foundry es una herramienta en activo desarrollo. Las versiones y comandos pueden cambiar. Realiza siempre pruebas exhaustivas y auditorías de seguridad antes de desplegar contratos en producción. Este contenido no constituye asesoramiento profesional en desarrollo de software.

📅 Actualizado: Marzo 2026
📖 Categoría: Infraestructura Blockchain / Tooling y Desarrollo

« Volver al Glosario
Scroll al inicio