이더스캔은 블록에 기록된 내용을 보여주지만 보다 그 내용을 직관적으로 이해할수 있도록 구성한 정보를 제공한다. 오래된 프로덕트임에도 계속 새로운 기능이 추가되는거 같다. 트랜잭션과 블록정보에 대한 가독성은 최신의 다른 익스플로러보다 떨어진다고 생각할 수 있지만 이미 이더스캔을 오래 사용해온 사람들에겐 이 구조가 익숙하다.
Explorer에서 트랜잭션의 Status(상태)를 어떻게 구분하고 어떤 방식으로 정보를 표기했는지를 중점으로 보았다. (2022년 1월 기준)
예시는 눈에 보이는 아무 트랜잭션이나 사용했습니다.
트랜잭션 Details
- Transaction Action은 앞의💡표시처럼 트랜잭션의 하이라이트를 의미한다.
- Transaction Action은 실행한 함수(Method)를 기준으로
Add Liquidity는
Supply
Remove Liquidity는Remove
모든 Swap함수는Swap
으로 표시하는 듯 하다.
- Transaction Action중 Swap은 클릭가능하여 이더스캔의 Dex Trading 페이지로 연결된다.
- Token Transfered 필드와 Transaction Fee 필드 옆에 달러로 표시된 가격은 현재 기준으로 표시되어 있으나 클릭시 트랜잭션 당일 가격으로 표시된다.
Ethplorer와의 비교
- 본 트랜잭션이 Swap이란 것이 표기되지는 않는다. 내부 트랜잭션 정보에서 각각 Transfer라는건 알 수 있다.
- 한글 지원을 하고, 이더스캔에 비해 제공하지 않는 상세 내용이 있어서(로그, call) 대략적인 내용을 보기에 적합하다.
Blockchair와의 비교
- 트랜잭션 영수증을 PDF로 다운 받을 수 있다. (영어로 받아야 글자가 깨지지 않음)
이미지 보려면 클릭
- 한글을 지원하지만 트랜잭션 상세정보에 대한 가독성이 좋지 않다. 다만 실제 저장되는 정보인 V,R,S나 타입, 인덱스 등을 함께 표시한다.
Success: 트랜잭션 성공(?)
A. 정상 처리된 트랜잭션
To의 컨트랙트 주소 옆, 그리고
Status
의 ✅ 표시는 트랜잭션이 실행 완료 되었음을 의미한다Tokens Transferred
완료된 트랜잭션이므로 Tokens Transferred 필드가 추가된다.
Private Note
실행중 실패한 트랜잭션까지는 이더스캔에서 로그인후 Private Note를 이용할 수 있지만, drop되거나 아직 실행되지 않은 트랜잭션은 이용불가능하다.
B. Success이나 Reverted
Status
는 Success이지만 To 필드에 아래 같이 표시되고 일부 트랜잭션이 reverted 되었다는것을 표시한다.트랜잭션 리스트에도 주황색으로 [!]표시
이때 어디에서 revert가 발생했는지 알아보려면 Tenderly앱을 이용 할 수 있다.
Pending: 보류중인 트랜잭션
펜딩 트랜잭션은 아직 블록에 담기지 않은(보류중인) 트랜잭션이며 가스비가 적을경우 오래동안 펜딩 트랜잭션으로 남아 처리가 지연되기도한다.
펜딩 상태임을 알 수 있는 가장 쉬운 방법은, 트랜잭션 정보 오른쪽 상단에 아래와 같은 애니메이션이 있는지 확인하는 것이다.
A. Status: Duplicate Nonce
이더리움은 같은 계정일때 논스 값이 작은(먼저 요청된) 트랜잭션 순서대로 처리되기때문에 트랜잭션 하나가 펜딩되는 경우 그 뒤의 트랜잭션도 함께 펜딩된다.
위 처럼 같은 계정에서 여러 트랜잭션이 펜딩중인경우에는
Duplicate Nonce
라표시되고 뒤이어 함께 펜딩된 트랜잭션의 링크( #1, #2, #3)를 표시해준다.Gas Tracker
Etimated Cofirmation Duration에서 Gas Tracker 링크를 함께 표시한 이유는 가스비가 현재 평균보다 부족할 수록 컨펌 시간이 지연되므로 거래가 빨리 처리되길 바란다면 가스비를 올려야하기 때문이라 생각된다.
Gas Tracker에서는 다음과 같이 실시간 가스 비용을 안내하고 있다.
B. Status: Pending
일반적인 펜딩 트랜잭션
만약 앞선 펜딩 트랜잭션에 의해 영향을 받은 트랜잭션이라면 함께 펜딩된 트랜잭션에는 노란 손바닥🤚 표시가 있다. 잠깐 멈춰있다는 의미 인듯하다.
Time First Seen
오랫동안 펜딩상태를 지속중인 트랜잭션에는 Time First Seen 필드가 추가되고, Estimated Confirmation Duration 필드에서 Learn more about Canceling/Replacing txns 링크(트랜잭션을 취소하거나 대체하는 방법이 설명된 링크)를 함께 안내하고 있다.
그러나 펜딩 된지 24시간이 지났을때와 그렇지 않을때 Estimated Confirmation Duration 필드에 표시되는 메시지가 조금 다르다.
(트랜잭션 목록에서도 눈 모양 버튼을 클릭해 추가 정보를 확인 할 수 있다.)
Dropped
Status:
Dropped
옆의 [i]를 클릭하면 추가 정보를 제공하는 페이지가 열린다.
Dropped and Replaced
Fail 실패한 트랜잭션
To에 해당하는 컨트랙트 옆의 ⚠️를 마우스로 확인해보니 트랜잭션 실행중 에러가 발생했음을 안내하고 있다.
컨트랙트 주소 아래에 적힌 메시지를 통해서는 실행중 에러를 통해 [Reverted]되었음을 강조하고 있다.
Status에 적힌
EXCESSIVE_INPUT_AMOUNT
및 INSUFFICIENT_OUTPUT_AMOUNT
는 슬리피지와 관련된 에러인데, 스왑하고자하는 토큰의 양에 비해 유동성이 부족할때 발생한다. 단순 에러메시지를 통한 안내보다는 좀 더 친절히 설명할 수 있겠다는 생각이 든다.B. Status: Fail
실패하여 Reverted 된 트랜잭션
Transactions 트랜잭션 목록
트랜잭션 목록 화면의 우측 상단에서 실행완료된 트랜잭션, 펜딩 트랜잭션, 실패한 트랜잭션, input, output 트랜잭션을 필터링 할 수 있으며,
컨트랙트 계정의 트랜잭션 목록에서는 실패한 트랜잭션 필터링은 활성화되지 않는다.
그리고 Txn Fee 속성 옆의 초록색 전구 아이콘은 EIP-1559 호환 트랜잭션이다.
필터중 View Contract Creation를 선택하면 해당 컨트랙트 생성시의 트랜잭션을 볼수 있다.