상세 컨텐츠

본문 제목

누구나 할 수 있는 NFT 만들기 - 7강 NFT 스마트 컨트랙트 사용법

누구나 할 수 있는 NFT 만들기

by D_One 2022. 9. 14. 13:01

본문

안녕하세요 :)

 

오늘은 드디어 스마트 컨트랙트로 넘어가보겠습니다. 

 

TLTR; 간편하게 영상으로 참고하세요 :))

https://www.youtube.com/watch?v=rG8yF8aw_t0 

 

넘어가기전 준비물 

- 메타마스크(Metamask)

- 테스트네 이더 goerly 테스트 네트워크

준비물 준비하는 방법 영상으로 보기

위 그림과 같이 준비가 되어 있어야 합니다. 

 

준비가 완료가 되었다면, 리믹스 IDE https://remix.ethereum.org/ 로 들어가도록 하겠습니다.

 

먼저, 아래 사진과 같이 파일(myNFT.sol)을 하나 생성 합니다. 

그러고 나서, 제 깃허브(NFT코드) 로 들어오셔서 코드를 카피합니다. 

 

 

 

복사한 코드를 보시면 아래 그림과 같이 발행 순서가 있습니다. 

위 그림과 같이 발행순서를 차례대로 하시면 됩니다. 

 

1._baseURI함수에서 메타데이터(metadata) CID 추가 

1.1 메타데이터를 확인 하려면, 피나타로 들어 가서 CID를 복사합니다.

 

1.2 스마트 컨트랙트의 _baseURI함수를 찾아 Your_CID 부분에 메타데이터 CID를 집어 넣습니다.

1.3 아래와 같은 그림이 됩니다. 

2. 컴파일 (cntrl + S)  cntrl + S 키를 눌러 컴파일 합니다.

아래 그림과 같이 컴파일을 할 수 있으며, 컴파일 완료가 되면 초록색 표시가 납니다. 

3. DEPLOY & RUN TRANSACTIONS 섹션으로 간 후  Environment -> Injected Provider -> Metamask 선택

잘 연결이 되었다면, 아래 그림과 같이 나옵니다. 

만약 메타 마스크 부분에 연결됨이 아니라 연결되지 않음 이라면 연결되지 않음을 클릭해 연결 합니다.

4.CONTRACT -> myNFT 선택

5. myNFT의 아규먼트(argument) 넣어주기

아래 그림과 같이 화살표 버튼을 눌러서 모든 아규먼트 입력창을 펼칩니다. 

 

 

    - _NAME : 토큰 이름 D_One'test_NFT
    - _SYMBOL : 토큰 심볼 D_One'test_NFT
    - _LIMIT : NFT 최대 발행 개수 10  
    EX)
    첫번째 발행된 NFT의 id : 1 -> 메타데이터 1.json -> 그림 1.png
    두번째 발행된 NFT의 id : 2 -> 메타데이터 2.json -> 그림 2.png
        ...
    열번째 발행된 NFT의 id : 10 -> 메타데이터 10.json -> 그림 10.png    
    limit = 10
    열한번째 발행된 NFT의 id : 11 -> 메타데이터 11.json -> 그림 11.png   -> X  

    - _PRICE : NFT 판매 가격  10000000000000000
    1ETH = 10^18 / 0.1 eth = 10^17 / 0.01 eth = 10^16

    - _INTERVAL : NFT 민트 간격 (봇이 독점 방지) 15
        EX) 현재 블록 : 100
            간격 : 15 블록
            A -> 100번째 블록에서 NFT 민트(mint) -> 101~114 블록 민트 불가 ->115블록 부터 다시 NFT 민트(mint) 가능
            B -> 105번째 블록에서 NFT 민트(mint)
            (클레이튼 초당 1블록)

    - _REAVELINGBLOCK : 언제 NFT가 공개되는지 15
        EX) 현재 블록 : 100
            공개 시작 블록 : 15블록
            cvoer.js 파일에 있는 그림(NFT공개전 그림) -> 115 블록 -> 진짜 NFT 그림

    - _NOTREVELEDNFTURI : 진짜 NFT를 공개 하기전의 그림의 메타데이터 즉 Cover.js URI
        EX)  ipfs://YOUR_CID를 에서 YOUR_CID를 Cover.js의 CID로 변경하기.

6. Deploy 또는 transact 버튼 누르기

다음시간에 배포를 해보도록 하겠습니다.

 
 

관련글 더보기