ethers.js
Terhubung ke 256 Blocks menggunakan ethers.js v6
ethers.js adalah pustaka lengkap dan ringkas untuk berinteraksi dengan blockchain Ethereum dan ekosistemnya. Panduan ini mencakup ethers.js v6.
Instalasi
npm install ethersAtau dengan yarn:
yarn add ethersMulai Cepat
Terhubung ke 256 Blocks menggunakan header X-API-Key dengan 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);Membaca Saldo Akun
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');Membaca Data Kontrak
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}`);Dukungan Multi-Chain
Terhubung ke chain yang berbeda dengan mengubah endpoint:
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');