Opis gry
Zajmujemy się tworzeniem gry online (web3 kasyno). Każda gra – to runda rywalizacji (trwająca do minuty +-), po zakończeniu rundy określane są zwycięzcy i przegrani. W jednej rundzie standardowo bierze udział 10 graczy (9 zwycięzców, 1 przegrany), koszt udziału w jednej rundzie gry wynosi 50$, to suma, którą płaci każdy gracz za grę. Przykład: każdy gracz płaci koszt udziału 50$ (10x50 = 500$ - pula konkretnej rundy gry), wszystkie transakcje odbywają się w toncoin (sieć ton), po zakończeniu gry należy zapisać wszystkie wypłaty dla graczy w sieci ton, w praktyce po prostu przeprowadzić transakcje onchain, aby gracz widział, że cały proces gry jest przejrzysty.
Problem
Przegrana przegranego powinna być dzielona na 9 pozostałych uczestników rundy (zwycięzców) oraz naszą prowizję (prowizja deweloperów gry), w przypadku klasycznych 10 onchain przelewów na blockchainie TON, z każdej transakcji uzyskamy prowizję do 1$. To dużo, ponieważ wypłata jednemu zwycięskiemu graczowi będzie niewielka, na przykład 5$ (1/10 od 50$ lub 1/10 od przegranej przegranego), z tych 5$ będziemy musieli zapłacić 1$ prowizji sieci, to nie jest zbyt korzystne, szczególnie jeśli płacić ją za każdym razem przy każdej wypłacie wygranej.
Zadanie
Konieczne jest stworzenie kontraktu smart TON dla gry, który agreguje transakcje jednej rundy i dokonuje wypłat. To znaczy, przelewy w jednej sali będą realizowane jednym kontraktem smart, tym samym teoretycznie zaoszczędzimy na prowizjach sieci i będziemy płacić 1/10 prowizji z 10 transakcji. Czyli prowizja za 10 przelewów (wypłata 9 użytkownikom + wypłata systemowi) wyniesie 1$, a nie 10$ (10 transakcji, prowizja sieci każdej warunkowo 1$).
Podsumowując, 1 gra - 1 transakcja onchain w blockchainie (10 działań).
Nie jestem deweloperem blockchain, więc jeśli coś sformułowałem lub opisałem niepoprawnie, mogę podać więcej szczegółów w korespondencji. Podejrzewam, że to nie jest rocket science i można to zrealizować, ale jeśli masz pomysły, jak rozwiązać nasz problem innymi sposobami - również mile widziane. Projekt jest długoterminowy, jeśli dobrze sobie poradzisz i będzie zainteresowanie - pojawią się kolejne zadania $