금융·블록체인 / DeFi·베팅

WATTO Betting Platform

스마트 컨트랙트와 실시간 백엔드를 결합한 탈중앙 베팅 플랫폼입니다. 결과 검증과 정산을 온체인으로 처리하고 배당과 상태 변화는 WebSocket으로 전달했습니다.

역할
1인 개발 · 설계부터 구현, 운영 도구까지
기간
2022
소속
Side Project
01 / 프로젝트 요약

스마트 컨트랙트와 실시간 백엔드를 결합한 탈중앙 베팅 플랫폼입니다. 결과 검증과 정산을 온체인으로 처리하고 배당과 상태 변화는 WebSocket으로 전달했습니다.

판단 / A풀어야 했던 문제

무엇이 어려웠는가.

베팅 마감 뒤 결과를 임의로 바꿀 수 없어야 했고, 풀 정산과 배당 상태를 사용자에게 실시간으로 보여줘야 했습니다.

판단 / B설계와 구현

어떻게 풀었는가.

베팅 접수·마감·결과 확정·지급을 상태별로 나눈 풀 컨트랙트를 설계했습니다. 여러 오라클의 결과가 기준 수에 도달해야 정산하도록 하고, 배당과 상태 변화는 WebSocket으로 전달했습니다.

03 / 사용 기술
01Solidity02React03Socket.IO04Web3.js05Node.js
04 / 상세 내용

프로젝트 개념

콘텐츠의 회차별 결과에 참여자가 베팅하고, 검증된 결과에 따라 풀을 정산하는 탈중앙 베팅 플랫폼을 설계했습니다. 스마트 컨트랙트와 실시간 백엔드가 각각 맡을 책임을 나누는 데 초점을 맞췄습니다.

온체인 흐름

  • 베팅 접수, 마감, 결과 확정, 상금 청구를 별도 상태로 관리했습니다.
  • 결과는 등록된 여러 오라클이 제출하고, 필요한 수의 일치된 응답이 모여야 확정하도록 설계했습니다.
  • 출금 함수에는 재진입 방지와 중복 청구 방지 조건을 두고, 비상 정지 경로를 검토했습니다.

실시간 서비스

백엔드는 회차와 참가자, 베팅 내역을 관리하고 풀 규모에 따라 배당을 계산합니다. 배당과 회차 상태 변화는 WebSocket으로 전달해 사용자가 지갑 거래의 진행 상태를 확인할 수 있게 구성했습니다.

설계 기준

결과 검증은 백엔드 한 곳에 맡기지 않고 온체인 확정 조건과 분리했습니다. 실시간 화면은 예상 배당을 보여주되, 최종 지급 기준은 컨트랙트 상태로 한정했습니다.

05 / 실제 자료
WATTO Betting Platform 프로젝트 이미지
프로젝트 이미지 / 콘셉트