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 ethers

Atau dengan yarn:

yarn add ethers

Mulai 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');

Sumber Daya

ethers.js | 256 Blocks