메타마스크에서 ERC20계열 코인을 전송했는데, 가스비는 소모되었는데 특정 메세지가 뜨며 Fail이라고 나옵니다. 해결방안을 알려주실 수 있나요?
안녕하세요.
메타마스크에서 방금 ERC20코인을 업비트로 출금신청을 하였으나, 가스비는 소모되었음에도 불구하고 Failed라고 듭니다.
자세한 메세지는,
Warning! Error encountered during contract execution [Out of gas]
ERC-20 Token Transfer Error (Unable to locate Corresponding Transfer Event Logs), Check with Sender.
이라고 뜨는데요.
이럴 경우에는 어떤 문제때문에 전송이 불가능한건가요? 답변 미리 감사드립니다.
안녕하세요. 질문 주신 에러내용을 살펴보니 가스비 설정 문제는 아닌 것으로 보입니다.
ERC20 토큰을 메타마스크에서 업비트 거래소로 전송 시 아래 내용에 대해 잘 살펴보시고 전송을 다시 한번 해보시기 바랍니다.
토큰이 락업이 되어있는지 확인해보기
토큰이 전부 혹은 일부가 락업되어 있을 수 있으니 확인을 해보시기 바랍니다.
보유한 토큰 잔액보다 많은 수량이 입력 되었는지 확인해보기
메타마스크의 경우 최대 버튼만 눌러 전송하는 경우 기존에 가지고 있는 토큰의 양보다 조금 더 많이 책정이 되는 경우가 있어 전송 시 오류가 발생될 수도 있습니다.
메타마스크에 추가된 토큰의 Contract Adress와 Decimals 가 정확한지 확인해 보기
위 3가지 사항을 다시한번 확인해 보신 뒤 전송을 시도해보시기 바랍니다.
해당 오류의 경우는 트랜젝션의 브로드캐스팅은 성공했으나 가스 한도에 도달(Out of Gas)하여 트랜젝션이 완전히 처리되지 못하고 취소되는 경우를 의미합니다.
좀 더 자세히 설명드리자면, 이더리움 블록체인에서 트랜젝션을 처리하기 위해서는 적절한 가스비를 지불하는 것도 중요하지만 가스 한도도 중요합니다.
트랜젝션이 EVM을 통해 연산될 때(채굴자들이 트랜젝션을 처리할 때) 지불한 가스비가 소모되는데요, 트랜젝션이 완전하게 처리되기 전에 가스 한도에 도달해 버리면 더 이상 연료가 없기 때문에 차가 멈추듯 트랜젝션의 처리가 멈추고 원상태(트랜젝션이 일어나지 않은 상태)로 복구되어 버립니다.
즉, 트랜젝션이 완전히 처리 되지 못하고 취소되어 버리는 것입니다. 트랜젝션이 취소되는 이유는 완전히 처리되지 못한 불완전한 거래를 블록체인에 기록할 수 없기 때문입니다.
그러나 이 경우에도 지불한 가스비는 채굴자들에게 수수료로 지급됩니다. 또한 이 오류는 가스 한도를 보다 넉넉히 설정하는 것으로 해결할 수 있습니다.
답변이 도움이 되길 바랍니다.