Hardhat 개발 환경 설정하기
마루 네트워크에서 스마트 컨트랙트를 컴파일, 테스트, 배포하기 위해 Hardhat 프로젝트를 구성하는 단계별 가이드입니다.
마루는 EVM 호환이라 표준 Hardhat 프로젝트가 마루 전용 패치 없이 그대로 동작합니다. 이 가이드는 마루 테스트넷을 가리키는 새 Hardhat 프로젝트를 만드는 과정을 다룹니다.
사전 요구사항
- Node.js (18+)
- 실행 중인 로컬 마루 테스트넷 또는 공개 테스트넷 접근 권한.
1. Hardhat 프로젝트 초기화
먼저 새 프로젝트 디렉토리를 만들고 그 안에 샘플 Hardhat 프로젝트를 초기화합니다.
mkdir maroo-project
cd maroo-project
npm init -y
npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox
npx hardhat 참고:
npx hardhat 프롬프트가 나타나면 최상의 개발 경험을 위해 'Create a TypeScript project'를 선택합니다. 2. `hardhat.config.ts` 설정
마루 테스트넷에 연결할 수 있도록 Hardhat을 설정합니다.
hardhat.config.ts를 열고 네트워크 항목을 추가하며, 개인 키는 .env에서 가져옵니다(절대 커밋 금지).import { HardhatUserConfig } from "hardhat/config";
import "@nomicfoundation/hardhat-toolbox";
import * as dotenv from 'dotenv';
dotenv.config();
const PRIVATE_KEY = process.env.PRIVATE_KEY || "";
const config: HardhatUserConfig = {
solidity: "0.8.22",
networks: {
maroo_testnet: {
url: "https://rpc-testnet.maroo.io",
chainId: 450815, // Mainnet: 815
accounts: PRIVATE_KEY ? [PRIVATE_KEY] : [],
},
},
};
export default config; 주의: 개인 키를 절대 Git에 커밋하지 마십시오. 환경 변수(
.env 파일)를 사용해 안전하게 관리합니다. 테스트넷 자금은 파우셋에서 요청합니다. 3. 컴파일 및 배포
설정이 완료되었으므로 컴파일하고 배포합니다. Hardhat의 샘플 프로젝트에는
Lock.sol 컨트랙트와 배포 스크립트가 함께 제공됩니다.# 계약 컴파일
npx hardhat compile
# 마루 테스트넷에 배포
npx hardhat run scripts/deploy.ts --network maroo_testnet 마무리
Hardhat 프로젝트가 마루 테스트넷에 연결됐습니다. 이더리움 메인넷에서 쓰던 동일한 프로젝트 구조, 플러그인, 테스트가 그대로 적용됩니다.