caver 로 NFT 컨트랙트 주소를 통해 데이터를 받아오는 중에 다음과 같은 에러 메세지가 나왔다.
{"_code": 1040400, "_message": "[ResourceNotFound]not found nft", "_requestId": "8f011c9a-f0de-936d-9206-db855f38aa22"}
원인은 크게 세가지로 보고
1. 클레이튼 메인넷 호출 여부 (chainId)
2. contract address
3. EOA address 인자값을 체크했는데 다 이상없었다.
그리고 이상한 것은 같은 클레이튼 네트워크의 다른 컨트랙트 NFT 는 다 잘 나오는데 얘만 안나온다했더니
해당 컨트랙트의 Account Key 값이 AccountKeyFail 상태였다.
키값의 상태는 총 5개로
1. AccountKeyLegacy
2. AccountKeyPublic
4. AccountKeyWeightedMultisig
5. AccountKeyRoleBased
AccountKeyFail 상태는 트랜잭션 유효성 검증 프로세스는 항상 실패한다는 공식문서 내용을 확인할 수 있다.
caver 의 contract method 로 컨트랙트 호출할 때, 조회도 불가능
여기서 이상한 것은 세 가지다.
- AccountKeyFail 상태일 때, 트랜잭션 유효성 검증이 실패한다는 것은
컨트랙트 호출을 통한 거래도 할 수 없는 상태라는 것인데
opensea 에서는 2 days ago 로 이틀 전에 transferFrom method 가 호출되었다. 뭔데..
- 그리고 이 NFT 는 opensea 에서 hidden 으로 분류되었고
- opensea 에서는 어떻게 이 NFT의 메타데이터를 모두 가져올 수 있는지 의문
'블록체인' 카테고리의 다른 글
22.05.21 키 오류 (0) | 2022.05.21 |
---|---|
22.05.20 [caver] 대납 기능 (0) | 2022.05.21 |
22.05.20 Quorum (0) | 2022.05.21 |
22.05.20 Fee Delegated Account Update (0) | 2022.05.21 |
22.05.17 Returned error: gas required exceeds allowance or always failing transaction (0) | 2022.05.17 |