Tx Doctor / EVM 리버트 사전 / 가스 부족
EVM 오류: 가스 부족
호출이 끝나기 전에 가스 한도를 다 써서 EVM이 모든 상태를 되돌렸습니다. 가스는 그대로 청구됩니다.
원인
- 가스 한도가 오래된 추정치에서 왔습니다. 견적과 실행 사이에 풀이나 토큰 상태가 바뀌었습니다.
- 상태에 따라 길이가 달라지는 루프에 걸렸습니다(보상 대량 청구, 일괄 전송).
- 컨트랙트가 업그레이드되어 로직 비용이 올라갔습니다.
- 롤업에서는 L1 데이터 비용이 별도입니다. L2 가스 한도가 낮고 calldata가 많으면 실패합니다.
해결 방법
- 가스 한도를 현재 추정치의 1.3~1.5배로 올려 다시 시도하세요.
- 일괄 작업을 여러 거래로 나누세요.
- 스왑은 제출 직전에 다시 견적을 내 추정치를 풀 상태에 맞추세요.
- 같은 호출이 예전에 성공했다면 컨트랙트 업그레이드를 의심하고 구현 주소를 확인하세요.
지갑·익스플로러에서 보이는 모습
Warning! Error encountered during contract execution [out of gas]
지금 이 문제가 발생했나요? 트랜잭션 해시를 붙여 넣으면 체인을 자동으로 찾아 실제 실패 원인을 디코딩합니다.
내 트랜잭션 진단하기