Skip to content

Parkstelth/Project02_Web2.0_Blockchain_Community

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 

Repository files navigation

Project02_Web2.0_Blockchain_Community

회원가입, 유저관리 등을 이용하여 웹을 사용하여 NFT를 구매, 토큰 보상, 토큰전송 등의 다양한 기능을 사용할 수 있습니다.

기능

  1. 회원가입을 통하여 서버 DB에 회원정보를 저장시킨후 로그인 할 수 있다.
  2. Server 계정만이 테스트 네트워크(Ganache)로 부터 가스비용 1ETH를 faucet 할 수 있다.
  3. Server 계정만이 테스트 네트워크(Ganache)에 ERC-20 컨트랙트를 배포할 수 있다.
  4. Server 계정만이 테스트 네트워크(Ganache)에 ERC-721 컨트랙트를 배포할 수 있다.
  5. DB에 저장된 사용자는 로그인하여 글을 작성 할 수있으며 해당 글은 메인페이지에 바로 등록되어 나타난다.
  6. 글을 작성하면 ERC-20의 Approve에 의해 Server주소의 Allowance에 발행한 토큰 1개가 저장되며 보상받는다.
  7. 토큰 보상은 서버가 지정한 시간을 주기로 트랜잭션을 모아서 처리한다.
  8. ERC-20 컨트랙트 관련 트랙잭션을 DB에 저장 시킨다.
  9. 보상받은 토큰으로 서버가 판매중인 NFT를 구매할 수 있으며 구매시 보유한 Allowance에 저장 된 ERC-20 토큰이 감소하고 NFT를 입금 받게 된다.
  10. 사용한 ERC-721 솔리디티 코드에 서버가 판매할 NFT가격은 1토큰으로 정해져있지만 setPrice를 통해 가격을 Server만이 변경 할 수있다.
  11. 마이페이지를 통해 현재 Allowance되어 있는 보상된 토큰 수를 확인 할 수 있으며 해당 토큰을 실제 MetaMask에서 잔고확인이 가능하도록 전송을 할 수 있다.
  12. 현재 Allowance되어 있는 보상된 토큰을 DB에 저장 된 다른회원에게 전송 할 수 있다.

주의사항

  • 로그인상태가 유지되도록 구현이 안된 상태이므로 새로고침시 로그아웃이 된다.
  • .env 파일내에 테스트네트워크의 faucet 줄 계정 주소와 테스트네트워크 주소가 입력되어야한다.
  • .env 파일내에 Server 계정의 address와 privateKey가 입력되어야한다.
  • .env 파일내에 ERC-20, ERC-721 컨트랙트 주소가 입력되어야한다.
  • .env 파일내에 demon을 위한 정상적인 경로와 Mysql 패스워드가 입력되어야한다.
  • 동일한 DB구조를 가지고 있어야한다.
  • Server가 ERC를 배포할려면 Faucet을 받아 가스비가 있어야한다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published