Déployer un contrat avec Foundry ou Hardhat
Déployez Hello.sol sur un réseau EVM avec Foundry ou Hardhat 2, vérifiez le Chain ID, et inspectez le reçu de transaction et la réponse du contrat.
Sélectionner le réseau
Suivez le guide d'intégration de la chaîne cible (accessible via les Chaînes prises en charge) pour créer network.mjs et exporter RPC_URL et CHAIN_ID. Les guides par chaîne lisent le Chain ID et la politique des méthodes depuis GET /v1/chains et expliquent le gas token, si un RPC de diffusion séparé est requis, ainsi que les paramètres de déploiement spécifiques à la chaîne.
Choisissez l'un des outils ci-dessous. Tous deux déploient le même petit contrat sans arguments de constructeur.
Approvisionnez l'adresse de déploiement avec le gas token natif du réseau sélectionné. Définissez DEPLOYER_PRIVATE_KEY de manière sécurisée dans votre environnement local ; ne la commitez jamais. Les commandes suivantes diffusent une transaction et dépensent du gas.
Créez Hello.sol sans arguments de constructeur :
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
contract Hello {
event Ping(address indexed sender);
function ping() external { emit Ping(msg.sender); }
function hello() external pure returns (string memory) {
return "hello";
}
}Foundry
Dans un projet Foundry initialisé, placez le contrat sous src/Hello.sol et utilisez ce fichier foundry.toml :
[profile.default]
src = "src"
out = "out"
libs = ["lib"]
solc_version = "0.8.24"
evm_version = "paris"
[rpc_endpoints]
target = "${RPC_URL}": "${RPC_URL:?Set RPC_URL}" "${CHAIN_ID:?Set CHAIN_ID}" "${DEPLOYER_PRIVATE_KEY:?Set deployer key}"
test "$(cast chain-id --rpc-url "$RPC_URL")" = "$CHAIN_ID" || exit 1
forge build
forge create src/Hello.sol:Hello --rpc-url target \
--chain "$CHAIN_ID" --private-key "$DEPLOYER_PRIVATE_KEY" --broadcastConservez le hash de transaction et l'adresse déployée. Utilisez cast receipt "$TX_HASH" --rpc-url "$RPC_URL" pour inspecter l'inclusion et le statut, puis cast call "$CONTRACT_ADDRESS" "hello()(string)" --rpc-url "$RPC_URL" pour lire le contrat. Définissez ces deux variables à partir de la sortie du déploiement.
Hardhat 2 avec ethers 6
Dans un projet CommonJS distinct (npm init -y), installez npm install --save-dev hardhat@2 @nomicfoundation/hardhat-ethers@3 ethers@6. Placez le même contrat sous contracts/Hello.sol. Enregistrez ceci sous hardhat.config.cjs :
require('@nomicfoundation/hardhat-ethers');
const { RPC_URL, CHAIN_ID, DEPLOYER_PRIVATE_KEY } = process.env;
if (!RPC_URL || !/^[1-9][0-9]*$/.test(CHAIN_ID ?? '') || !DEPLOYER_PRIVATE_KEY) {
throw new Error('Set RPC_URL, CHAIN_ID and DEPLOYER_PRIVATE_KEY');
}
module.exports = {
solidity: { version: '0.8.24', settings: { evmVersion: 'paris' } },
networks: {
target: { url: RPC_URL, chainId: Number(CHAIN_ID), accounts: [DEPLOYER_PRIVATE_KEY] },
},
};Créez le répertoire scripts et enregistrez sous scripts/deploy.cjs :
const { ethers } = require('hardhat');
async function main() {
const contract = await ethers.deployContract('Hello');
console.log(contract.deploymentTransaction().hash);
await contract.waitForDeployment();
console.log(await contract.getAddress());
}
main().catch(error => { console.error(error); process.exitCode = 1; });npx hardhat compile
npx hardhat run scripts/deploy.cjs --network targetLe chainId du réseau est vérifié auprès du RPC. Consultez les paramètres de réseau Hardhat 2 et les paramètres Foundry (consulté le : 2026-10-07).
Lire les événements
Définissez LOG_ADDRESS avec l'adresse déployée. Suivez la méthode de lecture des événements indiquée dans le guide de la chaîne cible (abonnement WebSocket ou interrogation HTTP par segments, selon le champ ws de la chaîne dans /v1/chains) pour lire les événements Ping après avoir appelé ping().
Dernière mise à jour :
Choisir un fournisseur RPC
Évaluez les coûts des méthodes RPC, les plages de logs, les crédits gratuits, les limites de débit, la couverture des chaînes, les API push et de données, l'authentification et l'accès des agents avec des auto-tests de charge de travail.
Prix quotidiens DEX
Interrogez les prix OHLC et le VWAP quotidiens des DEX depuis la Data API, gérez les fractions rationnelles exactes en TypeScript et Python, et rattrapez efficacement les données historiques.