Project information

  • 프로젝트 소개: 이더리움과 DoBuy토큰으로 개인간 NFT의 거래와 사이트 판매 상품의 배송추적이 가능하게 한 NFT거래소 사이트입니다. 블록체인의 스마트 컨트랙트를 이용해서 개인간 NFT거래의 경우 관리자에게 의존하지 않고 탈중앙화되어 운영됩니다.
  • 핵심 기능: 사이트관리자 상품 판매, 관리자 페이지, 배송추적, 사용자 NFT 발급 및 거래, 토큰 swap
  • 프로젝트 기간: 2021.8.16 ~ 2021.8.27
  • 제작 인원: 3명
  • Solidity(ERC20, ERC721), Oracle Cloud(free-tier), Metamask&Web3, Ropsten testnet, Node.js, html, css, javascript
  • Project URL: DoBuyShop 사이트 이동
  • DoBuyToken Contract 조회 URL: DoBuyToken ropsten.etherscan.io
  • DoBuyNFT Contract 조회 URL: DoBuyNFT ropsten.etherscan.io

기술 문서

ERC20
NFT 구매 가능
이더리움 → 토큰 스왑
사이트 상품 운송장 발급, 배송추적 정보 조회 가능
중간배송지 및 도착지는 임의로 구성 - block.timestamp로 배송신청 시각 저장 후 5분 간격으로 추가
사용자마다 중간배송지 다르게 뜨게 하기 위해 지갑주소로 인덱스 뽑아내게 했음

ERC721
해당 토큰 생성해서 NFT 발급
NFT 이미지 저장
개인간 NFT 거래 가능 - mapping으로 NFT 소유자 바꿈
NFT 구매, 삭제(사이트상품)/판매 취소(개인NFT) 가능

관리자 페이지
상품 추가, 가격 변경, 상품 삭제 가능

MetaMask 로그인 후 이용 가능

DoBuyNFT, DoBuyToken의 contract address로 메타마스크에서 토큰추가 후 이용 가능
NFT의 경우 토큰 십진수 0 입력 필요

배송 신청 시 입력하는 배송정보는 db에 저장하지 않고 블록체인에 기록해서 정보 유출을 방지, 사용자 데이터 저장 및 사용자의 조회 가능

배송 신청 시 발급됐던 NFT 삭제 후 배송정보 생성

swap 페이지에서 이더리움을 ERC20토큰인 DoBuyToken으로 스왑 가능

Ropsten Testnet 네트워크 사용

메타마스크 연결을 위해 Web3 사용

express generator 사용