본문 바로가기
블록체인교육/Web3(DApp)

[NFT] 이더리움 NFT(ERC721) 발행

by Danny_Kim 2022. 5. 23.

🔑 100배 수익 경험자의 노하우가 담긴 치트키 공개 🔑

  1. 네이버, 카카오 임직원들이 듣고 있는 비트코인 강의
  2. 아무도 알려주지 않은 비트코인, 이더리움의 리스크
  3. 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심 가치
  4. 천배 수익이 가능한 디파이(DeFi), 코인 생태계 지도
  5. 토큰 제작, 1억 연봉의 블록체인 개발자로 거듭나자!

* Dapp NFT 플랫폼을 만들기 위한 사전 ERC721 발행관련 실습

 

 

1. IPFS 서비스 중 Pinata 서비스에 이미지 업로드 (https://www.pinata.cloud/)

- 가입 후 이메일 승인 후 로그인 하면 아래의 페이지가 뜸.

- IPFS에 대신 업로드 해주는 서비스임.

- 이미지 업로드 후 아래와 같이 CID 확인.

- 파일 업로드 후, pinata Docs 메뉴얼 참고하여 metadata file 작성.

 - metadata.json 파일을 아래와 같이 작성 후 업로드

  - description,name은 임의로 작성하고, image부분에 pinata에서 만들어준 CID를 입력.

 - 해당 파일을 업로드 하면 아래와 같이 뜸.

 

 

2. NFT solidity 파일 작성 후 deploy

- 소스 작성 후 배포

소스파일

// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/introspection/IERC165.sol";

contract NFT is ERC721URIStorage,Ownable{
    using Counters for Counters.Counter;
    Counters.Counter private tokenId;

    constructor() ERC721("DannyWorld","DNW"){}

    function mintNFT(string memory tokenURI) public onlyOwner returns (uint256){
        tokenId.increment();
        uint256 newId = tokenId.current();
        _mint(msg.sender,newId);
        _setTokenURI(newId,tokenURI);
        return newId;
    }
}

 

- IERC165.sol 파일 솔리디티 버전 0.8.0으로 변경

 

- 배포 후, NFT 민팅

 - metada.json의 CID로 민팅.

 

- mintNFT에서 ipfs:// 이후에 CID 주소 입력후 transact 실행

 

* 트랜잭션 정상 배포되었는지 확인!!

 

🔑 100배 수익 경험자의 노하우가 담긴 치트키 공개 🔑

  1. 네이버, 카카오 임직원들이 듣고 있는 비트코인 강의
  2. 아무도 알려주지 않은 비트코인, 이더리움의 리스크
  3. 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심 가치
  4. 천배 수익이 가능한 디파이(DeFi), 코인 생태계 지도
  5. 토큰 제작, 1억 연봉의 블록체인 개발자로 거듭나자!

댓글