web3.js
web3.js를 사용하여 256 Blocks에 연결하세요
web3.js는 이더리움 노드와 상호작용하기 위한 라이브러리 모음을 제공하는 최초의 이더리움 JavaScript API입니다. 이 가이드는 web3.js v4를 다룹니다.
설치
npm install web3또는 yarn으로:
yarn add web3빠른 시작
HttpProvider와 함께 X-API-Key 헤더를 사용하여 256 Blocks에 연결하세요:
import { Web3, HttpProvider } from 'web3';
// Configure provider with custom headers
const httpOptions = {
providerOptions: {
headers: {
'X-API-Key': 'your-api-key'
}
}
};
// Create the provider and Web3 instance
const provider = new HttpProvider('https://rpc.256blocks.com/ethereum', httpOptions);
const web3 = new Web3(provider);
// Get the latest block number
const blockNumber = await web3.eth.getBlockNumber();
console.log('Latest block:', blockNumber);계정 잔액 조회
import { Web3, HttpProvider } from 'web3';
const httpOptions = {
providerOptions: {
headers: {
'X-API-Key': 'your-api-key'
}
}
};
const provider = new HttpProvider('https://rpc.256blocks.com/ethereum', httpOptions);
const web3 = new Web3(provider);
// Get account balance
const address = '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb';
const balance = await web3.eth.getBalance(address);
console.log('Balance:', web3.utils.fromWei(balance, 'ether'), 'ETH');컨트랙트 데이터 조회
import { Web3, HttpProvider } from 'web3';
const httpOptions = {
providerOptions: {
headers: {
'X-API-Key': 'your-api-key'
}
}
};
const provider = new HttpProvider('https://rpc.256blocks.com/ethereum', httpOptions);
const web3 = new Web3(provider);
// ERC-20 ABI (minimal)
const erc20Abi = [
{
name: 'balanceOf',
type: 'function',
stateMutability: 'view',
inputs: [{ name: 'account', type: 'address' }],
outputs: [{ name: '', type: 'uint256' }]
},
{
name: 'decimals',
type: 'function',
stateMutability: 'view',
inputs: [],
outputs: [{ name: '', type: 'uint8' }]
}
];
// USDC contract on Ethereum
const usdcAddress = '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48';
const contract = new web3.eth.Contract(erc20Abi, usdcAddress);
const balance = await contract.methods.balanceOf('0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb').call();
const decimals = await contract.methods.decimals().call();
// Convert balance to human-readable format
const formattedBalance = Number(balance) / Math.pow(10, Number(decimals));
console.log('USDC Balance:', formattedBalance);멀티체인 지원
엔드포인트를 변경하여 다른 체인에 연결하세요:
import { Web3, HttpProvider } from 'web3';
function createWeb3(chain, apiKey) {
const httpOptions = {
providerOptions: {
headers: {
'X-API-Key': apiKey
}
}
};
const provider = new HttpProvider(`https://rpc.256blocks.com/${chain}`, httpOptions);
return new Web3(provider);
}
// Create Web3 instances for different chains
const ethWeb3 = createWeb3('ethereum', 'your-api-key');
const baseWeb3 = createWeb3('base', 'your-api-key');
const arbWeb3 = createWeb3('arbitrum', 'your-api-key');
const polygonWeb3 = createWeb3('polygon', 'your-api-key');