web3-testing
Hardhat로 스마트 컨트랙트 테스트하기
스마트 컨트랙트를 위한 포괄적인 테스트를 작성하는 것은 복잡하고 시간이 많이 걸립니다. 이 스킬은 Hardhat과 Foundry를 사용한 단위 테스트, 통합 테스트, 퍼징, 가스 최적화, 메인넷 포킹을 위한 즉시 사용 가능한 패턴을 제공합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"web3-testing" 사용 중입니다. ERC20 토큰 컨트랙트에 대한 Hardhat 단위 테스트 작성
예상 결과:
- 배포 테스트: 소유자 할당 및 총 공급량 검증
- 전송 테스트: 계정 간 토큰 전송 확인
- 이벤트 테스트: Transfer 및 Approval 이벤트 발생 확인
- 잔액 테스트: 전송 후 잔액 변경 검증
- 시간 테스트: 시간 잠금 토큰 해제 기능 테스트
"web3-testing" 사용 중입니다. 퍼징이 포함된 토큰 전송에 대한 Foundry 테스트 생성
예상 결과:
- 퍼징 테스트: 유효 범위 내에서 무작위 금액으로 전송 테스트
- 경계 테스트: 0 및 최대 전송 금액 처리
- 프랭크 테스트: 다른 발신자 주소 시뮬레이션
- 이벤트 테스트: 올바른 매개변���로 발생한 Transfer 이벤트 검증
보안 감사
안전Documentation-only skill containing code examples and best practices for smart contract testing. Static findings are false positives triggered by blockchain testing terminology (prank, fork, deal), environment variable references demonstrating secure secret handling patterns, and markdown code block syntax. The skill teaches recommended security practices and has no executable code, network calls, or file access capabilities.
위험 요인
🔑 환경 변수 (1)
품질 점수
만들 수 있는 것
테스트 스위트 설정
Hardhat과 Foundry 패턴을 사용하여 Solidity 컨트랙트를 위한 포괄적인 테스트 스위트 생성
DeFi 통합 검증
Uniswap과 같은 라이브 DeFi 프로토콜의 메인넷 포크로 스마트 컨트랙트 테스트
컨트랙트 로직 퍼징
Edge case와 잠재적 취약점을 발견하기 위해 Foundry 퍼징 사용
이 프롬프트를 사용해 보세요
배포, 전송, 승인 이벤트를 테스트하는 ERC20 토큰 컨트랙트에 대한 Hardhat 단위 테스트 작성
Hardhat을 사용하여 예금, 보상 청구, 출금 흐름을 테스트하는 스테이킹 컨트랙트에 대한 통합 테스트 생성
이thereum 메인넷을 포크하고 DAI 토큰 포크를 사용하여 Uniswap V2 스왑 기능 테스트
Hardhat 가스 리포터를 사용하여 동일한 스마트 컨트랙트 함수의 두 가지 다른 구현 간의 가스 비교 테스트 생성
모범 사례
- 테스트 중복 코드를 피하기 위해 픽스처 사용
- 중요한 컨트랙트 함수에서 최소 90% 테스트 커버리지 목표로 설정
- 0 주소, 최대값, 재진입 시나리오와 같은 엣지 케이스 테스트
피하기
- 단일 테스트 함수에서 관련 없는 여러 시나리오 테스트하지 않기
- 모든 테스트에서 메인넷 포킹 사용하지 않기 - 통합 시나리오에만 사용
- 테스트 파일에 개인 키 또는 시크릿 하드코딩하지 않기