Smart Contract NFT_Minting_Flow

박하영·2022년 10월 11일
0

  1. json * img 파일 생성. (보통 1만개를 기준점으로 맞춰서 각각의 파츠별 확률을 지정해서 NFT 생성) -> 2.

  2. 해당 파일들을 IPFS라고 불리오는 분산형 저장소에 저장. (중앙형 저장소 하나에 저장하는 것 보다 훨씬 더 안전함) -> 그럼 ipfs://QV12VDdn... 과 같은 형태의 주소가 생성됨. -> 3.

  3. 해당 형태의 주소를 스마트컨트랙에 담아준다. solidity라는 언어를 이용해서 NFT의 표준 규격인 클레이튼(KIP17(ERC-721))과 추가로 커스텀 코드(화이트 리스트나 민팅을 하는 기능 등)를 넣고 스마트 컨트랙을 완성하여 -> 4.

  4. 클레이튼 블록체인 위에 배포를 한다. -> 5.

  5. sns / discord / twitter 등을 통해 민팅에 참여할 사람들을 모집. -> 6.

  6. 특정 시간에 웹 사이트를 열어서 배포한 스마트 컨트랙과 연결을 하고, 사람들이 해당 웹 사이트를 통해서 민팅을 해서 NFT를 직접 받아갈 수 있게 만들어준다. 이렇게 민팅한 NFT는 각자가 보유하게 된다.(개인 지갑) -> 7.

  7. 각자가 보유한 NFT를 가지고 OpenSea와 같은 거래 플랫폼을 통해 거래할 수 있다. (NFT를 활용한 게임등과 같은 여러가지 컨텐츠를 즐길 수 있다)


NFT의 원리.

NFT란 '블록체인 위에 있는 특정 스마트컨트랙의 토큰'들이다.

: NFT collection을 스마트컨트랙을 이용해서 만든다고 하면, 특정 스마트컨트랙을 배포해서 (0xabc123)과 같은 형태의 스마트 컨트랙 주소와 같은 정보를 넣고, 그 안에 토큰들을 OpenSea 같은 NFT 거래 플랫폼에서 조회해와서 정보를 표시해주는 형태이다.

-> 마치 API 통신을 하는 것 처럼, 블록체인과 함수를 요청해서 정보를 받아오는 방식으로 통신을 한다.


How does OpenSea gets my NFT info?

OpenSea에서는 내 스마트컨트랙 주소로 특정 토큰 번호의 정보를 얻어오기 위해서 tokenURI라는 함수를 호출해서 요청을 하게 된다.

그러면, 내 스마트컨트랙에서는 특정 토큰 번호에 해당하는 json 데이터를 OpenSea로 보내준다. (여기서 주의할 점은 스마트 컨트랙 안에 이미지 파일들을 같이 가지고 있다고 생각하는데, 이런 파일들은 용량을 많이 차지하고 무겁기 때문에 (블록체인 위에서는 용량이 무거울수록 발생하는 비용이 높기 때문에, 최소한의 용량을 담아야 한다) 이미지를 포함하지 않고, 이미지 정보를 담은 json의 url을 포함하고 있다.)

profile
RM_young

0개의 댓글