안녕하세요. (고언어를 이용하여 사용 중입니다.)
getTransactionByHash 명령 전송시 응답에러가 발생해 문의드립니다.
BSC, POLYGON, HECO… 등등 정상인데 클레이튼만 에러가 발생하네요.
에러명 : missing required field ‘v’ for txdata
안녕하세요. Klaytn 개발자 Aidan입니다.
전달주신 내용으로는 문제 상황을 재현하거나 정확한 원인분석하기 어려울 것 같습니다. 아래에 있는 관련 내용을 확인하시고, 에러가 발생한 상황에 대한 좀 더 상세한 정보를 주시면 추가답변 드릴 수 있을것 같습니다.
-
Klaytn node에서 출력되는 에러인지 확인 부탁드립니다.
missing required field ‘v’ for txdata
는 Klaytn node에서getTransactionByHash
의 응답으로 출력하는 메시지가 아닙니다. 해당 에러는 Klaytn node의 JSON 리턴을 unmarshalling하는 과정에서 발생하는 것으로 추정됩니다. Klaytn node JSON 리턴값을 먼저 확인 부탁드립니다. -
에러가 Client에서 발생한다면, Klaytn Client를 사용하시는지 확인부탁드립니다.
missing required field ‘v’ for txdata
는 현재 Klaytn Client에서 발생하지 않는 에러입니다. 최신 Klaytn client를 사용하고 있는지 확인 부탁드립니다.
덧하여, 만약 Baobab이나 Cypress 네트워크에서 getTransactionByHash
로 조회하시다 오류가 발생한 것이라면 parameter를 포함한 전체 명령어를 알려주시면 재현을 통해 확인할 수 있을것 같습니다.
감사합니다.
JSON 리턴을 확인하니 클레이튼만 구조가 달라서 그런듯 합니다.
ETH에서 구조는
{
“jsonrpc”: “2.0”,
“id”: 1,
“result”: {
“blockHash”: “0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35”,
“blockNumber”: “0x5bad55”,
“from”: “0x398137383b3d25c92898c656696e41950e47316b”,
“gas”: “0x1d45e”,
“gasPrice”: “0xfa56ea00”,
“hash”: “0xbb3a336e3f823ec18197f1e13ee875700f08f03e2cab75f0d0b118dabb44cba0”,
“input”: “0xf7d8c88300000000000000000000000000000000000000000000000000000000000cee6100000000000000000000000000000000000000000000000000000000000ac3e1”,
“nonce”: “0x18”,
“r”: “0x2a378831cf81d99a3f06a18ae1b6ca366817ab4d88a70053c41d7a8f0368e031”,
“s”: “0x450d831a05b6e418724436c05c155e0a1b7b921015d0fbc2f667aed709ac4fb5”,
“to”: “0x06012c8cf97bead5deae237070f9587f8e7a266d”,
“transactionIndex”: “0x11”,
“v”: “0x25”,
“value”: “0x1c6bf526340000”
}
}
이렇게 되어 있는데 클레이튼은
{
“jsonrpc”:“2.0”,
“id”:1,
“result”:{
“blockHash”:“0x4d97cf1f686a925ed4f1ad42c635cedb54974fe23a2941c7825e1ed3163c0e41”,
“blockNumber”:“0x7008”,
“feePayer”:“0xa9d2cc2bb853163b6eadfb6f962d72f7e00bc2e6”,
“feePayerSignatures”:[
{
“V”:“0x4e44”,
“R”:“0xa665e17d92e1c671c8b062cecb19790d49138a21854fc15c460c91035b1884e”,
“S”:“0x17165688acc01736f1221a39399e3aac7e1ece14731fcab31631e3e4a59b7441”
}
],
“from”:“0xab0833d744a8943fe3c783f9cc70c13cbd70fcf4”,
“gas”:“0xdbba0”,
“gasPrice”:“0x5d21dba00”,
“hash”:“0xaca5d9a1ed8b86b1ef61431b2bedfc99a66eaefc3a7e1cffdf9ff53653956a67”,
“nonce”:“0x26”,
“senderTxHash”:“0x18fe9e1007da7d20aad77778557fb8acc58c80054daba65124c8c843aadd3478”,
“signatures”:[
{
“V”:“0x4e44”,
“R”:“0x1b6bb3d996d903d0528565d13e8d9d122b2220ed09c5baf384114193a6977027”,
“S”:“0x20c506ce9f1bdd42183c40c44f414a3930f339f856e8be3cfcdf5ca0852fd378”
}
],
“to”:“0x15a9119104e1bf0ec6d408b3cc188685e4402a2c”,
“transactionIndex”:“0x0”,
“type”:“TxTypeFeeDelegatedValueTransfer”,
“typeInt”:9,
“value”:“0x1”
}
}
이렇게 구조가 달라서 그런듯 합니다.
답변 감사합니다.