01학습
2026년 5월Hardhat 학습 환경 정리 노트
CryptoZombies/Hardhat 샘플을 관찰자 시점으로 분석해 표준 셋업과 흔한 함정을 정리한 학습 문서
이 프로젝트에서의 OpenZeppelin 활용
ERC20/ERC721/Ownable 등 표준 컨트랙트 구현체 참조
study-docs프로젝트 자세히 보기 →
프로젝트 1개에서 사용했습니다. 각 프로젝트에서 어떤 역할로 썼는지 아래에 정리했습니다.
감사받은 표준 스마트 컨트랙트를 제공하는 오픈소스 솔리디티 라이브러리
OpenZeppelin은 이더리움 등 EVM 기반 블록체인에서 스마트 컨트랙트를 개발할 때 사용하는 오픈소스 라이브러리로, ERC20·ERC721 같은 토큰 표준과 접근 제어, 보안 유틸리티를 재사용 가능한 형태로 제공한다. 스마트 컨트랙트는 배포 후 코드 수정이 사실상 불가능하고 버그가 곧바로 자산 손실로 이어질 수 있기 때문에, 검증되지 않은 코드를 매번 새로 작성하는 위험을 줄이기 위해 만들어졌다. 커뮤니티와 보안 전문가들의 감사를 거친 구현체를 제공함으로써 개발자가 표준 로직을 직접 짜지 않고도 안전하게 상속·조합해 쓸 수 있게 한다.
ERC20과 Ownable을 상속받아, 전송·잔액 조회 같은 표준 토큰 기능과 소유자만 추가 발행할 수 있는 권한 제어를 동시에 갖춘 토큰 컨트랙트를 구현한다.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract MyToken is ERC20, Ownable {
constructor(uint256 initialSupply)
ERC20("MyToken", "MTK")
Ownable(msg.sender)
{
_mint(msg.sender, initialSupply);
}
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}
}위 개요는 기술 학습을 돕기 위해 자동 생성된 일반 설명입니다. 정확한 사양과 최신 정보는 공식 문서를 확인하세요.
위 개념이 실제 프로젝트에서 어떻게 쓰였는지 보여줍니다.
CryptoZombies/Hardhat 샘플을 관찰자 시점으로 분석해 표준 셋업과 흔한 함정을 정리한 학습 문서
이 프로젝트에서의 OpenZeppelin 활용
ERC20/ERC721/Ownable 등 표준 컨트랙트 구현체 참조
위 프로젝트들에서 같이 쓰인 다른 기술입니다.