Web3 프로젝트

Web3 기반 커뮤니티 프로젝트

Dev_2H 2023. 1. 13.
반응형

 GitHub :   https://github.com/codestates-beb/beb-07-second--04

 

Web3 기반 커뮤니티 ?

Web2 기반의 커뮤니티 ( ex 페이스북 트위터 인스타그램 ) 들은 많은 사람들이 현재까지 이용하고 있다.

 

기존 Web2 기반의 커뮤니티는 다양한 문제점들이 있다고 생각한다. 

 

모든 정보들과 개인신상정보들이 하나의 중앙화를 기반으로 움직이다 보니 

다양한 제약과 외부로부터의 공격 가능성을 갖고 있다.

 

이러한 문제점을 해결하기 위해 기존의 블록체인을 커뮤니티를 만드는 것이 이번 프로젝트의 핵심이었다.

 

 

Wire Frame 

 

설명

 

  • 메인 페이지

게시글 리스트

게시글 작성할 수 있는 화면

개인 프로필 및 이용자 프로필

 

  • 마이페이지

토큰을 다른 사용자에게 전송할 수 있는 기능

갖고 있는 토큰을 이용해서 NFT를 만들 수 있는 기능

 

 

 

실제 구현

 

  • 메인페이지

메인페이지에서 게시글을 바로 쓸 수 있도록 되어 있다. 글을 쓸 때는 ERC-20 기반의 1 Token 이 소비되게 된다.

또한, 좋아요를 10개 이상 받은 글들은 1 Token 씩 작성자에게 지급한다.

 

  • 로그인

로그인 페이지에선 서버에서 시간을 기록한다.

하루에 한 번 로그인을 하면 10개의 Token 을 지급한다.

 

  • 마이 페이지

마이 페이지에선 갖고 있던 Token을 기반으로 ERC-721 기반의 NFT를 만들 수 있다.

자신이 갖고있는 NFT를 활용해서 프로필 사진으로 이용할 수 있다.

 

마이페이지에서 자기의 지갑 주소를 확인할 수 있고

다른 사용자에게 Token을 전송할 수 있다.

 

  • NFT

NFT를 이용해 커뮤니티에서 다양한 활동을 계획할 수 있지만

일단은 게시글을 작성할 때 프로필 이미지를 자신이 만든 NFT를 사용한다.

 

 

 

 

 

어려웠던 점

 

DB 연동 및 동기화

 

DB를 서버를 통해서 공유가 되게끔 설정해서 DB를 연동해야 하는데 MySQL을 이용하면서 그 방법을 찾지 못해서 각자의 Local DB로 작업을 하다보니 협업에 많은 어려움들이 있었다.

 

첫 날 하루동안 어떻게 프로젝트를 진행할 지에 대해 얘기했지만 DB나 API 등 협업을 진행하면서 많은 수정 과정이 있었다. 이 부분은 조금 더 디테일하게 설계를 했다면 더욱 완벽한 프로젝트를 진행할 수 있었던 것 같다.

 

Eth 수수료

 

ERC-20과 ERC-721을 사용하고 이용할 때 모두 eth의 수수료가 발생했다.

ERC-20의 경우 Token과 관련된 모든 행동들을 할 때 마다 eth 수수료가 발생하는 것이였다.

진행 과정에서 Trasnaction Fee가 없을 경우 에러가 발생하였다.

 

회원 가입의 경우 지갑을 처음 생성하기에 0 eth 가 들어있어서 모든 행동을 하는데 제약이 있었다.

이 문제를 첫 로그인 때 수수료를 포함한 eth를 같이 지급하는 방식으로 해결했지만

근본적인 해결책은 아니었던 것 같다.

 

진행하면서 배운 점 

BackEnd 파트를 맡아서 진행하면서 API와 DB를 연동해서 작업하는 과정을 진행했었다.

 

확실히 하면서 Git을 자유자재로 이용하고 팀원들과 협업을 하는 것에서 배운 점이 있다고 느꼈다.

아직까지도 컨트랙트와 API를 연결하는 부분은 헷갈리는 부분들이 많지만 

어떠한 방향으로 공부를 해야 되는지 방향을 잡을 수 있었다.

'Web3 프로젝트' 카테고리의 다른 글

블록체인 부동산 거래 플랫폼  (3) 2023.03.27
OpenSea 클론 프로젝트  (1) 2022.12.30

댓글