Cute Bow Tie Hearts Blinking Pink Pointer

블록체인/스마트 컨트랙트

[Remix IDE] Opensea 마켓에 NFT 토큰 생성해서 올려보기

청포도 에이드 2022. 7. 25. 16:28
728x90

목차

 

- NFT토큰과 그냥 토큰과의 차이점

- remix IDE로 NFT 토큰 생성해보기

- Opensea 마켓에 등록해보기

 

NFT토큰과 그냥 토큰과의 차이점

 

ERC 20 - Token fungible Token

ERC-721 - Token Non-funfible Token

 

fingible Token : 토큰을 값어치로 표현한다. 1개에 천원이면 2장 이천원

 

NFT - 토큰마다 가치가 다른 것.

 

code로 구현하자면 어떤 느낌일까?

 

토큰이 생성될 때마다 고유키 값을 부여해주면 된다.(민팅)

 

mint(msg.sender, 1) << 숫자는 키값

mint(msg.sender, 2) 이런 식으로 키 값에 대한 작업이 이루어진다.

 

 따라서 토큰이 2000개가 있다면 2000개의 key값이 존재하는 것이다.

 

따라서 ERC-721은 ERC-20와 다른 게 하나 있다면,

 

mapping(uint => address) public owned; 가 존재한다.

키 값을 넣으면 계정주가 나옴.

 

영화관에 돈 넣으면 나오는 티켓처럼. 가치가 달라질 수 있음 (암표라던가.)

 

그래서 오늘 할 것은?

 

OpenSea라는 NFT 마켓에 코인을 올려보자! (테스트 넷으로..)

 

NFT 토큰 생성해보기

 

일단 기본 설치와 세팅을 해주자.

npx ganache-cli
npm install -g @remix-project/remixd
mkdir truffle
cd truffle
truffle init
cd contracts
remixd -s . --remix-ide https://remix.ethereum.org

이런 게 뜨면 잘 된 것이다.

 

그 다음, Remix IDE에 들어가주자.

 

https://remix-project.org/

 

Remix - Ethereum IDE & community

DEPLOY & RUN TRANSACTIONS IN THE CLOUD

remix-project.org

 

workspace안에 connect_localhost 들어가서 connect해준다.

 

아래처럼 설정해준다.

 

 

 

 

ERC20 -> 라이브러리

 

라이브러리 먼저 만들어보고 구현(opensea에 보이게 등록)할 것이다.

 

cd truffle
npm init
npm install openzeppelin-solidity

 

truffle/contracts/Minting.sol

 

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

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 _tokenId)public override pure returns(string memory){
        return "https://gateway.pinata.cloud/ipfs/QmPwjnvWYN4etA5eW4yAbWCTy2ukEC1Jj5417VLGyH5XpU/1/1.json";
    }
}

 

그럼 Remix 파일에 VSCODE에서 친 코드가 연동이 된다.

 

 

Environment 를 메타마스크로 린키비 테스트네트워크와 연결해주자.(테스트 이더리움은 구글에 검색하면 받을 수 있는 사이트가 많다.)

 

초기 name, symbol도 설정할 수 있다.

 

transact 를 누르면 메타마스크 확인 창이 뜨는데, 그걸 누르면 완료가 된다.

 

 

민팅에서 token의 고유한 아이디를 부여해주고 transact를 하면?(필자는 이미 1~3까지 생성을 했기때문에 4로 함. 처음하는 사람은 0으로)

 

트랜잭션 승인을 눌러주자.

balanceOf에 계정을 입력해주고, call을 누르면

 

현재 생성 된 nft 토큰의 개수가 나온다.

 

remix IDE에서 사용할 수 있는 함수들을 살펴보면, 주황색과 파란색이 있는데

 

주황색은 send, 파란색은 call함수이다.

 

즉, 주황색만 이더가 든다. (트랜잭션이기 때문에)

 

Opensea 마켓에 등록해보기

 

https://testnets.opensea.io/

 

OpenSea, the largest NFT marketplace

OpenSea is the world's first and largest web3 marketplace for NFTs and crypto collectibles. Browse, create, buy, sell, and auction NFTs using OpenSea today.

testnets.opensea.io

에 들어가서

메타마스크를 연동해준다.

 

메타마스크 선택 후, 연동을 시켜주고,

 

내 계정을 클릭하면, 만든 nft코인이 등록된 것을 확인할 수 있다.

 

 

 

 

 

끝!

728x90