01학습
2026년 5월Hardhat 학습 환경 정리 노트
CryptoZombies/Hardhat 샘플을 관찰자 시점으로 분석해 표준 셋업과 흔한 함정을 정리한 학습 문서
이 프로젝트에서의 ethers.js 활용
RPC 호출 및 트랜잭션 서명, 컨트랙트와의 상호작용
study-docs프로젝트 자세히 보기 →
프로젝트 1개에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.
이더리움과 상호작용할 수 있게 해주는 자바스크립트/타입스크립트 라이브러리
ethers.js는 이더리움 블록체인 노드에 RPC로 접속하여 잔액 조회, 트랜잭션 전송, 스마트 컨트랙트 호출 등을 코드로 수행할 수 있게 해주는 라이브러리다. 웹 애플리케이션이나 스크립트에서 개인키 서명, 트랜잭션 생성, ABI 기반 컨트랙트 호출처럼 반복적이고 저수준인 작업을 직접 구현하지 않아도 되도록 표준화된 인터페이스를 제공한다. 프론트엔드에서 지갑과 연동하거나, 백엔드/스크립트에서 노드와 직접 통신하는 두 가지 시나리오 모두를 지원한다.
로컬 이더리움 노드에 provider로 연결한 뒤, 계정 잔액과 컨트랙트의 읽기 전용 함수를 호출하는 기본 흐름을 보여준다.
const { ethers } = require("ethers");
// 로컬 노드에 연결하는 provider 생성
const provider = new ethers.JsonRpcProvider("http://127.0.0.1:8545");
async function main() {
// 계정 잔액 조회
const balance = await provider.getBalance("0xYourAddress");
console.log("balance:", ethers.formatEther(balance), "ETH");
// ABI와 주소로 컨트랙트 인스턴스 생성 후 함수 호출
const abi = ["function totalSupply() view returns (uint256)"];
const contract = new ethers.Contract("0xContractAddress", abi, provider);
const supply = await contract.totalSupply();
console.log("totalSupply:", supply.toString());
}
main();위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.
위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.
CryptoZombies/Hardhat 샘플을 관찰자 시점으로 분석해 표준 셋업과 흔한 함정을 정리한 학습 문서
이 프로젝트에서의 ethers.js 활용
RPC 호출 및 트랜잭션 서명, 컨트랙트와의 상호작용
위 프로젝트들에서 같이 쓰인 다른 기술입니다.