[Solidity] Transaction Information

냐옹·2023년 8월 17일
0

Solidity

목록 보기
12/13
post-thumbnail

왜 이걸 하게 되었나요

컨트랙트를 짜다가 디버깅을 해야하는데, 당연히 트랜잭션 정보를 볼 줄 알아야하는데, 잘 볼줄을 몰라서 이 참에 한번 공부해보려고 합니다.


자 트랜잭션이 이렇게 있다.

from: 0x5B3...eddC4to: QVEcore.sendNftToContract(uint256) 0x7EF...8CB47value: 0 weidata: 0xd41...00000logs: 1hash: 0x8d6...7c4fd

status true Transaction mined and execution succeed
해석 트랜잭션이 성공적으로 완료되었다.

transaction hash 0x8d65128820bca09d465dbc7b5af3b3f7d326d35eff21f0fdb7a9484a21b7c4fd
해석 트랜잭션 해시

block hash 0x422c621dfb2f48780f9930cd631462f21716d5e31c56a9ecb30836f028622dfe
해석 블록해시

block number 10
해석 블록번호

from 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4
해석 보내는 주소

to QVEcore.sendNftToContract(uint256) 0x7EF2e0048f5bAeDe046f6BF797943daF4ED8CB47
해석 받는 주소(컨트랙트의 함수), 왜냐하면 이 트랜잭션은 NFT를 컨트랙트로 보내는 함수이기 때문입니다.

gas 179553 gas
해석 사용된 가스

transaction cost 136933 gas
해석 트랜잭션 비용

execution cost 125341 gas
해석 실행비용

input 0xd41...00000
해석 전송된 값

decoded input {
"uint256 tokenId": "0"
}
해석 입력데이터는 인코딩되어있습니다. 이건 디코딩된 버전이고 여기에 따르면 uint256 tokenId에 0이 입력인자로 들어갔습니다.

decoded output {
"0": "address: investor 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
"1": "uint256: investedAmount 1000000000000000000",
"2": "uint256: profit 0",
"3": "uint256: strategyId 99"
}
해석 디코딩된 출력,
해석 투자자 주소 : ~~
해석 투자된 금액 1이더
해석 이익은 0
해석 전략 번호는 99

logs
[
{
"from": "0xd8b934580fcE35a11B58C6D73aDeE468a2833fa8",
"topic": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"event": "Transfer",
"args": {
"0": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
"1": "0x7EF2e0048f5bAeDe046f6BF797943daF4ED8CB47",
"2": "0",
"from": "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
"to": "0x7EF2e0048f5bAeDe046f6BF797943daF4ED8CB47",
"tokenId": "0"
}
}
]
해석 로그입니다.
해석보면 from 0xd8b934580fcE35a11B58C6D73aDeE468a2833fa8에서 로그가 발생했습니다. 여기서 이벤트의 이름은 Transfer입니다.
해석
from 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4 에서 to 0x7EF2e0048f5bAeDe046f6BF797943daF4ED8CB47(컨트랙트의 함수)로 tokenId가 0인 NFT가 전송된 것을 알 수 있습니다.

profile
developer

1개의 댓글

comment-user-thumbnail
2023년 8월 17일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기