ethers.js
Connectez-vous à 256 Blocks en utilisant ethers.js v6
ethers.js est une bibliothèque complète et compacte pour interagir avec la blockchain Ethereum et son écosystème. Ce guide couvre ethers.js v6.
Installation
npm install ethersOu avec yarn :
yarn add ethersDémarrage Rapide
Connectez-vous à 256 Blocks en utilisant l'en-tête X-API-Key avec FetchRequest :
import { ethers, FetchRequest } from 'ethers';
// Create a FetchRequest with custom headers
const fetchRequest = new FetchRequest('https://rpc.256blocks.com/ethereum');
fetchRequest.setHeader('X-API-Key', 'your-api-key');
// Create the provider
const provider = new ethers.JsonRpcProvider(fetchRequest);
// Get the latest block number
const blockNumber = await provider.getBlockNumber();
console.log('Latest block:', blockNumber);Lecture du Solde d'un Compte
import { ethers, FetchRequest } from 'ethers';
const fetchRequest = new FetchRequest('https://rpc.256blocks.com/ethereum');
fetchRequest.setHeader('X-API-Key', 'your-api-key');
const provider = new ethers.JsonRpcProvider(fetchRequest);
// Get account balance
const address = '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb';
const balance = await provider.getBalance(address);
console.log('Balance:', ethers.formatEther(balance), 'ETH');Lecture des Données de Contrats
import { ethers, FetchRequest } from 'ethers';
const fetchRequest = new FetchRequest('https://rpc.256blocks.com/ethereum');
fetchRequest.setHeader('X-API-Key', 'your-api-key');
const provider = new ethers.JsonRpcProvider(fetchRequest);
// ERC-20 ABI (minimal)
const erc20Abi = [
'function balanceOf(address account) view returns (uint256)',
'function decimals() view returns (uint8)',
'function symbol() view returns (string)'
];
// USDC contract on Ethereum
const usdcAddress = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
const contract = new ethers.Contract(usdcAddress, erc20Abi, provider);
const balance = await contract.balanceOf('0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb');
const decimals = await contract.decimals();
const symbol = await contract.symbol();
console.log(`Balance: ${ethers.formatUnits(balance, decimals)} ${symbol}`);Support Multi-Chaînes
Connectez-vous à différentes chaînes en changeant le point de terminaison :
import { ethers, FetchRequest } from 'ethers';
function createProvider(chain: string, apiKey: string) {
const fetchRequest = new FetchRequest(`https://rpc.256blocks.com/${chain}`);
fetchRequest.setHeader('X-API-Key', apiKey);
return new ethers.JsonRpcProvider(fetchRequest);
}
// Create providers for different chains
const ethProvider = createProvider('ethereum', 'your-api-key');
const baseProvider = createProvider('base', 'your-api-key');
const arbProvider = createProvider('arbitrum', 'your-api-key');
const polygonProvider = createProvider('polygon', 'your-api-key');