Klaytn rpc의 debug_traceBlockByNumber 결과

안녕하세요 클레이튼 rpc인 debug_traceBlockByNumber의 결과에 대해 여쭙고자 합니다.

환경: Cypress
바이너리: ken v1.9.1
요청 Body:

{
    "jsonrpc": "2.0",
    "method": "debug_traceBlockByNumber",
    "id": 1000,
    "params": [100126177, {"tracer": "callTracer"}]
}

결과:

{
    "jsonrpc": "2.0",
    "id": 1000,
    "result": [
        ...,
        {
            "txHash": "0x906997bc1f35f72b474438cf0e94e037f562386d14aea45e82481809c9abbcca",
            "result": {
                "type": 0,
                "from": "0x",
                "to": "0x",
                "value": "0x0",
                "gas": "0x0",
                "gasUsed": "0x0",
                "input": "0x",
                "output": "0x",
                "time": 0
            }
        },
        ...,
    ]
}

조회시 결과에 있는 0x906997bc1f35f72b474438cf0e94e037f562386d14aea45e82481809c9abbcca
트랜잭션은 일반 value transfer type의 트랜잭션입니다.
해당 트랜잭션의 result 값을 보면 from, to, value가 전부 0x0으로 나오는데
인터널 트랜잭션이 아닌 일반 트랜잭션의 경우에는 0x0으로 나오게 되어있는건가요?

환경: 이더리움 메인넷
이더리움 Geth의 debug_traceBlockByNumber 결과:

{
    "jsonrpc": "2.0",
    "id": 1000,
    "result": [
        ...,
        {
            "result": {
                "type": "CALL",
                "from": "0xc0ee6beee2c82d54fedae0e67bfb105b5139b045",
                "to": "0x8627c9cc43f36ccb0ab5ec1ae05e845734af2c55",
                "value": "0x235035b2a29080",
                "gas": "0x0",
                "gasUsed": "0x0",
                "input": "0x",
                "output": "0x"
            }
        },
        ...,
    ]
}

위의 trace 결과는 이더리움 메인넷의 0xb646402877c284dc1dbb5d25058471ec4d23d89fdef8871216a060c891a2cc08
트랜잭션입니다.
이더리움의 Geth의 경우엔 이더 transfer의 트랜잭션의 경우 trace 결과에 from, to, value 값이 나오는데
클레이튼의 경우엔 다르게 나오는 것 같아 문의드립니다!

클레이튼의 클레이 입금을 잡으려고 하는데 trace 결과가 이더와 차이가 있는것같아 말씀드립니다.

감사합니다!

@Jun 안녕하세요,

우선, 글을 남겨주셔서 감사합니다. 말씀하신대로 value transfer type의 경우에 0x0값으로 채워지게 나오도록 되어있습니다. 말씀하신 정보들은 trace없이 얻을 수 있는 정보들이여서, 따로 trace 결과에는 기록되지않습니다.

Geth에서도 원래 보여주고 있지않았으나, 업데이트가 된걸로 보여집니다. 이더리움과의 호환성을 위해 추후에 변경을 고려해보도록 하겠습니다.

감사합니다.

3 Likes

답변 주셔서 감사합니다.
이더리움과 호환성을 위해 변경이 되면 좋을 것 같습니다.

감사합니다 :smiley: