Block_Chain_Project - 11 [텍스트 P2E게임] - caver-js 마이그레이션 계획

Lumi·2022년 2월 5일
0

🔥 개요

발표 자체를 web3가 아닌 caver-js로 마이그레이션 해달라는 요청이 들어와서 코드를 좀 다 뜯어 고쳐서 DAO형태로 프로젝트를 수정하고자 합니다.

  • 간략하게 생각을 해보았고 수정이 될 수도 있습니다.

일단 기본적으로 Token은 바로 지급이 되게 만들것 입니다.

모든 가스비는 사용자가 지불하는 형태가 될 것이고 토큰을 지급하는 행위만 서버계정에서 주게 될 것입니다.

가스비가 너무 많이 소비될수 있는 전투, 병사수 갱신, 맵데이터, item, 경매 부분은 오프체인에서 구현이 될것 같습니다.

  • 경매 부분은 특히나 bidding으로 인해 값이 계속 변경이 되게 되면 그만큼 가스비가 많이 나가기 떄문에 DB에서만 값을 수정하여 후에 그냥 단순히 NFT를 전송하는 방향으로 진행이 될것 같습니다.

대략적인 구상도는 이와 같고 물론 이 구상도는 바뀔수 있습니다.

  • 어느정도 모든것을 블록체인에 올리는 프로젝트는 저번에 진행을 해보았기 떄문에 이번에는 좀 현실적으로 가스비를 고려해보아서 작성을 해볼것 같습니다.

🔥 고민사항

이전에 솔리디티를 좀더 심도있게 공부를 하면서 알게된 ERC-20의 토큰 이동에 관한 최소 가스비 문제가 조금 걸립니다.

지분에 따라 토큰을 지급하는 행위는 모든 데이터를 모아서 한번에 처리하면 되지만

전투 결과에 따른 토큰 지급은 개인당 한번식 트랜잭션을 발생시켜야 하기 떄문에

이 부분에서 작은 데이터를 전송하지만 고정적으로 21000wei가 소모되게 됩니다.

  • 이런 작은 데이터를 여러번 실시하게 되면 많은 손해가 발생을 하겠죠 ㅠ

이 부분에서 가스비가 너무 비효율적으로 사용될것 같다는 걱정이 있고

해결방법으로는 이 또한 한번에 모아서 처리를 하는 방법이 있는데
사용자가 어느정도 기다려야 하는 단점이 있습니다.

  • 배치서버와 비슷한 원리로 작동이 되게 될것 같습니다.

사실 뚜렷한 해결방법이 떠오르지도 않아서 일단 가스비가 낭비되는 방향으로 코드를 작성을 해보고 후에 방법이 떠오르면 수정을 하는 방향으로 생각을 하고 있습니다.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글