[BlockChain] NFT 만들기 (goerliETH)

2022. 12. 6. 11:29·개발/BlockChain
728x90
반응형

1. 초기설정

코드는 Remix툴을 이용하여 작성한다.

 

NFT는 ERC721토큰으로 ERC20과 마찬가지로 표준 규격이 정해져 있다.

오픈제플린 설치 후 표준 규격을 가져다 쓸것이다.

ERC721 구조

{"토큰아이디" : "주소"}

토큰에 고유값이 있고 그 토큰의 주인이 누구인지 나타내는 객체형식이다.

이 토큰은 대체불가토큰으로 NFT이다.

 

오픈제플린 설치

npm install openzeppelin-solidity

2. goerli 테스트넷 이더 받기

https://goerlifaucet.com

홈페이지에서 로그인후 메타마스크 주소를 입력하면 테스트이더를 받을수 있다.

3. Pinata

 

Pinata

Effortless IPFS File Management

app.pinata.cloud

Pinata 홈페이지는 nft의 이미지, 객체등을 저장하는 저장소역할을 한다.

(1) 이곳에 먼저 이미지를 먼저 올린다.

(2) json생성 후 업로드

json객체 내용

{
  "name": "seok NFT",
  "description": "user NFT",
  "image": "이미지 url",
  "attributes": [
    {
      "trait_type": "Rank",
      "value": 1
    },
    {
      "trait_type": "Type",
      "value": 1
    }
  ]
}

그다음 객체 url을 따로 저장해둔다.

 

2. 스마트 컨트랙트

Minting.sol

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

import 'openzeppelin-solidity/contracts/token/ERC721/extensions/ERC721Enumerable.sol';

contract Minting is ERC721{
    constructor(string memory _name, string memory _symbol) ERC721(_name,_symbol){
    }

    function _minting(uint _tokenId) public {
        _mint(msg.sender,_tokenId);
    }

    function tokenURI(uint) public override pure returns (string memory){
        return "Pinata 페이지에서 만든 객체 url";
    }
}
//

3. 민팅

remix 에서 mint를 하고 오픈씨 테스트넷에 들어가보면 해당 nft가 들어온것을 확인할 수 있다.

728x90
반응형

'개발 > BlockChain' 카테고리의 다른 글

[BlockChain] NFT만들기, NFT거래 컨트랙트  (0) 2022.12.15
[ERC토큰] ERC20 ERC721 ERC777 ERC1155  (0) 2022.12.12
[BlockChain] localhost에서 remix 연동  (0) 2022.12.06
[BlockChain] ERC20 Token - openzeppelin 사용  (1) 2022.12.06
[BlockChain] ERC20 Token 만들기  (0) 2022.12.06
'개발/BlockChain' 카테고리의 다른 글
  • [BlockChain] NFT만들기, NFT거래 컨트랙트
  • [ERC토큰] ERC20 ERC721 ERC777 ERC1155
  • [BlockChain] localhost에서 remix 연동
  • [BlockChain] ERC20 Token - openzeppelin 사용
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    도커
    erc20
    ERC721
    30일챌린지
    go
    명령어
    30일 챌린지
    node.js
    html
    React
    컨테이너
    go언어
    블록체인
    CSS
    mysql
    하이퍼레저
    js
    nodejs
    프로그래머스
    node
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[BlockChain] NFT 만들기 (goerliETH)
상단으로

티스토리툴바