wallacegunner
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 97
Merit: 39
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 04, 2021, 01:54:10 PM |
|
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](https://bitcointalk.org/Smileys/default/undecided.gif) 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/0xC950039ABcB06e7bC331d986a3DB86cFF50A4472Dia 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](https://bitcointalk.org/Smileys/default/cool.gif) 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.appNo aguardo: 0x7C0E59DcAE2045A433D4fFa2f7f6D76004d6fE0E ![Grin](https://bitcointalk.org/Smileys/default/grin.gif)
|
teste2
|
|
|
sabotag3x
Legendary
Offline
Activity: 2632
Merit: 2257
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 04, 2021, 02:52:34 PM Last edit: July 23, 2023, 05:27:17 PM by sabotag3x |
|
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).
Vou postar um mini-tutorial, talvez o pessoal não esteja participando pois não saiba o quão fácil é.. 1) você baixa a extensão Metamask: https://metamask.io/2) Ai você cria uma carteira nova: 3) Seleciona a rede (testnet da Kuvan): 4) Clica em Connect no belo site que o @TryNinja fez e seleciona a carteira: 5) Coloca o montante que quer apostar e clica no time desejado: 6) Depois é só confirmar a transação: ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F07%2F23%2FnFK48.png&t=665&c=ztlmedjnIMcUOQ) Pelo método anterior (etherscan), é o mesmo processo porém você precisa(va) inserir os dados da aposta manualmente ao invés de apenas clicar.. o legal dessas apostas é que o site pode ficar offline por algum motivo e mesmo assim você consegue fazer a aposta por outro lugar.. Apostei no Brasil ![](https://bitcointalk.org/Smileys/default/afro.gif)
|
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 04, 2021, 06:59:40 PM Last edit: August 04, 2021, 07:21:50 PM by TryNinja |
|
No aguardo: 0x7C0E59DcAE2045A433D4fFa2f7f6D76004d6fE0E ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) As faucets da Kovan parecem estar bem secas, mas consegui enviar 0.04 To gostando de ver várias apostas... espero que não tenha implementado um bug critico na nova versão do contrato. ![Grin](https://bitcointalk.org/Smileys/default/grin.gif)
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.
Reportado. ![Cool](https://bitcointalk.org/Smileys/default/cool.gif)
|
|
|
|
wallacegunner
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 97
Merit: 39
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 02:15:03 AM |
|
5) Coloca o montante que quer apostar e clica no time desejado: ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.imgur.com%2F1JxbEu6.png&t=665&c=33KxonSkyvxBgQ) vou usar o mini-tutorial do @sabotag3x para avisar pro @TryNinja que depois que conecto o site com o metamask, não aparece as opções de aposta, mostra apenas o endereço e no balance fica só "Balance:ETH" Obs¹.: os 0.04 já estão no metamask. Obs².: to usando o Brave, e tbm tentei com o shields desativado. alguma dica?
|
teste2
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 02:22:38 AM |
|
depois que conecto o site com o metamask, não aparece as opções de aposta, mostra apenas o endereço e no balance fica só "Balance:ETH"
Estranho, tem como abrir o console do navegador (inspecionar elemento) e ver se aparece algum erro lá?
|
|
|
|
wallacegunner
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 97
Merit: 39
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 02:27:51 AM |
|
depois que conecto o site com o metamask, não aparece as opções de aposta, mostra apenas o endereço e no balance fica só "Balance:ETH"
Estranho, tem como abrir o console do navegador (inspecionar elemento) e ver se aparece algum erro lá? ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.postimg.cc%2FVvs6dQ8f%2Fimage.png&t=665&c=RSSL68-3IYLmQQ)
|
teste2
|
|
|
sabotag3x
Legendary
Offline
Activity: 2632
Merit: 2257
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 03:00:28 AM Last edit: July 23, 2023, 05:27:03 PM by sabotag3x |
|
alguma dica?
Tentei reproduzir o erro e não obtive resultado.. Tentei conectar em outra rede e depois logar, etc e nada desse erro.. Esses 3 erros do console também aparecem aqui.. Tenta pelo etherscan para ver se é problema no site ou no metamask: https://kovan.etherscan.io/address/0xC950039ABcB06e7bC331d986a3DB86cFF50A4472![](https://ip.bitcointalk.org/?u=https%3A%2F%2Ftalkimg.com%2Fimages%2F2023%2F07%2F23%2FnF7Cj.png&t=665&c=izmSmPQk2v9n4Q) edit: também estou usando o Brave.
|
|
|
|
wallacegunner
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 97
Merit: 39
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 03:08:47 AM |
|
acho que sei o que pode ser. ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.postimg.cc%2FSKw6npmb%2Fimage.png&t=665&c=kunOcFFkjX7EJA) tem o registro de 0.04, mas na parte de cima, ta zerado ainda. na kovan.etherscan.io mostra o saldo correto, deve ser algum zig no metamask. ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.postimg.cc%2FvZChVnvK%2Fimage.png&t=665&c=BO8qlmR2MiJzPg) hj mais tarde vou tentar de novo, vlw pela Força @sabotag3x e @TryNinja.
|
teste2
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 10:11:33 AM |
|
tem o registro de 0.04, mas na parte de cima, ta zerado ainda.
Parece ser problema no RPC que não está trazendo os dados. Tenta trocar a rede para a main e depois voltar novamente para a Kovan, ou só abrir e fechar o navegador. Aproveitei e fiz alguns ajustes no site, que agora verifica se você ganhou a aposta e já mostra um botão de claim com o valor do prêmio.
|
|
|
|
wallacegunner
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 97
Merit: 39
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 01:33:10 PM |
|
Parece ser problema no RPC que não está trazendo os dados. Tenta trocar a rede para a main e depois voltar novamente para a Kovan, ou só abrir e fechar o navegador.
ontem mesmo tinha feito isso, troquei de rede, e depois abrir o navegador só com o seu site, mas mesmo assim nada ![Undecided](https://bitcointalk.org/Smileys/default/undecided.gif) ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.postimg.cc%2F9FL9WBCv%2Fimage.png&t=665&c=nUI7ebx6asYOtw) Realmente parece algo na MetaMask, tentei pela etherscan, e só conectou a carteira depois de recarregar a pagina umas 3x. Quando clico em "Write" não acontece nada. No console do navegador mostra isso ![](https://ip.bitcointalk.org/?u=https%3A%2F%2Fi.postimg.cc%2FCxZ97m10%2Fimage.png&t=665&c=tzT8FdvyEip9fA) preenchi os campo desse forma. payBet: 0.02 _gameId: 2 _team: tentei 1, 01, team1, tbm tentei 0, "Brasil" e Brasil (mesmo o campo sendo "numeric" eu tentei) vou instalar a MetaMask em outro navegador e tentar de novo.
|
teste2
|
|
|
alegotardo
Legendary
Offline
Activity: 2520
Merit: 1197
☢️ alegotardo™️
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 05, 2021, 06:12:52 PM |
|
tem o registro de 0.04, mas na parte de cima, ta zerado ainda.
Parece ser problema no RPC que não está trazendo os dados. Tenta trocar a rede para a main e depois voltar novamente para a Kovan, ou só abrir e fechar o navegador. Aproveitei e fiz alguns ajustes no site, que agora verifica se você ganhou a aposta e já mostra um botão de claim com o valor do prêmio. Ótimo, aos poucos você vai aprimorando a interface. Acho que seria interessante colocar links também que direcionam o usuário para a Etherscan, tanto nas apostas feitas pelo próprio usuário como também as apostas gerais ou o contrato do jogo em questão. Mais pra frente quando tiver boas APIs para extrair os dados dos jogos com fontes confiáveis você cria um site de apostas profissional e começa a lucrar com isso. Tá aí um excelente nicho de mercado para investir.... o primeiro site de apostas esportivas descentralizado ![Cool](https://bitcointalk.org/Smileys/default/cool.gif)
|
| . .Duelbits. | │ | | │ | ▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄ ███░░░░███░░░░███ ▀░░░▀░░▀░░░▀░░▀░░░▀ ▄░░░░░░░░░░░░ ▀██████████ ░░░░░███░░░░▀ ░░█░░░███▄█░░░█ ░░██▌░░███░▀░░██▌ ░█░██░░███░░░█░██ ░█▀▀▀█▌░███░░█▀▀▀█▌ ▄█▄░░░██▄███▄█▄░░▄██▄ ▄███▄ ░░░░▀██▄▀ | . REGIONAL SPONSOR | | ███▀██▀███▀█▀▀▀▀██▀▀▀██ ██░▀░██░█░███░▀██░███▄█ █▄███▄██▄████▄████▄▄▄██ ██▀ ▀███▀▀░▀██▀▀▀██████ ███▄███░▄▀██████▀█▀█▀▀█ ████▀▀██▄▀█████▄█▀███▄█ ███▄▄▄████████▄█▄▀█████ ███▀▀▀████████████▄▀███ ███▄░▄█▀▀▀██████▀▀▀▄███ ███████▄██▄▌████▀▀█████ ▀██▄███▀██▄█▄▄▄██▄████▀ ▀▀██████████▄▄███▀▀ ▀▀▀▀█▀▀▀▀ | . EUROPEAN BETTING PARTNER | |
|
|
|
wallacegunner
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 97
Merit: 39
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 06, 2021, 12:25:40 PM |
|
@TryNinja @sabotag3x Deu certo usando o MSEdge, pelo Brave não deu certo de forma alguma ate agora, mesmo removendo o Metamask e instalando de novo. Obrigado pela a todos pela ajuda. Apostas Feitas.
Ótimo, aos poucos você vai aprimorando a interface. Acho que seria interessante colocar links também que direcionam o usuário para a Etherscan, tanto nas apostas feitas pelo próprio usuário como também as apostas gerais ou o contrato do jogo em questão. Mais pra frente quando tiver boas APIs para extrair os dados dos jogos com fontes confiáveis você cria um site de apostas profissional e começa a lucrar com isso. Tá aí um excelente nicho de mercado para investir.... o primeiro site de apostas esportivas descentralizado ![Cool](https://bitcointalk.org/Smileys/default/cool.gif) Se tiver opção de apostar nos GP de F1, to dentro.(por enquanto pode ser ainda na testenet ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) )
|
teste2
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 07, 2021, 03:03:04 PM Last edit: August 07, 2021, 03:53:56 PM by TryNinja |
|
Acabou o jogo e é do Brasil. ![Cool](https://bitcointalk.org/Smileys/default/cool.gif) Tx callback da Chainlink: https://kovan.etherscan.io/tx/0x2d55a999666a9afb17bd60fdefb21db58d138acde8bedbb46adf26488826c294Mas agora tenho uma pessima notícia para os apostadores. ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Dei claim no meu prêmio e me deparei com o valor errado. Fui debuggar e descobri algo que eu não tinha percebido antes. Esse é o código que calcula o prêmio: uint256 userInitialBets = games[_gameId].bets[winner][msg.sender].amount;
uint256 winnerPoolBets = games[_gameId].totalBets[winner]; uint256 loserPoolBets = games[_gameId].totalBets[winner == 1 ? 2 : 1];
uint256 prizeAmount = userInitialBets.div(winnerPoolBets).mul(loserPoolBets).add(userInitialBets);
Algo de errado ai? A principio, parece que não. Pega o valor do bet (0.00987), divide pela pool total de apostas no vencedor (0.05325), o que daria 0.185352113. Multiplica esse valor pela pool de apostas dos perdedores (0.04881) e dá 0.00904703664. Adiciona o valor apostado pelo usuário no time vencedor (0.00987). Prêmio final de 0.00987 / 0.05325 * 0.04881 + 0.00987 = 0.0189170366! https://kovan.etherscan.io/tx/0x9e6ce0b658c3dd86efd5b2989d6ffe59cfe7563610bf54e3f91d236c34e1f4cc...mas o claim foi de 0.00987... por que? A primeira divisão (0.00987 / 0.05325) retorna 0.18, que é um número abaixo de 1. Acontece que a solidity arredonda o número para zero... /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } No final das contas, a matemática fica: 0 * 0.04881 + 0.00987 = 0.00987 A solução seria primeiro multiplicar o valor para depois dividir. #rugDoNinjabets #rektnews ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif)
|
|
|
|
sabotag3x
Legendary
Offline
Activity: 2632
Merit: 2257
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 07, 2021, 03:49:49 PM |
|
A primeira divisão (0.00987 / 0.05325) retorna 0.18, que é um número abaixo de zero.
Como assim abaixo de zero? 0.18 > 0 Abaixo de 1? #rugDoNinjabets #rektnews
Flag criada.
|
|
|
|
joker_josue
Legendary
Offline
Activity: 1764
Merit: 4834
**In BTC since 2013**
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 07, 2021, 04:20:57 PM |
|
São para essas coisas que serve a testnet.
@TryNinja... você também tem conhecimentos para desenvolver plataformas NFT?
|
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 07, 2021, 04:31:46 PM |
|
Como assim abaixo de zero? 0.18 > 0
Meu pensamento na hora foi: Números para a direita -> menor. - 0 - 0.18 = mais números para a direita > abaixo de zero. Ainda bem que eu vivo de crypto. ![Cool](https://bitcointalk.org/Smileys/default/cool.gif)
você também tem conhecimentos para desenvolver plataformas NFT?
Ter eu não tenho, mas também não tinha o conhecimento de como implementar o chainlink (de forma prática) em um smartcontract.
|
|
|
|
sabotag3x
Legendary
Offline
Activity: 2632
Merit: 2257
Crypto Swap Exchange
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 07, 2021, 07:04:10 PM |
|
Dei o claim reward aqui e recebi a aposta de volta, ao menos deu pra testar essa parte do sistema..
Não sei o quanto você está comprometido com o design do site, se for muito então seria legal trocar o "Claim 0,00 ETH" por "já resgatado" após o usuário receber o seu prêmio.
|
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 07, 2021, 07:44:53 PM |
|
Não sei o quanto você está comprometido com o design do site, se for muito então seria legal trocar o "Claim 0,00 ETH" por "já resgatado" após o usuário receber o seu prêmio.
Era a ideia mas esqueci de expor uma função que retorna se o usuário já deu claim. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Estou vendo se consigo integrar uma API que achei, que retorna dados de jogos reais. Também estou pensando em implementar apostas em mais de 2 times/jogadores. Mas alguem tem alguma sugestão para o NinjaBets v3?
|
|
|
|
alegotardo
Legendary
Offline
Activity: 2520
Merit: 1197
☢️ alegotardo™️
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 09, 2021, 01:15:49 PM |
|
Eu fiz o Claim... Já furioso em não ter recebido a minha parte dos lucros (só o valor apostado e descontado as as taxas), aí pra completar ainda recebi o valor em um token. Eu paguei em ETH e recebi de volta em ShitToken, é isso mesmo? Flag criada. Aonde? Quero apoiar mas não achei ![Angry](https://bitcointalk.org/Smileys/default/angry.gif) -EDIT- Desculpe, estou confundindo "Internal Transaction" com "Token Transfer".
|
| . .Duelbits. | │ | | │ | ▄▄█▄▄░░▄▄█▄▄░░▄▄█▄▄ ███░░░░███░░░░███ ▀░░░▀░░▀░░░▀░░▀░░░▀ ▄░░░░░░░░░░░░ ▀██████████ ░░░░░███░░░░▀ ░░█░░░███▄█░░░█ ░░██▌░░███░▀░░██▌ ░█░██░░███░░░█░██ ░█▀▀▀█▌░███░░█▀▀▀█▌ ▄█▄░░░██▄███▄█▄░░▄██▄ ▄███▄ ░░░░▀██▄▀ | . REGIONAL SPONSOR | | ███▀██▀███▀█▀▀▀▀██▀▀▀██ ██░▀░██░█░███░▀██░███▄█ █▄███▄██▄████▄████▄▄▄██ ██▀ ▀███▀▀░▀██▀▀▀██████ ███▄███░▄▀██████▀█▀█▀▀█ ████▀▀██▄▀█████▄█▀███▄█ ███▄▄▄████████▄█▄▀█████ ███▀▀▀████████████▄▀███ ███▄░▄█▀▀▀██████▀▀▀▄███ ███████▄██▄▌████▀▀█████ ▀██▄███▀██▄█▄▄▄██▄████▀ ▀▀██████████▄▄███▀▀ ▀▀▀▀█▀▀▀▀ | . EUROPEAN BETTING PARTNER | |
|
|
|
TryNinja (OP)
Legendary
Offline
Activity: 2940
Merit: 7377
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 09, 2021, 02:01:49 PM |
|
Desculpe, estou confundindo "Internal Transaction" com "Token Transfer".
Acho que o que você viu foi a transação mandando o LINK de pagamento para o endereço do oracle. ![Grin](https://bitcointalk.org/Smileys/default/grin.gif) Mas eu realmente estava pensando em criar um $NINJA e distribuir ele como parte do prêmio. Ainda dava para brincar mais um pouco e criar um contrato de staking onde você poderia lockar o $NINJA e receber uma parte dos lucros da plataforma.
|
|
|
|
|