Los tokens de prueba son activos gratuitos y sin valor emitidos en redes de prueba para que los desarrolladores puedan ejercitar contratos inteligentes, billeteras y dApps sin arriesgar fondos reales. Esta guía explica el modelo mental detrás de los tokens de prueba, cómo obtenerlos de faucets o acuñar tu propio ERC-20, y cómo ejecutar un procedimiento de validación reproducible. También cubre la verificación, la solución de problemas y las ventajas y desventajas de depender de testnets públicas frente a entornos privados o dedicados.
Qué son los tokens de prueba y qué cubre esta guía
Los tokens de prueba son activos de blockchain que existen solo en una testnet, una red paralela que imita el comportamiento de la mainnet pero utiliza una moneda sin valor. Te permiten desplegar contratos, simular transferencias y probar flujos de billetera sin gastar dinero real. A diferencia de los tokens de producción, los tokens de prueba no tienen valor de mercado y nunca deben tratarse como una inversión.
Esta guía cubre el ciclo de vida completo: obtener tokens de prueba de faucets, acuñar tu propio ERC-20 de prueba, usarlos en scripts, verificar los resultados esperados y solucionar fallos comunes. Se asume que tienes una billetera básica, acceso a un endpoint RPC de testnet y familiaridad con las transacciones al estilo Ethereum. Para la selección de endpoints, consulta la guía de endpoints RPC.
- Los tokens de prueba son gratuitos y específicos de cada red; no se transfieren a la mainnet.
- Los faucets suelen limitar las solicitudes por dirección y por red.
- Puedes acuñar tu propio token de prueba si necesitas un suministro o comportamiento personalizado.
Requisitos previos y supuestos
Antes de comenzar, asegúrate de tener una billetera con una clave privada que controles (nunca uses una clave de mainnet), una URL RPC de testnet y una pequeña cantidad de token nativo de gas de testnet (por ejemplo, ETH de testnet). También necesitarás Node.js y npm si planeas ejecutar ejemplos en JavaScript, o Python 3 con web3.py para ejemplos en Python.
Todos los ejemplos de código utilizan marcadores de posición como RPC_URL y PRIVATE_KEY. Reemplázalos con tus propios valores. Nunca confirmes claves privadas en el control de versiones.
Cómo funcionan los tokens de prueba: faucets, acuñación y aislamiento de red
Los tokens de prueba provienen de dos fuentes principales: faucets y autoacuñación. Los faucets son servicios que entregan pequeñas cantidades de tokens de prueba nativos o ERC-20 a una dirección de billetera, generalmente con límites de frecuencia. Son convenientes para tokens estándar como USDC de testnet o ETH envuelto. La autoacuñación implica desplegar tu propio contrato ERC-20 en una testnet y llamar a su función mint; esto te da control total sobre el suministro y el comportamiento del token.
Las testnets están aisladas de la mainnet: una transacción en Sepolia no afecta a la mainnet de Ethereum, y los tokens de prueba no se pueden transferir a la mainnet mediante puentes. Este aislamiento es lo que los hace seguros para la experimentación. Sin embargo, los operadores de la red pueden reiniciar el estado de la testnet, así que no dependas de los tokens de prueba para persistencia a largo plazo.
- Los faucets son mejores para tokens nativos de gas y stablecoins comunes.
- Los tokens autoacuñados son mejores para lógica personalizada, control de acceso o grandes suministros.
- Verifica siempre el ID de cadena de la testnet antes de enviar transacciones.
Obtener tokens de prueba de un faucet
Los flujos de trabajo de los faucets varían, pero la mayoría requieren que conectes una billetera o pegues una dirección, selecciones una red y solicites tokens. Algunos faucets requieren autenticación o un saldo mínimo en la billetera para prevenir abusos. Después de solicitar, espera a que se confirme la transacción y verifica tu saldo.
El siguiente ejemplo de curl consulta una API de faucet genérica (reemplaza FAUCET_URL y ADDRESS con valores reales). Esto es ilustrativo; no todos los faucets exponen una API pública.
curl -X POST "FAUCET_URL/request" \
-H "Content-Type: application/json" \
-d '{"address":"ADDRESS","network":"sepolia"}'Acuñar tu propio ERC-20 de prueba: contrato y despliegue
Si necesitas un token de prueba personalizado, despliega un contrato ERC-20 mínimo en una testnet. A continuación se muestra un contrato Solidity con una función mint abierta para pruebas. No lo uses en producción.
Compila y despliega usando Hardhat o Remix. Después del despliegue, llama a mint con tu dirección y la cantidad deseada.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract TestToken is ERC20 {
constructor() ERC20("TestToken", "TEST") {}
function mint(address to, uint256 amount) external {
_mint(to, amount);
}
}Usar tokens de prueba en un script de JavaScript
Una vez que tengas tokens de prueba, puedes interactuar con ellos usando ethers.js. El siguiente script se conecta a un RPC de testnet, verifica el saldo de un ERC-20 de prueba y transfiere tokens a otra dirección. Reemplaza TOKEN_ADDRESS, RECIPIENT y PRIVATE_KEY con tus valores.
Ejecuta con node script.js. Asegúrate de que la billetera tenga suficiente token nativo de gas para la transferencia.
const { ethers } = require("ethers");
const provider = new ethers.JsonRpcProvider("RPC_URL");
const wallet = new ethers.Wallet("PRIVATE_KEY", provider);
const tokenAddress = "TOKEN_ADDRESS";
const abi = ["function balanceOf(address) view returns (uint256)", "function transfer(address,uint256) returns (bool)"];
const token = new ethers.Contract(tokenAddress, abi, wallet);
async function main() {
const balance = await token.balanceOf(wallet.address);
console.log("Balance:", ethers.formatUnits(balance, 18));
const tx = await token.transfer("RECIPIENT", ethers.parseUnits("1", 18));
await tx.wait();
console.log("Transfer confirmed");
}
main().catch(console.error);Verificar los resultados esperados con una tabla de resultados
Después de ejecutar tu prueba, registra los resultados en una tabla de resultados para comparar el comportamiento esperado con el real. A continuación se muestra una plantilla; completa tus propias mediciones. No inventes números: ejecuta el procedimiento y registra los valores reales.
| Caso de prueba | Resultado esperado | Resultado real | Aprobado/Fallido |
|---|---|---|---|
| Solicitud al faucet | Tokens recibidos en 2 minutos | ||
| Saldo del token | El saldo es igual a la cantidad acuñada | ||
| Transferencia | El saldo del destinatario aumenta en la cantidad | ||
| Estimación de gas | La transacción se completa con gas suficiente |
Usa esta tabla para documentar cada ejecución e identificar regresiones.
Solución de problemas comunes con tokens de prueba
Los problemas comunes incluyen límites de frecuencia de los faucets, gas insuficiente, red incorrecta y contratos no verificados. Si un faucet devuelve un error, verifica el límite de frecuencia e inténtalo de nuevo más tarde. Si una transacción falla, asegúrate de que la billetera tenga gas nativo de testnet y que la dirección del contrato del token sea correcta.
Para errores relacionados con RPC, verifica que el endpoint responda y apunte al ID de cadena correcto. Puedes probar la conectividad con un simple curl a la URL RPC.
- Límite del faucet excedido: espera el período de enfriamiento.
- Transacción revertida: verifica el saldo del token y el gas.
- Red incorrecta: confirma el ID de cadena en la billetera y el RPC.
- Contrato no encontrado: verifica la dirección y la testnet.
Limitaciones y compensaciones de las testnets públicas
Las testnets públicas son gratuitas pero conllevan compensaciones: límites de frecuencia, faucets poco confiables y reinicios ocasionales de la red. Pueden no reflejar los costos de gas o la congestión de la mainnet. Para pruebas intensivas, considera una testnet privada o un entorno de nodo dedicado. OnFinality ofrece servicios de nodo dedicado que pueden proporcionar entornos de prueba aislados.
Los tokens de prueba no tienen valor monetario y nunca deben usarse en producción. Audita siempre los contratos antes del despliegue en la mainnet.
Próximos pasos: de los tokens de prueba a la preparación para producción
Después de validar con tokens de prueba, pasa a un entorno de staging que imite de cerca la mainnet. Utiliza proveedores RPC confiables tanto para testnet como para mainnet. Explora el servicio API y los precios de RPC de OnFinality para una infraestructura escalable. Para guías específicas de redes, consulta redes compatibles.
Para recomendaciones de endpoints, consulta los artículos del Asistente RPC como mejor API RPC de Ethereum y guía de Solana devnet.