web3-testing
Testear contratos inteligentes con Hardhat
Escribir pruebas exhaustivas para contratos inteligentes es complejo y requiere mucho tiempo. Esta habilidad proporciona patrones listos para usar para pruebas unitarias, pruebas de integración, fuzzing, optimización de gas y bifurcación de mainnet utilizando Hardhat y Foundry.
Descargar el ZIP de la skill
Subir en Claude
Ve a Configuración → Capacidades → Skills → Subir skill
Activa y empieza a usar
Pruébalo
Usando "web3-testing". Escribe una prueba unitaria de Hardhat para un contrato de token ERC20
Resultado esperado:
- Prueba de implementación: Verifica la asignación del owner y el suministro total
- Prueba de transferencia: Confirma las transferencias de tokens entre cuentas
- Prueba de eventos: Verifica las emisiones de eventos Transfer y Approval
- Prueba de saldo: Valida los cambios de saldo después de las transferencias
- Prueba de tiempo: Prueba la funcionalidad de liberación de tokens con bloqueo temporal
Usando "web3-testing". Crea una prueba de Foundry para transferencias de tokens con fuzzing
Resultado esperado:
- Prueba fuzz: Prueba transferencias con cantidades aleatorias dentro del rango válido
- Prueba de límites: Maneja cantidades de transferencia cero y máximas
- Prueba de prank: Simula diferentes direcciones de remitente
- Prueba de eventos: Verifica los eventos Transfer emitidos con los parámetros correctos
Auditoría de seguridad
SeguroDocumentation-only skill containing code examples and best practices for smart contract testing. Static findings are false positives triggered by blockchain testing terminology (prank, fork, deal), environment variable references demonstrating secure secret handling patterns, and markdown code block syntax. The skill teaches recommended security practices and has no executable code, network calls, or file access capabilities.
Factores de riesgo
🔑 Variables de entorno (1)
Puntuación de calidad
Lo que puedes crear
Configurar suites de pruebas
Crear suites de pruebas exhaustivas para contratos de Solidity usando patrones de Hardhat y Foundry.
Validar integraciones DeFi
Probar contratos inteligentes contra bifurcaciones de mainnet de protocolos DeFi existentes como Uniswap.
Hacer fuzzing en lógica de contratos
Usar fuzzing de Foundry para descubrir casos límite y vulnerabilidades potenciales en contratos inteligentes.
Prueba estos prompts
Escribe una prueba unitaria de Hardhat para un contrato de token ERC20 que pruebe la implementación, transferencias y eventos de aprobación.
Crea una prueba de integración para un contrato de staking que pruebe los flujos de depósito, reclamación de recompensas y retiro usando Hardhat.
Escribe una prueba que bifurque Ethereum mainnet y pruebe la funcionalidad de swap de Uniswap V2 con una bifurcación del token DAI.
Crea una prueba de comparación de gas entre dos implementaciones diferentes de la misma función de contrato inteligente usando el reporter de gas de Hardhat.
Mejores prácticas
- Usa fixtures para evitar duplicación de código en múltiples casos de prueba
- Apunta a al menos 90% de cobertura de pruebas en funciones críticas de contratos
- Prueba casos límite como direcciones cero, valores máximos y escenarios de reentrada
Evitar
- Evita probar múltiples escenarios no relacionados en una sola función de prueba
- No uses bifurcación de mainnet en todas las pruebas - resérvalas para escenarios de integración
- Evita hardcodear claves privadas o secretos en archivos de prueba
Preguntas frecuentes
¿Qué frameworks de pruebas están soportados?
¿Cuál es la cobertura máxima de pruebas recomendada?
¿Puede esta habilidad interactuar directamente con mainnet?
¿Están seguros mis datos de clave privada?
¿Por qué mis pruebas fallan con errores de timeout?
¿Cómo se diferencia Foundry de Hardhat?
Detalles del desarrollador
Autor
wshobsonLicencia
MIT
Repositorio
https://github.com/wshobson/agents/tree/main/plugins/blockchain-web3/skills/web3-testingRef.
main
Estructura de archivos
📄 SKILL.md