NFT 개발하기(클레이튼 환경)

2551 단어 클레이튼NFTNFT

클레이튼 개발환경에서 NFT 개발

1. 컴파일

먼저 Klayrn IDE에 접속하여 새로운 프로젝트를 만들고 파일을 생성한 후 컴파일 한다.

프로젝트 이름은 BreadNFT라고 지었으며 파일이름은 Bread.sol로 만들었다.

그 후 KIP-17을 사용할 것이기 때문에 ERC721부분을 KIP17로 수정한다

contract MyNFTs is KIP17Full, Ownable {
    using Counters for Counters.Counter;
    Counters.Counter private _tokenIds;

    // ERC721을 KIP17Full로 수정합니다.
    constructor() public KIP17Full("MyNFTs", "MNFT") {}

    function mintNFT(string memory tokenURI)
        public
        onlyOwner
        returns (uint256)
    {
        _tokenIds.increment();

        uint256 newItemId = _tokenIds.current();
        _mint(msg.sender, newItemId);
        _setTokenURI(newItemId, tokenURI);

        return newItemId;
    }
}

클레이튼 개발환경에서 NFT를 개발하기 위해서는 이더리움 개발환경에서 NFT를 개발할때 ERC-721을 이용하여 스마트 컨트렉트를 만들었던 것처럼 KIP-17을 사용해야 된다.

코드를 모두 작성하였으면 Solidity Compiler을 클릭하여 컴파일 진행한다.(Klaytn NFT Code 사용)

컴파일러 버전은 0.5.6+commit.b259423e을 사용하고 언어는 솔리디티를 선택한다.

2. 배포

컴파일이 완료되면 Klaytn IDE 왼쪽창에 Deploy & run transactions를 클릭하여 배포를 진행 한다. 배포가 완료되면 콘솔창을 통해 확인할 수 있다.

테스트 환경(Baobab)에서 배포를 할 것이기 때문에 환경을 Baobab으로 바꿔주고 ACCOUNT 부분에 배포할때 사용할 카이카스 계정의 공개키를 입력한다.

3. NFT확인

mintNFT에 임의의 수를 입력하고 함수 ownerOf를 실행하면 배포된 컨트랙트와 NFT 발행이 잘 이뤄졌는지 확인할 수 있다.

4. 개발회고

목적

이더리움 개발환경이 아닌 클레이튼 개발환경에서 NFT 개발

Keep

클레이튼 개발환경에서 NFT를 개발하며 NFT가 무엇인지 다시 한번 상기시킬 수 있어서 좋았으며, 이더리움이 다른 플랫폼 블록체인을 사용하여 NFT를 개발한다는 것이 의미있었다.

Problem

배운 내용 거기서 멈춰 버렸다. 좀 더 나아가 다른것을 시도하지 못했으며 내가 알고 있는 다른것들과 같이 사용하지 못했다.

Try

단순히 NFT 발행이 아니라 디지털 아트나 음악 같은 디지털 파일에 소유권 증명을 할 수 있는 NFT발행을 해보고 싶다.

좋은 웹페이지 즐겨찾기