안녕하세요. 초보 개발자입니다.
klaytn ide 통해서 smart contract를 KIP17로 배포해봤는데요.
배포한 컨트랙과 제 지갑 주소에 임의로 만든 NFT 파일을 민트했습니다.
이후 burn을 이용해 nft를 소각 시키려고 했지만, 제 지갑 주소에 nft는 burn이 되었고, 배포한 컨트랙에 nft는 burn이 되지 않는군요.
function은 다음과 같습니다.
function burn(uint256 tokenId) public {
require(_isApprovedOrOwner(msg.sender, tokenId), "KIP17Burnable: caller is not owner nor approved");
_burn(tokenId);
}
컨트랙에 있는 tokenid 4번이 소각이 안됩니다.
burn 기능 자체가 스마트 컨트랙을 진행한 owner 계정이여도 소유자가 아니면 burn이 불가능한건가요?
추가로 여쭙고 싶은 부분은 nft를 제 지갑 주소에 보낸 후 burn을 하여도 오픈씨에는 컬렉션에서 보입니다.
오픈씨 nft 상세 기록에는 null address로 보냈다고 적혀있으며, 클레이튼 스코프에서도 nft가 사라진 걸 볼 수 있었는데 오픈씨의 문제점인지 계정 컬렉션에 왜 그대로 보이는지 궁금합니다.