티스토리 뷰
[업데이트 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
- SSM
- Ragdoll
- #ApacheZeppelin
- Library
- docker
- Sea Bottom
- Badge
- Game Engine
- 도커
- aws #cloudfront
- Meow
- ILoop Engine
- project
- sentence test
- Memorize
- GOD
- 2D Game
- #TensorFlow
- #ELK Stack
- belief
- Worry
- #REST API
- Jekyll and Hyde
- English
- OST
- ate
- Physical Simulation
- some time ago
- Mask R-CNN
- #ApacheSpark
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |