ethers.js

ethers.js v6를 사용하여 256 Blocks에 연결하세요

ethers.js는 이더리움 블록체인 및 그 생태계와 상호작용하기 위한 완전하고 간결한 라이브러리입니다. 이 가이드는 ethers.js v6를 다룹니다.

설치

npm install ethers

또는 yarn으로:

yarn add ethers

빠른 시작

FetchRequest와 함께 X-API-Key 헤더를 사용하여 256 Blocks에 연결하세요:

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

계정 잔액 조회

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

컨트랙트 데이터 조회

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}`);

멀티체인 지원

엔드포인트를 변경하여 다른 체인에 연결하세요:

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

리소스

ethers.js | 256 Blocks