Dish Shaking
Here is the English translation of the provided text, with the game name "Xóc Đĩa" changed to "Dish Shaking" and "Nhà cái" translated as "house bank" as per your request:
Dish Shaking is a traditional gambling game originating from the North of Vietnam.
The Dish Shaking set consists of:
1 plate
1 bowl
4 game pieces (round coins or cardboard pieces, or circular playing cards of the same size, typically with two different colors on each side)
How to Play The coins are placed on the plate and covered with the bowl. The house bank shakes the plate and then places it on the table. Players then bet on the number of coins showing heads or tails inside the plate.
Traditional Dish Shaking Cheating Methods Some people have used devices to cheat in the traditional Dish Shaking game, such as X-ray machines to see through the plate, "non-magnetic" bowls with hidden cameras, magnets on the game pieces, or contact lenses that allow them to see through the bowl, etc.
Risks of Online Gambling Traditional online gambling websites often cheat by:
Creating virtual bets
Manipulating outcomes
Refusing to pay when players win
Scamming players
Compromising personal information and bank account details
UYTIN.IO and Dish Shaking Blockchain UYTIN.IO offers a Dish Shaking Blockchain game, using blockchain technology and Chainlink VRF (Verifiable Random Function) to ensure the game is fair and transparent. The source code for the game’s smart contract is publicly available for player oversight.
Advantages:
Players can withdraw unlimited amounts of money from the game to their personal wallets.
The game’s source code has no feature to hold or lock the players' money or freeze their USDT accounts.
Players can perform decentralized transactions or sell on major cryptocurrency exchanges such as Binance.
Using USDT ensures user anonymity, protecting their identity.
To participate in betting on the Blockchain, you need to install a Cryptocurrency Wallet. Visit the link to view the installation guide and join the betting.
Betting Process on UYTIN.IO
Join a betting round: Players participate in a round of betting that lasts for 1 minute.
Close the betting round: The system will close the betting round and no further bets will be accepted.
Balance and accept bets: The system balances the bets and allocates them according to the ratio accepted by the house bank.
Call the result: The server will call the result from Chainlink VRF to ensure a random and transparent outcome.
Payout: Players who win the bet and their referees will be paid fully. Withdrawals are unlimited, ensuring players' rights.
Deposit and Withdrawal Process on UYTIN.IO
Deposit USDT into the smart contract: Players deposit USDT into the Dish Shaking smart contract to have a balance in the game.
Approve USDT: Before depositing, players need to approve USDT (Approve USDT) for the smart contract address.
Use the balance to place bets: The USDT balance in the game is used to participate in betting rounds.
Withdraw to a wallet: Players can withdraw money to their personal wallet at any time without any limit.


Once the deposit is successful, players can start placing bets in the game. Additionally, players can click Withdraw All to withdraw the entire USDT balance from the game to their personal wallet address.
Players can place bets after having a balance in the smart contract for the Dish Shaking game. Players select "EVEN" or "ODD", then enter the amount of USDT they wish to bet and click "Play" to place the bet. After the countdown ends, no more bets will be accepted, and the system will proceed with balancing the bets.

Information Displayed on the Game Interface
On the game screen, the information displayed includes:
Current balance in the house bank: 172,529.7147 USDT.
History of the last 10 game results: Displayed from left to right. For example, the first result might be Even with 2 heads and 2 tails, while the most recent result could be Odd with 3 tails and 1 head.
Current betting round: Players can begin placing bets. The system will count down from 59 to 0, during which other players can also place their bets before the round closes.

In the game’s display:
Current round: Round 17.
Betting information: Total number of players betting on Even and Odd.
Total bet amount: Before and after balancing the bets in both Even and Odd.
House bank’s amount: The amount the house bank is willing to accept in order to balance the bets between Even and Odd.
Current player’s USDT balance.
Player interaction: Enter bet amount, deposit money into the game, or withdraw funds to a personal wallet.

At the game screen:
Round 29
Countdown to close betting: 44 seconds remaining.
Current bets: 2 players have placed 700 USDT on Even.
No one has placed a bet on Odd.
The button [EVEN] changes to [EVEN 100 USDT] to show that the player has bet 100 USDT on Even.
How to Participate in a Betting Round on the Dish Shaking Blockchain Game

When the screen shows "Betting Round is Open": all players can participate in the bet.
How to place a bet:
Select a bet: Choose Even or Odd and enter the bet amount (minimum 4 USDT).
Check your USDT balance: Make sure you have enough balance to place your bet.
Confirm your bet: Click "PLAY" to finalize your bet.
Once the first player places a bet, the system will switch to the COUNTDOWN phase for closing the bet.

During this phase, players can still place their bets until the countdown reaches 0. Once it hits 0, the system will announce "The House is Accepting Bets." After this point, players cannot place further bets, and the system will balance the bets, call the result from Chainlink VRF, and payout the winning players.
Note: Players can place multiple bets and even bet on both Even and Odd if they wish.

At this stage, the system will close the betting and no longer allow players to place additional bets. The system will proceed with balancing the bets, and the house bank will retain a portion of the excess bet from the side with the higher wager, depending on the available funds in the house bank. Afterward, the system will return the excess bet to the side that placed the higher wager. Once the BET ACCEPTANCE - BALANCE BETTING process is complete, the system will request a random result from Chainlink VRF. At this point, the system will notify the transition to the Awaiting Results stage.

While waiting to open the bowl (Awaiting Results), the system will display betting information for both the EVEN and ODD sides, including the bets accepted by the house bank and the number of players betting on each side. Players will wait for the Chainlink VRF system to send the random result to the game’s smart contract. After that, the system will transition to the Reward in Progress stage.

In this stage, the system will reward the winning players by transferring the winnings to their game contract balance. Players can withdraw their funds at any time. After all winnings have been paid out, the system will move on to the next betting round. At this point, the Betting Round is Open stage will begin, and players can continue to place bets in the new round.
Direct Betting on Blockchain Explorer Guide
To place a bet, you need to approve USDT (Approve USDT) for the smart contract of the Dish Shaking Blockchain game, similar to other games. After that, follow these steps:
Go to the blockchain explorer of your selected chain, for example: polygonscan.com or arbiscan.io.
Enter the smart contract address for the Dish Shaking Blockchain game: 0x60ad159477AC10A03750A383c92C0f77eF3302FD
Select Contract → Write Contract.
Click Connect to Web3 to connect your wallet.
Select depositToGame to deposit USDT into the smart contract of the Dish Shaking Blockchain game to participate in betting: enter two parameters:
tokenAddress (the address of the USDT smart contract on the chain you’re betting on)
amount (the amount of USDT you wish to deposit, multiplied by 1,000,000. For example, to deposit 123.4 USDT, enter 123400000). After having a balance, you can place your bet.
Select XocDia_Play to place a bet. Enter the following parameters:
wager (the amount of USDT you wish to bet, multiplied by 1,000,000. For example, to bet 123 USDT, enter 123000000. The bet amount must always be less than or equal to the current balance in the smart contract for the game).
tokenAddress (the USDT smart contract address on Polygon: 0xc2132D05D31c914a87C6611C10748AEb04B58e8F, or on Arbitrum One: 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9)
isOdd (enter 1 or true for Odd, 0 or false for Even). Click Write to place your bet. The system will automatically balance the bet after the betting period and payout winnings directly to the player's balance if they win.
When you want to stop betting and withdraw USDT to your personal wallet, go to Write Contract, select withdrawAll, and enter the USDT contract address in the tokenAddress field. Then click Write. The Dish Shaking Blockchain smart contract will transfer the USDT to your wallet address (the address that signed the transaction).
Note for the Dish Shaking Blockchain Game: In the event that Chainlink VRF does not send a random result to the game’s smart contract within a set period, the system will automatically refund the bet amount to the player’s balance in the smart contract without requiring any action from the player.
Referral rewards will be transferred to the player's balance in the Dish Shaking game, and the referrer can access the Dish Shaking Blockchain game via the UYTIN.IO website interface or directly on the blockchain explorer to withdraw the referral reward to their personal wallet.



How to View Game Information Directly on the Blockchain
You can view information about betting sessions, the entire history of game results, the betting information for the current session, and the player’s balance in the game’s smart contract by following these steps:
Go to the blockchain explorer of your selected chain, for example: polygonscan.com or arbiscan.io.
Enter the smart contract address for the Dish Shaking Blockchain game: 0x60ad159477AC10A03750A383c92C0f77eF3302FD
Select Contract → Read Contract.
XocDia_GetState: View the betting information for the current betting session of the player. Enter the wallet address to view the information in the [player (address)] field, then click [Query]

The player with wallet address: 0x5E444B02252cDb1B3814cfB3188b72543c59AF82 and token: 0x295ba60A813ba6bfFbF14e68f5286F838B931F93, which is a free token from UYTIN.IO on the Arbitrum Sepolia chain, has placed a bet of 45 free tokens on the Odd side.
getBalance: View the player's balance in the Xóc Đĩa smart contract. Enter the USDT smart contract address in the [tokenAddress (address)] field, then enter the wallet address you want to view in the [playerAddress (address)] field, and click [Query].

The player with wallet address 0x5E444B02252cDb1B3814cfB3188b72543c59AF82 has 1073.58 free tokens from UYTIN.IO in the game on the Arbitrum Sepolia chain.
getResult: To view the result of a betting session, enter the session number (id in uint256 format) you want to check the historical results for in the field [id (uint256)] and then click [Query]. For example, to view the result of betting session 1, enter 1 and then click [Query].

getResult: The result of betting session 1 is Odd, with 1 white side and 3 pink sides. (0,1,0,0 is meaning pink, white, pink, pink)
getRound: To view the details of a specific betting session, enter the session number (id in uint256 format) in the field [id (uint256)] and then click [Query].

Tuple:
0x295ba60A813ba6bfFbF14e68f5286F838B931F93,1718358383,3,45000000,0,45000000,89178357979706520728589169856842741442433714288158551035522848335785720935614,6105374
(This is the information of betting round 1.)
Time (uint256):
1718359867
(This is the current blockchain time.)
Explanation of the information of betting round 1 (tuple):
0x295ba60A813ba6bfFbF14e68f5286F838B931F93
: The smart contract address of the token used for betting, showing this is the free token from UYTIN.IO.1718358383
: The blockchain time when the betting round started (when the first player placed a bet).3
: The status of the betting round.0
: The round is open for betting.1
: The round is counting down to close bets.2
: The round has successfully balanced the bets and is waiting for results from Chainlink VRF. If no results are received within the timeout period, the system will automatically refund the bet to the player’s balance.3
: The round has returned results from Chainlink VRF.
45000000
: The amount bet by the player on the "Odd" side.0
: The amount bet by the player on the "Even" side.45000000
: The amount the house (bank) receives from the player’s overage bet (in this case, 45000000 from the "Odd" side).89178357979706520728589169856842741442433714288158551035522848335785720935614
: The RequestId from Chainlink VRF, used to track the random result from Chainlink VRF.6105374
: The block number when the result request was made to Chainlink VRF, used to verify if Chainlink VRF has not provided a result after a certain number of blocks, in which case the system will automatically refund the bet to the player.
getTurn: View current betting round information.

id: 1: This is betting round number 1. time: 1718358435: This is the current time of the blockchain. lePlayers: Total number of players betting on ODD. chanPlayers: Total number of players betting on EVEN.
tuple: 0x295ba60A813ba6bfFbF14e68f5286F838B931F93, 1718358383, 1, 45000000, 0, 0, 0, 0 This is the detailed information of betting round number 1.
Explanation of the betting round #1 information (tuple):
0x295ba60A813ba6bfFbF14e68f5286F838B931F93: This is the contract address of the token being wagered. It represents the free token from UYTIN.IO.
1718358383: This is the blockchain timestamp when the betting round started (when the first bet was placed).
1: The status of the betting round:
0: Betting round is open.
1: Betting round is counting down to close.
2: Betting round has been matched, and waiting for results from Chainlink VRF. If the result is not received in time, the system will automatically refund the bets to the players' balances.
3: Betting round has results returned from Chainlink VRF.
45000000: The amount bet by players on the ODD side.
0: The amount bet by players on the EVEN side.
0: The amount received by the house for the excess bet. Since the betting round is in status 1 (open for betting), the house has not yet settled the bets, so no excess bet amount is received.
0: Chainlink VRF RequestId, which is used to track the request for the random result from Chainlink VRF. Since the house has not settled the bet yet, no request ID has been generated.
0: Block number when Chainlink VRF was called to return the result. Since the betting round is still open for placing bets and the result has not yet been called, no block number is available.

id: 2 (the round number).
tuple: (0x0000000000000000000000000000000000000000, 0, 0, 0, 0, 0, 0, 0):
Round Status: 0 – The round is open, and no players have placed bets yet. All players can start placing their bets.
After the first betting round ends, the system automatically transitions to the next betting round.
Last updated