본문 바로가기
개발 학습/블록체인

S4: mintNFT함수 (NFT 발행)

by StelthPark 2021. 11. 30.

Remix와 openzeppelin의 상속(Import) 사용하여 ERC721작성

ERC721의 변수로 첫번째 MyNFT는  스마트계약의 이름이고 두번째 변수 NFT는 기호이다.

 

새로운 NFT를 발행하는 mintNFT

 

    function mintNFT(address recipient, string memory tokenURI)
        public onlyOwner //오너만 생성할수 있게한다.
        returns (uint256)
    {
        _tokenIds.increment(); //현재까지 생성된 NTF토큰ID에서 하나올린다.

        uint256 newItemId = _tokenIds.current(); //현재 만들고있는 NTF으로 새 ID할당
        _mint(recipient, newItemId); //받을 사람주소와 새 NTF의 ID값으로 생성
        _setTokenURI(newItemId, tokenURI); //새 NFT ID와 NTF의 JSON정보인 URI로 토큰 URI생성

        return newItemId; //uint256의 새 NTF ID값을 반환
    }

mintNFT 함수에서 NFT를 받을 주소와 NFT의 정보가 든 json파일의 URI주소를 인자로 담는다.

_min 함수에 NFT를 받을 recipient와 새로 만들어진 NFT의 ID를 넣어 생성시킨다.

 

만약 mintNFT로 새 NFT를 발급할때 발급자 즉 msg.sender에게 바로 NFT가 발급되게 할려면

mintNFT함수에 인자를 tokenURI만 받고 _mint 내부함수에서 recipient대신 msg.sender로 대처한다.

 

'개발 학습 > 블록체인' 카테고리의 다른 글

S4: DID / SSI  (0) 2021.12.02
S4: KIP17 ganache와 baobab에 배포  (0) 2021.12.01
S4: ERC-721 함수  (0) 2021.11.30
S4: 토큰 LOCK 설정 및 제거  (0) 2021.11.29
S4: public 함수 중 관리자만 접근가능함수 OwnerHelper  (0) 2021.11.26

댓글