Déployer un contrat intelligent sur Bitroot : Hardhat, Foundry, Remix
Bitroot est compatible EVM : les outils que vous utilisez déjà pour Ethereum s'y déploient sans couche d'adaptation. Il vous suffit de modifier la configuration réseau. Cette page présente Hardhat, Foundry et Remix.
1. Avant de commencer
- Ajoutez le réseau à votre portefeuille et relevez l'URL RPC et l'ID de chaîne sur BRTSCAN : Ajouter Bitroot à MetaMask.
- Réclamez des BRT de testnet pour payer le gaz : Guide du robinet de testnet.
- Conservez l'URL RPC, l'ID de chaîne et la clé du déployeur dans des variables d'environnement. Ne les versionnez pas.
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],
},
},
};
Déployez avec votre script habituel :
npx hardhat run scripts/deploy.js --network bitrootTestnet
3. Foundry
foundry.toml :
[rpc_endpoints]
bitroot_testnet = "${BITROOT_RPC_URL}"
Le déploiement utilise la même commande que sur n'importe quelle chaîne EVM :
forge create src/MyContract.sol:MyContract \
--rpc-url $BITROOT_RPC_URL \
--private-key $DEPLOYER_PRIVATE_KEY
4. Remix
Dans le panneau « Deploy & Run Transactions », choisissez « Injected Provider - MetaMask ». Tant que MetaMask est connecté à Bitroot, la compilation, le déploiement et les appels de contrats fonctionnent exactement comme sur Ethereum.
5. Vérifier le déploiement
Ouvrez l'adresse de votre contrat sur BRTSCAN (https://devnet.bitroot.co/overview) et vérifiez le code source en suivant le parcours indiqué, afin que les autres utilisateurs puissent lire le code et appeler les méthodes en lecture seule depuis l'explorateur.
6. Pièges à vérifier
- Mauvaise chaîne. Comparez l'ID de chaîne à l'exécution, comme indiqué dans le guide du réseau, afin qu'une faute de frappe dans un fichier de configuration ne puisse pas envoyer un déploiement vers un autre réseau.
- Hypothèses sur les précompilés. Les contrats Solidity standard se compilent et se déploient sans modification. Les contrats qui dépendent d'adresses de précompilés propres à Ethereum nécessitent une vérification.
- Limites de gaz dans les lots. Estimez le gaz des opérations par lots avant les exécutions en production, pour qu'une limite par transaction trop basse ne provoque pas d'échecs partiels.
- Clés. Un fichier
.enven clair est acceptable pour le débogage sur testnet. Les déploiements en production doivent utiliser un portefeuille matériel ou une conservation MPC.
7. Étapes suivantes
- Appeler des modèles IA depuis un contrat : voir la section sur l'EVM natif IA du Guide développeur.
- Comprendre comment l'exécution parallèle traite vos transactions : Approches de l'exécution parallèle.