플로우 차트

TO-DO
- 이더리움 위의 NFT를 로컬 서버로 불러와서 DB에 저장한다.
- 해당 NFT 이미지 & 메타데이터를 클라이언트에서 보여준다.
- NFT를 팔 때, NFT 판매자가 매번 서명할 필요가 없는 프록시 계정을 만들어 둔다.
- NFT를 살 때, 가격을 제안할 수 있는 기능을 만든다.
- NFT 판매 및 구매에 따른 NFT 가격을 DB에 저장하고 클라이언트에 보여준다.
- 커스텀 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
React 사용