티스토리 뷰

[업데이트 2022.01.18 02:34]

 

소스코드는 아래의 github를 사용하였습니다.

https://github.com/klaytn/klaytn-contracts

 

1. Klaytn 배포용 컨트랙트에 contractURI() 함수 추가하고 contract-level 메타데이터 URL를 리턴한다.

 

<klaytn-contracts/contracts/token/KIP17.sol>

 

... 

    /**
     * @dev Private function to clear current approval of a given token ID.
     * @param tokenId uint256 ID of the token to be transferred
     */
    function _clearApproval(uint256 tokenId) private {
        if (_tokenApprovals[tokenId] != address(0)) {
            _tokenApprovals[tokenId] = address(0);
        }
    }

    function contractURI() public pure returns (string memory) {
        return "https://test.com/metadata/contract.json";
    }
}

 

https://docs.opensea.io/docs/contract-level-metadata

 

2. Ownable로부터 상속받는다.

 

<klaytn-contracts/contracts/token/KIP17.sol>

pragma solidity ^0.5.0;

import "./IKIP17.sol";
import "./IERC721Receiver.sol";
import "./IKIP17Receiver.sol";
import "../../math/SafeMath.sol";
import "../../utils/Address.sol";
import "../../drafts/Counters.sol";
import "../../introspection/KIP13.sol";
import "../../ownership/Ownable.sol";
/**
 * @title KIP17 Non-Fungible Token Standard basic implementation
 * @dev see http://kips.klaytn.com/KIPs/kip-17-non_fungible_token
 */
contract KIP17 is KIP13, IKIP17, Ownable  {

 

3. KIP-17 컨트랙트를 배포후, 토큰 1개를 민팅한다. 만약 민팅하지 않고 임포트를 수행하면 아래처럼 오류가 발생합니다.

 

 

4.오픈씨에서 컬렉션으로 추가가 되고, 수정이 가능함을 확인할수 있습니다.

 

** Cypress 기준 바로 추가가 안되는 경우가 있습니다. 조금 기다리다가 임포트시 정상 추가됩니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함