Bitcoin Forum
November 10, 2024, 08:17:46 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: NinjaBets - Aposte nas olimpíadas de forma 'descentralizada' na testnet da ETH  (Read 362 times)
TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
July 31, 2021, 01:49:52 AM
Last edit: August 04, 2021, 09:17:33 AM by TryNinja
Merited by sabotag3x (1), alegotardo (1), joker_josue (1), wallacegunner (1)
 #1

Tirei um tempinho para codar um contrato simples, baseado em Solidity, que utiliza a ChainLink para demonstrar o funcionamento de uma casa de apostas descentralizada.

Site UI: https://ninjabets.vercel.app
Contrato na testnet da Kovan: https://kovan.etherscan.io/address/0xC950039ABcB06e7bC331d986a3DB86cFF50A4472

Como apostar

É preciso ter um pouco de ETH na testnet da Kovan para pagar as transações e fazer as apostas. Existem faucets que te dão um troquinho, e.g: https://app.mycrypto.com/faucet (ou sinta-se livre para postar seu endereço, e eu mesmo mando um pouco).

Como não desenvolvi nenhuma interface, os processos devem ser feitos pela interface da Etherscan.

Com o ETH em mãos, vá para a página do contrato na Etherscan (link acima) e clique na aba "Write Contract". A função payBet pode ser chamada passando o valor em ETH da aposta no primeiro campo, o id do jogo no _gameId e o id do time (1 ou 2) no _team. Depois é só clicar em Write e confirmar a transação.

Como recuperar o premio

Após o termino do jogo, você pode chamar a função claimRewards passando o mesmo _gameId. A recompensa é calculada baseada na proporção do valor apostado no time vencedor relativo ao resto do pote, dividida pelo total apostado no time perdedor + aposta inicial. E claro que você precisa ter apostado no time vencedor para fazer isso.

O id do jogo em andamento e a quantidade apostada (de todo o jogo e por jogador) podem ser vistos na aba "Read Contract", fazendo um query nas funções getTotalBets(_gameId) e getUserBets(_gameId, _user).

Código do contrato

O código pode ser visto na mesma página da Etherscan, na aba "Contract": https://kovan.etherscan.io/address/0xC950039ABcB06e7bC331d986a3DB86cFF50A4472#code

Limitações

1. Para simplificar todo o processo, programei o contrato para aceitar apostas em apenas 2 times (por partida).

2. Ele é descentralizado no papel, mas eu controlo a API que desenvolvi para o projeto (também para simplificar o processo). Ou seja, eu que coloco no sistema quem ganhou. Em um caso realmente descentralizado, poderiamos utilizar várias APIs de provedores diferentes e comparar seus resultados. API utilizada: https://ninjabets.ninjastic.space/games/idDoJogo

3. Eu, o operador do contrato, sou o único que posso definir novos jogos e chamar o oracle da ChainLink para pegar o resultado (para fins de demonstração). Em um caso descentralizado, poderiamos dar uma recompensa leve para quem chamasse as funções no momento certo (para incentivar o desenvolvimento de bots que fizessem essa manutenção). Um exemplo que utiliza desse formato é a Aave e Compound, onde qualquer um pode criar um bot "liquidador" para liquidar empréstimos que caem abaixo de um certo nível de colateral (ficando com uma % da recompensa).



E aí, quem topa uma aposta?  Cool

Manda o endereço que eu passo uns ETH e a gente marca um jogo.

edit: atualizado com novo contrato

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
July 31, 2021, 01:50:03 AM
Last edit: July 31, 2021, 02:23:24 AM by TryNinja
 #2

O processo por trás da tela

1. Eu, o operador, defino um novo jogo: setGames(1, "Bitcoin", "Bitcoin Cash")
https://kovan.etherscan.io/tx/0xbe05a1b1211fb67fcb678b5bb62226fc6f25cf6bef6215540ab97729226c60fe

2. O jogador 1 aposta no time 1 (Bitcoin), enviando 0.001 ETH enquanto chama a função: payBet(1, 1)
https://kovan.etherscan.io/tx/0x5c050b40cb38c6bec23ef3e72c8578c2682e91935f027fe6c68cc8fdb27f8f65

3. O jogador 2 aposta no time 2 (Bitcoin Cash), enviando 0.005 ETH enquanto chama a função: payBet(1, 2)
https://kovan.etherscan.io/tx/0x6fa8aa8505742bc3fecdf33b7e401010960a40fc9869f144c23806f2d1b42daf

4. Eu, operador, fecho as apostas para o jogo de id 1: finishCurrentGame(1)
https://kovan.etherscan.io/tx/0x555c3f8b3f5fac8239d49f884fc03f503798e1a4a6ab1e5dd20729fdc31a3fd5

5. Eu, operador, aguardo o termino do jogo e chamo a função: requestGameResult(1).
https://kovan.etherscan.io/tx/0x71b7007333644cb99b03729d81086daf0b6d1ca8b542d50c81c64dcb3261b272

6. Essa mesma função faz uma chamada ao contrato da Chainlink na rede testnet da Kovan, passando o endereço da api (https://ninjabets.ninjastic.space/games/1), o dado requisitado (winner) e a função callback (fulfillOracleRequest) para ser chamada com o resultado.

Code:
{
  "id": 1,
  "title": "Qual o verdadeiro Bitcoin?",
  "team1": "Bitcoin",
  "team2": "Bitcoin Cash",
  "winner": 1
}

7. Após pegar o resultado, o node da ChanLink chama a função de callback fulfillOracleRequest passando o resultado do campo "winner", trazido da API. https://kovan.etherscan.io/tx/0x0c3c20a513da5c9398b8dd0776acb90575794326413327ad99959669d1c174c3

8. O jogador 1, que apostou no time vencedor (1 = Bitcoin), chama a função: claimRewards(1), onde ele recebe 0.06 ETH (aposta inicial de 0.01 + 0.05 do perdedor no time 2).
https://kovan.etherscan.io/tx/0x1c68a16e519433d9c427fbc9d5d3af1161a1e874bc01caa473d65b0801dc9286

Fim. Smiley

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
bitmover
Legendary
*
Offline Offline

Activity: 2478
Merit: 6316


bitcoindata.science


View Profile WWW
July 31, 2021, 03:43:06 PM
 #3

Boa, pegou minha sugestão de apostas da olimpíadas.

Mas pelo q eu entendi você não usa o api dos resultados dos jogos olímpicos. Daria para fazer isso usando um api real?

Eu die uma olhada e achei essa api aqui
https://olympicsapi.docs.apiary.io/

TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
July 31, 2021, 08:33:23 PM
 #4

Mas pelo q eu entendi você não usa o api dos resultados dos jogos olímpicos. Daria para fazer isso usando um api real?
A blockchain não se importa, qualquer API pode ser utilizada. Por isso foi utilizado uma API fake demonstrativa.

Eu die uma olhada e achei essa api aqui
https://olympicsapi.docs.apiary.io/
Não tem os resultados.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 01, 2021, 10:05:37 PM
 #5

Ninguém vai uma aposta? Cool

@bitmover, encontrei isso hoje, por acaso:

This is why we’ve chosen to integrate with Chainlink. The amazing folks at Chainlink Labs have worked tirelessly to help us not only secure our current supported assets with Chainlink Price Feeds but also incorporate something new for on-chain data feeds…
Thales goes to the 2021 Olympic Games!

As Thales smart contracts are well-suited to support sports markets, we wanted this MVP release to be something special, so we decided to include some trial Olympics sports markets for everyone to feel part of this ancient macro-event tradition.

https://thales.market/markets#olympics

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
pjvperes
Member
**
Offline Offline

Activity: 113
Merit: 83


View Profile
August 02, 2021, 02:10:32 PM
 #6

@TryNinja Parabéns, ficou muito top mano. Queria aprender também a codar esses smartcontracts com ChainLink usando Solidity, como aprendeu? Me recomenda uns conteúdos aí kkkkkkkkkkkkkk

OBS: não sei nada de programação.
TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 02, 2021, 07:55:37 PM
 #7

@TryNinja Parabéns, ficou muito top mano. Queria aprender também a codar esses smartcontracts com ChainLink usando Solidity, como aprendeu? Me recomenda uns conteúdos aí kkkkkkkkkkkkkk
Valeu. Eu já tinha um background como programador JavaScript, então não foi tão dificil. Aprendi tentando ler contratos de farms na ETH/BSC para não ser roubado e depois me aprofundei aqui e ali. Se quiser começar, recomendo esse site para achar bons recursos: https://cryptodevhub.io/wiki

Também recomendo o CryptoZombies, que curti demais: https://cryptozombies.io

Como você não sabe programação, pode ser interessante começar com JavaScript e desenvolvimento web, também.



Depois de aprender Solidity, é só saber ler os docs da Chainlink ou qualquer lib que queira usar. https://docs.chain.link

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
joker_josue
Legendary
*
Offline Offline

Activity: 1834
Merit: 5039


**In BTC since 2013**


View Profile WWW
August 02, 2021, 11:35:13 PM
 #8

Também recomendo o CryptoZombies, que curti demais: https://cryptozombies.io

Este é muito interessante. Tenho de tirar um tempo para testar.
Dará sempre para aprender mais algumas coisas.
Boa dica.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
sabotag3x
Legendary
*
Offline Offline

Activity: 2702
Merit: 2323



View Profile
August 03, 2021, 08:27:05 AM
 #9

É preciso ter um pouco de ETH na testnet da Kovak

Kovan? Foi a mais perto que encontrei..

Se me mandar uns ETH eu aceito fazer uma aposta para testar o sistema, pode ser qualquer esporte, meu endereço: 0x2abe5d8Ad5199f1d5C40A7487AC8a6464d15BE03

TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 03, 2021, 09:07:08 AM
 #10

Kovan? Foi a mais perto que encontrei..

Se me mandar uns ETH eu aceito fazer uma aposta para testar o sistema, pode ser qualquer esporte, meu endereço: 0x2abe5d8Ad5199f1d5C40A7487AC8a6464d15BE03
Opa, esse mesmo. Grin

Já mandei 0.05 ETH: https://kovan.etherscan.io/tx/0xfae093c0ef9bac2e1b2b0947ffdaafa268da01fb5bf3db949e6907eb8ab153f7

Hoje, às 22:00 (hórario de Brasilia), temos as quartas de finais do volley de praia com Brasil vs Letônia: https://olympics.com/tokyo-2020/olympic-games/en/results/beach-volleyball/results-men-qfnl-000200-.htm

A partida de id 3 está aberta. Você pode conferir os seus dados na aba "Read Contract" na etherscan.

currentGameId:
Code:
3

games, passando o id 3:
Code:
team1   string :  Brasil
team2   string :  Letonia
winner   uint256 :  0
bettingClosed   bool :  false

E apostar na aba "Write Contract", passando o valor, _gameId de 3 e o _team (1 = Brasil ou 2 = Letonia).

Apostei 0.03 na Letonia. Cool
https://kovan.etherscan.io/tx/0x457c71008b63c1f8e7332a3a1dc8a55466a4a54899a3d040cf1af2226ea7ad71

O resultado será tirado da API: https://ninjabets.ninjastic.space/games/3



Mais alguem?

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
sabotag3x
Legendary
*
Offline Offline

Activity: 2702
Merit: 2323



View Profile
August 03, 2021, 09:51:22 AM
Merited by TryNinja (2)
 #11

Mais alguem?

Fiz duas apostas para testar, uma em cada equipe.. Pensei em apostar só na Letônia para testar o que o contrato faria (devolveria o valor apostado aos dois ou teria algum bug que somaria os 2 montantes de quem apostou na Letônia, dividiria por 2 e enviaria o valor errado Tongue)..

Bem fácil apostar pelo Etherscan, imagino que também deva ser fácil criar um frontend para ficar mais amigável ao usuário..

TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 03, 2021, 11:12:52 AM
 #12

Fiz duas apostas para testar, uma em cada equipe.. Pensei em apostar só na Letônia para testar o que o contrato faria (devolveria o valor apostado aos dois ou teria algum bug que somaria os 2 montantes de quem apostou na Letônia, dividiria por 2 e enviaria o valor errado Tongue)..
Não é tão simples assim. Cheesy

A formula é: [(userBet / totalWinnerBets) * totalLoserBets] + userBet

Ou seja, se você tiver 20% do total de apostas na Letônia e ela ganhar, vai receber seu inicial + 20% do pote do prêmio (apostas no Brasil).

imagino que também deva ser fácil criar um frontend para ficar mais amigável ao usuário..
Vamos ver... Roll Eyes

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
alegotardo
Legendary
*
Offline Offline

Activity: 2590
Merit: 1225


☢️ alegotardo™️


View Profile WWW
August 03, 2021, 08:03:20 PM
Last edit: August 03, 2021, 08:48:49 PM by alegotardo
 #13

Mais alguem?

Opa, já que fizeram a frente eu vou participar também, não parece ser complicado... muito pelo contrário.
Minha wallet é 0x1D4abD8c5Bc50ceA64C3128914370781DA98C4d9

[edit]
Tenho migalhas na wallet então sem o aporte financeiro não consigo apostar Tongue
Também vou ficar off daqui a pouco e não vou conseguir participar dessa aposta de hoje.

Qualquer coisa marcamos pra outro dia Wink

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄
███░░░░███░░░░███
░░░░░░░░░░░░░
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░░░░███▄█░░░
░░██▌░░███░▀░░██▌
█░██░░███░░░██
█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀
.
REGIONAL
SPONSOR
███▀██▀███▀█▀▀▀▀██▀▀▀██
██░▀░██░█░███░▀██░███▄█
█▄███▄██▄████▄████▄▄▄██
██▀ ▀███▀▀░▀██▀▀▀██████
███▄███░▄▀██████▀█▀█▀▀█
████▀▀██▄▀█████▄█▀███▄█
███▄▄▄████████▄█▄▀█████
███▀▀▀████████████▄▀███
███▄░▄█▀▀▀██████▀▀▀▄███
███████▄██▄▌████▀▀█████
▀██▄█████▄█▄▄▄██▄████▀
▀▀██████████▄▄███▀▀
▀▀▀▀█▀▀▀▀
.
EUROPEAN
BETTING
PARTNER
TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 03, 2021, 09:53:06 PM
 #14

Tenho migalhas na wallet então sem o aporte financeiro não consigo apostar Tongue
Também vou ficar off daqui a pouco e não vou conseguir participar dessa aposta de hoje.
Mandei 0.04 ETH Smiley

https://kovan.etherscan.io/tx/0xb38e4eb45fbe4cc69c1117de0bb3bc6d67092d65808feecc58f50f074a7d7911

Seria legal uma aposta com várias pessoas diferentes, para testar o sistema por completo. Cheesy

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
alegotardo
Legendary
*
Offline Offline

Activity: 2590
Merit: 1225


☢️ alegotardo™️


View Profile WWW
August 04, 2021, 01:34:33 AM
 #15

Tenho migalhas na wallet então sem o aporte financeiro não consigo apostar Tongue
Também vou ficar off daqui a pouco e não vou conseguir participar dessa aposta de hoje.
Mandei 0.04 ETH Smiley

https://kovan.etherscan.io/tx/0xb38e4eb45fbe4cc69c1117de0bb3bc6d67092d65808feecc58f50f074a7d7911

Seria legal uma aposta com várias pessoas diferentes, para testar o sistema por completo. Cheesy

Desculpe, estou só no "mobile" agora e não sei como usar a etherscan aqui junto com minha Walker. até baixei o app da metamask mas não tenho ideia de como juntar ambos Undecided

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄
███░░░░███░░░░███
░░░░░░░░░░░░░
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░░░░███▄█░░░
░░██▌░░███░▀░░██▌
█░██░░███░░░██
█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀
.
REGIONAL
SPONSOR
███▀██▀███▀█▀▀▀▀██▀▀▀██
██░▀░██░█░███░▀██░███▄█
█▄███▄██▄████▄████▄▄▄██
██▀ ▀███▀▀░▀██▀▀▀██████
███▄███░▄▀██████▀█▀█▀▀█
████▀▀██▄▀█████▄█▀███▄█
███▄▄▄████████▄█▄▀█████
███▀▀▀████████████▄▀███
███▄░▄█▀▀▀██████▀▀▀▄███
███████▄██▄▌████▀▀█████
▀██▄█████▄█▄▄▄██▄████▀
▀▀██████████▄▄███▀▀
▀▀▀▀█▀▀▀▀
.
EUROPEAN
BETTING
PARTNER
sabotag3x
Legendary
*
Offline Offline

Activity: 2702
Merit: 2323



View Profile
August 04, 2021, 01:48:01 AM
Last edit: July 23, 2023, 05:27:23 PM by sabotag3x
 #16

Apostei 0.03 na Letonia. Cool



Cheesy Cheesy

TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 04, 2021, 02:27:25 AM
Last edit: May 14, 2023, 02:34:12 AM by TryNinja
 #17



Cheesy Cheesy
Complicado... Grin

Apostei logo na Letonia para "garantir" a sua vitória (queria que você desse o claim).



Resultado requisitado ao oracle: https://kovan.etherscan.io/tx/0x41c82d5132df6cb2ae5072c36639f63a8b562a491534d3439301a0e669b3e5ca

E premio recebido (0.065 ETH): https://kovan.etherscan.io/tx/0xf1c1a9ff7c0b0234d0d1d1f1023007334d4437b7d139ec757bbf1ee33069df0e

Cool

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
sabotag3x
Legendary
*
Offline Offline

Activity: 2702
Merit: 2323



View Profile
August 04, 2021, 02:54:32 AM
 #18

Apostei logo na Letonia para "garantir" a sua vitória (queria que você desse o claim).

Eu pensei que eu tinha apostado 0,025 no Brasil e 0,01 na Letônia, justamente para testar o claim porém olhando agora as minhas apostas de ontem, pelo visto fiz as duas apostas no Brasil Undecided

TryNinja (OP)
Legendary
*
Offline Offline

Activity: 3010
Merit: 7438


Top Crypto Casino


View Profile WWW
August 04, 2021, 09:16:10 AM
 #19

Eu pensei que eu tinha apostado 0,025 no Brasil e 0,01 na Letônia, justamente para testar o claim porém olhando agora as minhas apostas de ontem, pelo visto fiz as duas apostas no Brasil Undecided
Mais uma, então? Te mandei outros 0.05 ETH.

Fiz um novo deploy com algumas pequenas melhorias no código do contrato. E.g:

- data limite para as apostas
- qualquer um pode chamar a função requestGameResult()
- vários jogos/apostas podem rolar ao mesmo tempo

Novo contrato: https://kovan.etherscan.io/address/0xC950039ABcB06e7bC331d986a3DB86cFF50A4472

Dia 7 de Agosto, às 8:30 (horário de Brasilia), vai rolar Brasil vs Espanha pela medalha dourada. Dá tempo até do @alegotardo e, quem sabe, mais alguem participar. O id do jogo é 2 e as apostas vão até as 7:30 do mesmo dia (7 de Agosto).

Também criei uma interface simples, que pega os dados direto da blockchain, para facilitar as apostas. Cool

Lembrando que tem que conectar a carteira (e.g Metamask) na rede da Kovan, que já vem pre-configurada por padrão (só selecionar na tela da carteira).

https://ninjabets.vercel.app

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
alegotardo
Legendary
*
Offline Offline

Activity: 2590
Merit: 1225


☢️ alegotardo™️


View Profile WWW
August 04, 2021, 01:46:30 PM
Merited by TryNinja (1)
 #20

Mandei 0.04 ETH Smiley
Primeiro eu pensei em fugir com o dindin, mas aí fiquei com medo de tomar RedTrust de um DT1, depois me lembrei que na verdade o depósito foi feito na testnet da Kovan... bem que desconfiei que o @TryNinja não fosse assim tão generoso.

Dia 7 de Agosto, às 8:30 (horário de Brasilia), vai rolar Brasil vs Espanha pela medalha dourada. Dá tempo até do @alegotardo e, quem sabe, mais alguem participar. O id do jogo é 2 e as apostas vão até as 7:30 do mesmo dia (7 de Agosto).

Que maravilha, consegui fazer as apostas, a primeira pela etherscan mesmo que foi tranquilo e uma segunda pela interface que ficou muito bacana... intuitiva e fácil de mexer.

Ah, se eu ganhar o prêmio vou devolver apenas o valor não apostado, ok? Tongue

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄
███░░░░███░░░░███
░░░░░░░░░░░░░
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░░░░███▄█░░░
░░██▌░░███░▀░░██▌
█░██░░███░░░██
█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀
.
REGIONAL
SPONSOR
███▀██▀███▀█▀▀▀▀██▀▀▀██
██░▀░██░█░███░▀██░███▄█
█▄███▄██▄████▄████▄▄▄██
██▀ ▀███▀▀░▀██▀▀▀██████
███▄███░▄▀██████▀█▀█▀▀█
████▀▀██▄▀█████▄█▀███▄█
███▄▄▄████████▄█▄▀█████
███▀▀▀████████████▄▀███
███▄░▄█▀▀▀██████▀▀▀▄███
███████▄██▄▌████▀▀█████
▀██▄█████▄█▄▄▄██▄████▀
▀▀██████████▄▄███▀▀
▀▀▀▀█▀▀▀▀
.
EUROPEAN
BETTING
PARTNER
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!