이더리움 블록체인에서 트랜잭션 해시(Transaction Hash, txHash)는 특정 트랜잭션을 식별하는 고유한 문자열입니다. 이 값을 통해 트랜잭션의 상태, 보낸 사람, 받는 사람, 수수료, 블록 포함 여부 등을 추적할 수 있습니다. 이 글에서는 txHash를 추적하는 방법을 단계별로 설명하고, 이를 통해 확인할 수 있는 정보들을 소개합니다.
1. 트랜잭션 해시(txHash)란?
txHash는 트랜잭션 데이터의 Keccak-256 해시값으로, 고유한 식별자 역할을 합니다. 일반적으로 66자리 16진수(0x로 시작) 형태입니다. 예:
0x9b6e26899f6a49ecf2a08c801f5b8f3b4dc1e117a849bc95732f877c0b10e302
이 해시는 이더리움 블록체인 탐색기(Etherscan 등)에서 트랜잭션을 조회하는 데 사용됩니다.
2. txHash 추적을 위한 도구: Etherscan
Etherscan은 이더리움 블록체인의 모든 트랜잭션을 실시간으로 확인할 수 있는 탐색기입니다. 이 사이트에서 txHash를 검색하면 다음 정보를 확인할 수 있습니다:
- Status: 트랜잭션 성공 여부 (Success / Fail / Pending)
- Block: 포함된 블록 번호
- Timestamp: 트랜잭션 발생 시간
- From / To: 보내는 주소와 받는 주소
- Value: 전송된 ETH 또는 토큰 양
- Gas Fee: 사용된 가스 및 수수료 총액
- Input Data: 스마트 계약에 전달된 데이터
3. txHash 추적하는 단계별 방법
- Etherscan 사이트 접속 (etherscan.io)
- 상단 검색창에 트랜잭션 해시(txHash)를 붙여넣고 검색
- 결과 페이지에서 트랜잭션 상태 및 세부 정보 확인
예시
txHash: 0x9b6e26899f6a49ecf2a08c801f5b8f3b4dc1e117a849bc95732f877c0b10e302 (가정)
- Status: Success
- From: 0xabc…123
- To: 0xdef…456
- Value: 1.25 ETH
- Gas Used: 21,000
- Gas Price: 50 Gwei
4. JSON-RPC로 직접 txHash 확인하기
개발자라면 이더리움 노드에 JSON-RPC를 통해 직접 트랜잭션 정보를 요청할 수 있습니다.
curl -X POST https://mainnet.infura.io/v3/YOUR_PROJECT_ID \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"method":"eth_getTransactionByHash",
"params":["0x9b6e26899f6a49ecf2a08c801f5b8f3b4dc1e117a849bc95732f877c0b10e302"],
"id":1
}'
이 결과를 통해 트랜잭션의 모든 정보(블록 번호, 보낸 사람, 입력 데이터 등)를 JSON 형식으로 확인할 수 있습니다.
5. txHash 확인 시 주의사항
- txHash는 트랜잭션이 생성된 직후에만 유효하며, 잘못된 값은 조회가 되지 않음
- Pending 상태일 경우 블록에 포함되기 전이라 아직 처리되지 않았음
- ERC-20 또는 NFT 트랜잭션은 로그(Event Log) 탭에서 추가 확인 필요
결론
txHash란?: 트랜잭션의 고유한 해시값으로, 해당 거래의 상태와 상세 정보를 확인하는 데 사용됩니다.
추적 도구: Etherscan 등 블록 탐색기를 사용하면 누구나 트랜잭션을 조회할 수 있습니다.
확인 가능한 정보: 트랜잭션 상태, 보낸/받는 주소, 금액, 가스비, 입력 데이터 등
개발자 방법: JSON-RPC 인터페이스로 직접 조회할 수 있으며, 자동화 및 분석에 유용합니다.
트랜잭션 해시 추적은 블록체인의 투명성을 잘 보여주는 예로, 사용자 입장에서도 거래 확인 및 문제 해결에 매우 유용한 수단입니다.