Web3 커뮤니티 활동을 하면 토큰을 주는 형식으로 프로젝트.
게시글을 작성하면 ERC-20 토큰 TKI를 받으며, 이 토큰을 활용해 NFT를 민팅 할 수 있고 토큰을 타인에게 전송도 가능합니다.
이름 | 역할 | GitHub |
김영주 | Team Leader, Back-end , Smart Contract | DreamBoysYJ |
김지환 | Design, Front-end, Smart Contract | jihwankim255 |
김상우 | Back-end | keepgoing2021 |
서학용 | Front-end, Smart Contract | shypang |
이태훈 | Back-end, Smart Contract | bloud411 |
- Logo : 홈 페이지으로 이동합니다.
- Mint NFT : NFT 민팅 페이지로 이동합니다.
- Write : 게시글 작성 페이지로 이동합니다.
- ETH Faucet : 0.1ETH를 지급 받습니다.
- Mypage : 마이 페이지로 이동합니다.
- Logout : 로그아웃 됩니다.
로그아웃 시
- Login : 로그인 페이지로 이동합니다.
- 회원가입 : 회원가입 페이지로 이동합니다.
- Infinite Scroll 구현
- 게시글을 위부터 생성된 시간이 빠른 순으로 확인할 수 있습니다.
- 비밀번호 : 8자 이상 대문자, 특수문자가 포함되어야만 합니다.
- DB에 동일한 닉네임이 없고, 비밀번호가 일치한다면 DB에 정보를 저장합니다.
- bcrypt: 원본이 아닌 해싱한 비밀번호를 DB에 저장합니다.
- 사용자의 비밀번호를 통해 web3로 지갑을 생성하고 DB에 저장합니다.
- 회원가입에 성공할시 알림 메시지를 띄우고, 로그인 페이지로 이동합니다.
- DB에서 동일한 닉네임을 찾습니다.
- 입력한 비밀번호를 bcrypt를 이용해 DB의 해싱한 비밀번호와 비교합니다.
- 입력한 정보가 맞다면 로그인하고, 홈페이지로 이동합니다.
- 서버 계정인 가나슈 0번째 계정에서 0.1ETH를 로그인한 사용자에 전송합니다.
- DB에서 user 정보를 업데이트 합니다.(eth_amount 0.1 증가)
- 게시글 작성시 ERC-20 토큰 1개를 사용자 주소로 지급합니다.
- DB에 post, user 정보를 업데이트 합니다. (post 생성 / user 토큰 증가)
- 작성에 성공하면 홈페이지에서 해당 글을 확인할 수 있습니다.
- 홈페이지에서 게시글들을 불러올 때 DB에서 post의 모든 정보를 불러옵니다.
- 그 중 post의 id를 props로 전달하고, 클릭시 params에 해당 id를 전달해 검색합니다.
- 로컬 컴퓨터에서 이미지를 불러옵니다.
- 해당 이미지는 ipfs에 업로드되고, ipfs url을 전달받아 서버에 전달합니다.
- 블록체인 네트워크(가나슈)에 트랜잭션을 실행하고, DB에서 nft를 저장합니다.
Top Section : 로그인한 user의 정보를 확인합니다.
- 나의 nft : 내가 민팅한 nft들을 확인합니다.
Middle Section
-
나의 nft : 내가 민팅한 nft들을 확인합니다.
-
내가 쓴 글 : 내가 작성한 게시글들을 확인합니다.
- 송금 : 글쓰기 보상으로 획득한 ERC-20 토큰을 다른 주소로 송금할 수 있습니다.