Skip to main content
Foundry의 forgecast를 사용해 Solidity 컨트랙트를 StableNet Testnet에 배포합니다.

배우는 내용

이 튜토리얼을 완료하면 다음을 할 수 있습니다:
  • StableNet Testnet을 위한 Foundry 프로젝트 구성
  • forge script로 WKRC 결제 컨트랙트 배포
  • cast send로 컨트랙트 함수를 호출하고 Explorer에서 결과 확인

사전 준비

  • Foundry 설치 — forge --version으로 확인. 미설치 시:
  • Faucet에서 테스트넷 WKRC 받기

프로젝트 생성

foundry.toml 설정

foundry.toml에 StableNet Testnet 엔드포인트를 추가합니다:

WKRCPayment.sol 작성

기본 파일을 삭제하고 src/WKRCPayment.sol을 생성합니다:
컴파일해서 오류가 없는지 확인합니다:

배포 스크립트 작성

script/DeployWKRCPayment.s.sol을 생성합니다:

Testnet에 배포

개인 키를 버전 관리 시스템에 커밋하지 마세요. .env 파일에 저장하고 .gitignore에 추가하세요.
Contract Address를 저장하세요 — 다음 단계에서 필요합니다.
StableNet은 GovValidator 컨트랙트가 설정한 최소 priority fee를 적용합니다. 모든 forge scriptcast send 호출에 --priority-gas-price 27600000000000을 전달하세요.

WKRC 승인 후 결제

pay()를 호출하기 전에 배포한 컨트랙트가 지갑의 WKRC를 사용할 수 있도록 승인해야 합니다:
승인 한도가 소비됐는지 확인합니다:

Explorer에서 확인

explorer.stablenet.network를 열고 컨트랙트 주소를 검색합니다. 배포 트랜잭션, WKRC 컨트랙트에서의 approve 호출, 로그에 Payment 이벤트가 포함된 pay 호출을 확인할 수 있습니다.

다음 단계

Hardhat으로 배포하기

Hardhat과 ethers.js로 같은 컨트랙트를 배포합니다.

이벤트 구독하기

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

RPC API 레퍼런스

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

수수료 위임

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