[회고] NFT 마켓플레이스 클론

chris0205.eth·2023년 6월 30일
0

프로젝트

목록 보기
1/1
post-thumbnail

플로우 차트

TO-DO

  1. 이더리움 위의 NFT를 로컬 서버로 불러와서 DB에 저장한다.
  2. 해당 NFT 이미지 & 메타데이터를 클라이언트에서 보여준다.
  3. NFT를 팔 때, NFT 판매자가 매번 서명할 필요가 없는 프록시 계정을 만들어 둔다.
  4. NFT를 살 때, 가격을 제안할 수 있는 기능을 만든다.
  5. NFT 판매 및 구매에 따른 NFT 가격을 DB에 저장하고 클라이언트에 보여준다.
  6. 커스텀 NFT를 배포할 수 있는 기능을 제공해준다.
    • IPFS에 메타데이터 배포 및 CID & 데이터 DB에 저장
    • NFT 컨트랙트 이더리움 위에 배포
    • DB에서 가져와 클라이언트에서 보여주기

Stack

Contracts

Factory - LootBox - Creature(or CreatureAccessory)

Factory의 Create2를 잘 활요하면 LootBox를 계속해서 생산이 가능하다.

Create2는 솔리디티 오피코드로써 스마트 컨트랙트를 생성할 때, 솔트를 ‘함수 호출 옵션’으로 지정할 수 있다.

new Contract{salt: 0x1234}(arg1, arg2)

ERC721 vs. ERC1155

baseTokenURI

IPFS 메타데이터 & 이미지 저장

baseTokenURI로 ipfs 메타데이터 폴더의 해시값(CID)를 지정해준다 / 그리고 그 폴더 안에 번호로 매긴 각각의 NFT 토큰 아이디에 따른 메타데이터를 저장해둔다.

이미지도 유사하게 폴더에 저장하고, 각각의 이미지에 1.png(1.jpg)와 같이 이름을 지정해준다.


Back-end

DB schema


Front-end

css library

  • Semantic-ui-react 사용

React 사용

profile
long life, long goal

0개의 댓글