Tools/faucet4Testing — 테스트넷·로컬 체인 Faucet과 ERC20 워크벤치
water_dropBlockchain2026-04-25· 2분 읽기

faucet4Testing — 테스트넷·로컬 체인 Faucet과 ERC20 워크벤치

BTC Testnet4 · ETH Sepolia · SOL Devnet · 로컬 Hardhat — 잔고 조회·받기 요청·ERC20(FAUCET/USDT) 배포·민트·Admin 대시보드까지 한 화면에서

list목차(6)
💧

faucet4Testing

테스트 자산을 받고, 로컬 ERC20을 배포·민트하고, Admin 대시보드에서 잔고를 한눈에 확인하는 통합 테스트 환경.

왜 만들었나

지갑·DApp 개발 중 매번 흩어진 faucet 사이트를 돌아다니고, 로컬 Hardhat 계정에 USDT 같은 ERC20을 직접 배포·민트해서 시나리오를 만드는 게 번거로웠습니다. 자주 쓰는 테스트 체인(BTC Testnet4 · ETH Sepolia · SOL Devnet)과 로컬 Hardhat을 한 UI에서 다루도록 묶었습니다.

주요 기능

  • Faucet 페이지: 네트워크·토큰 선택 → Faucet 잔고 표시 → 주소 입력·검증 → "받기" 시 Resend로 이메일 전송
  • Admin 대시보드: 로컬 RPC(8545) 연결, Hardhat 기본 20계정의 ETH·토큰 잔고, 직접 전송, 지갑 생성
  • ERC20 워크벤치: FaucetToken(18 decimals), FaucetUSDT(6 decimals) 배포·민트·전송 스크립트와 bin/ 셸 래퍼
  • 로컬 노드: Hardhat node를 백그라운드로 띄우고 같은 체인에서 배포·민트·확인

구성

구분기술
스마트 컨트랙트Solidity 0.8 + OpenZeppelin ERC20/Ownable
체인 툴Hardhat 3 · viem
프론트·APINext.js (App Router)
지원 체인Bitcoin Testnet4 · Ethereum Sepolia · Solana Devnet · 로컬 Hardhat

디렉터리

faucet4Testing/
├── hardhat/
│   ├── contracts/
│   │   ├── FaucetToken.sol
│   │   └── FaucetUSDT.sol
│   ├── scripts/        # deploy / mint / transfer
│   └── bin/            # hardhat-node.sh, setup-usdt-localhost.sh ...
├── local-dashboard/    # Next.js 대시보드
│   ├── app/page.tsx              # Faucet 홈
│   ├── app/admin/page.tsx        # Admin (계정·잔고)
│   └── app/api/                  # rpc 프록시, faucet 받기, 지갑 생성
└── scripts/faucet-sepolia-daily/ # Puppeteer + Chainstack API 자동화

흐름 한 줄 요약

  1. bin/hardhat-node.sh로 로컬 노드(8545) 띄움
  2. setup-usdt-localhost.sh로 FaucetUSDT 배포·민트 한 번에
  3. Admin 대시보드에서 Hardhat 20 계정의 ETH·USDT 잔고 확인 → 필요한 곳으로 전송
  4. 퍼블릭 테스트넷이 필요하면 Faucet 홈에서 주소 입력 후 받기

회고

"테스트용"이라는 단서가 붙으면 개발자가 무리해서 자체 도구를 만들지 않는 경향이 있는데, 막상 만들고 나니 PoC·QA·교육 자료 어디서든 매일 쓰게 됐습니다. 작은 자동화의 ROI를 다시 한 번 확인한 프로젝트.

More in Blockchain