Desplegar un contrato inteligente en Bitroot: Hardhat, Foundry, Remix
Bitroot es compatible con EVM, así que las herramientas que ya usas para Ethereum despliegan en ella sin una capa de adaptación. Solo cambias la configuración de red. Esta página recorre Hardhat, Foundry y Remix.
1. Antes de empezar
- Agrega la red a tu billetera y anota la RPC URL y el Chain ID de BRTSCAN: Agregar Bitroot a MetaMask.
- Reclama BRT de testnet para pagar el gas: Guía del faucet de testnet.
- Guarda la RPC URL, el Chain ID y la clave del desplegador en variables de entorno. No las incluyas en commits.
2. Hardhat
hardhat.config.js:
module.exports = {
solidity: "0.8.24",
networks: {
bitrootTestnet: {
url: process.env.BITROOT_RPC_URL, // current RPC URL from BRTSCAN
chainId: Number(process.env.BITROOT_CHAIN_ID), // current Chain ID from BRTSCAN
accounts: [process.env.DEPLOYER_PRIVATE_KEY],
},
},
};
Despliega con tu script habitual:
npx hardhat run scripts/deploy.js --network bitrootTestnet
3. Foundry
foundry.toml:
[rpc_endpoints]
bitroot_testnet = "${BITROOT_RPC_URL}"
El despliegue usa el mismo comando que en cualquier cadena EVM:
forge create src/MyContract.sol:MyContract \
--rpc-url $BITROOT_RPC_URL \
--private-key $DEPLOYER_PRIVATE_KEY
4. Remix
En el panel «Deploy & Run Transactions», elige «Injected Provider - MetaMask». Mientras MetaMask esté conectado a Bitroot, compilar, desplegar y llamar a contratos funciona igual que en Ethereum.
5. Verifica el despliegue
Abre la dirección de tu contrato en BRTSCAN (https://devnet.bitroot.co/overview) y verifica el código fuente siguiendo el flujo que se muestra allí, para que otros usuarios puedan leer el código y llamar a los métodos de solo lectura desde el explorador.
6. Errores comunes que conviene revisar
- Cadena equivocada. Compara el Chain ID en tiempo de ejecución, como se muestra en la guía de red, para que un error de escritura en un archivo de configuración no envíe un despliegue a otra red.
- Supuestos sobre precompilados. Los contratos Solidity estándar se compilan y despliegan sin cambios. Los contratos que dependen de direcciones de precompilados específicas de Ethereum requieren una revisión.
- Límites de gas en lotes. Estima el gas de las operaciones por lotes antes de ejecutarlas en producción, para que un límite bajo por transacción no provoque fallos parciales.
- Claves. Un
.enven texto plano es aceptable para depurar en testnet. Los despliegues en producción deberían usar una billetera de hardware o custodia MPC.
7. Próximos pasos
- Llama a modelos de IA desde un contrato: consulta la sección del EVM nativo de IA en la Guía para desarrolladores.
- Entiende cómo trata la ejecución paralela tus transacciones: Enfoques de ejecución paralela.