Skip to main content
Hardhat으로 Solidity 컨트랙트를 StableNet Testnet에 배포하고 Explorer에서 확인합니다.

배우는 내용

이 튜토리얼을 완료하면 다음을 할 수 있습니다:
  • StableNet Testnet을 위한 Hardhat과 hardhat.config.js 구성
  • Hardhat 배포 스크립트로 WKRC 결제 컨트랙트 배포
  • StableNet Explorer에서 배포 확인

사전 준비

  • Node.js ≥ 18 — node --version으로 확인
  • Faucet에서 테스트넷 WKRC 받기

Hardhat 프로젝트 생성

프롬프트에서 “Create a JavaScript project” 를 선택합니다.
개인 키를 .env 파일에 저장하고 .gitignore에 추가하세요. 버전 관리 시스템에 커밋하지 마세요.

hardhat.config.js 설정

hardhat.config.js 내용을 교체합니다:
evmVersioncancun으로 설정하지 마세요. StableNet은 blob 옵코드(BLOBHASH, BLOBBASEFEE)를 지원하지 않습니다. paris 또는 shanghai를 사용하세요.

WKRCPayment.sol 작성

기본 파일을 삭제하고 contracts/WKRCPayment.sol을 생성합니다:

배포 스크립트 작성

scripts/deploy.js를 생성합니다:
모든 배포와 전송 호출에 maxPriorityFeePerGasmaxFeePerGas를 전달해야 합니다. Hardhat은 네트워크 적용 최솟값을 자동으로 가져오지 않아, 생략하면 트랜잭션이 거부됩니다.

Testnet에 배포

블록 포함까지 최대 1~2분이 걸릴 수 있습니다. waitForDeployment()가 멈춘 것처럼 보이면 트랜잭션은 이미 멤풀에 있습니다. 취소 후 재시도하지 마세요 — 논스 충돌이 발생할 수 있습니다.

Explorer에서 확인

explorer.stablenet.network를 열고 컨트랙트 주소를 검색합니다. 상태가 SuccessContract Creation 트랜잭션을 확인할 수 있습니다.

다음 단계

Foundry로 배포하기

Foundry의 forgecast로 같은 컨트랙트를 배포합니다.

이벤트 구독하기

WebSocket으로 온체인 이벤트를 구독합니다.

RPC API 레퍼런스

지원되는 JSON-RPC 메서드 전체 목록.

수수료 위임

별도 계정이 사용자 대신 가스를 납부하게 합니다.