Solidity.

Inicio

Bienvenido al Foro Comunitario de Solidity

Publicaciones

39
  • MetaInvestor.
    Mar 29, 2025
    P&R expertos

    How to generate random Number between 1&2 without VRF?

    So I was making a coinflip game which assigns head- 1 and tails -2 and when user places bet on polygon chain.... smart contract generates a random number between 1 and 2 and if the outcome is same...user gets double - (5 % as fee to the owner of contract) ! from a pool and if outcome is different then user loses all and the lost amount is deposited in the pool - (3% as fee to the owner) (to fund winners)... but any way to make genrate a random number? I have no funds at all so I can't afford chainlink VRF to generate. So is there any other secure way for this? plus I am pritty new to solidity so I made this code with help of chat gpt but I don't it works....can anyone help to make the code better? code- // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { address public owner; uint256 public contractBalance; event BetPlaced(address indexed player, uint256 amount, bool choice); event BetResult(address indexed player, uint256 amount, bool won); constructor() { owner = msg.sender; } function placeBet(bool choice) external payable { require(msg.value > 0, "Bet amount must be greater than 0"); bool outcome = (block.timestamp % 2 == 0); // Simple pseudo-random outcome if (outcome == choice) { uint256 winAmount = (msg.value * 2 * 95) / 100; require(address(this).balance >= winAmount, "Insufficient contract balance"); payable(msg.sender).transfer(winAmount); emit BetResult(msg.sender, winAmount, true); } else { uint256 lostAmount = (msg.value * 97) / 100; contractBalance += lostAmount; emit BetResult(msg.sender, msg.value, false); } emit BetPlaced(msg.sender, msg.value, choice); } function depositFunds() external payable { require(msg.sender == owner, "Only owner can deposit funds"); contractBalance += msg.value; } function withdrawFunds(uint256 amount) external { require(msg.sender == owner, "Only owner can withdraw funds"); require(amount <= address(this).balance, "Insufficient contract balance"); payable(owner).transfer(amount); contractBalance -= amount; } } `

    • Smart Contract
    • Solidity
    0
    0
  • MetaInvestor.
    Mar 29, 2025
    P&R expertos

    ¿Cómo generar un número aleatorio entre 1 y 2 sin VRF?

    Así que estaba creando un juego con monedas que asigna 1 cara y cruz -2 y cuando el usuario hace una apuesta por una cadena de polígonos... el contrato inteligente genera un número aleatorio entre 1 y 2 y si el resultado es el mismo... ¡el usuario recibe el doble (un 5% como comisión para el propietario del contrato)! de un pool y si el resultado es diferente, el usuario lo pierde todo y la cantidad perdida se deposita en el pool (un 3% como comisión para el propietario) (para financiar a los ganadores)... pero ¿hay alguna forma de generar un número aleatorio? No tengo ningún fondo, así que no puedo permitirme generar un VRF con Chainlink. Entonces, ¿hay alguna otra forma segura de hacerlo? Además, soy bastante nuevo en Solidity, así que hice este código con la ayuda de chat gpt, pero no creo que funcione... ¿alguien puede ayudarme a mejorar el código? código- // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { address public owner; uint256 public contractBalance; event BetPlaced(address indexed player, uint256 amount, bool choice); event BetResult(address indexed player, uint256 amount, bool won); constructor() { owner = msg.sender; } function placeBet(bool choice) external payable { require(msg.value > 0, "Bet amount must be greater than 0"); bool outcome = (block.timestamp % 2 == 0); // Simple pseudo-random outcome if (outcome == choice) { uint256 winAmount = (msg.value * 2 * 95) / 100; require(address(this).balance >= winAmount, "Insufficient contract balance"); payable(msg.sender).transfer(winAmount); emit BetResult(msg.sender, winAmount, true); } else { uint256 lostAmount = (msg.value * 97) / 100; contractBalance += lostAmount; emit BetResult(msg.sender, msg.value, false); } emit BetPlaced(msg.sender, msg.value, choice); } function depositFunds() external payable { require(msg.sender == owner, "Only owner can deposit funds"); contractBalance += msg.value; } function withdrawFunds(uint256 amount) external { require(msg.sender == owner, "Only owner can withdraw funds"); require(amount <= address(this).balance, "Insufficient contract balance"); payable(owner).transfer(amount); contractBalance -= amount; } } `

    • Smart Contract
    • Solidity
    0
    0
  • 0xflavoredBy_God.
    Feb 27, 2025
    Discusión

    viaje de auditoría de contratos inteligentes

    ¿qué consejo le darías a alguien que acaba de empezar el viaje de la auditoría de contratos inteligentes

    • Smart Contract
    • Solidity
    • Yul
    0
    1
  • Eyitayo Da Dev.
    Feb 24, 2025
    Discusión

    Hola chicos, soy nuevo aquí. Esperaba que alguien pudiera darme enlaces para aprender solidez de manera efectiva.

    //Identificador de licencia SDPX: MIT pragma solidity 0.8.24; contrato Hello World { cadena pública Hello World; } //Solo tenía que añadir algo aquí

    • Smart Contract
    • Solidity
    0
    2
  • thegreatfeez.
    Dec 09, 2024
    Discusión

    Principiante en Solidity

    Después de hacer el curso para principiantes sobre cifrina ascendente, estoy intentando construir algo para poder consolidar mis conocimientos, pero es como si no supiera nada. Realmente me entristece. ¿Qué consejo me daréis

    • Smart Contract
    • Solidity
    2
    3
    Mejor Respuesta
  • 0x1e3f...4698.
    Sep 13, 2024
    Discusión

    Buscando oportunidades independientes para desarrolladores principiantes de Solidity»

    Llevo un par de semanas estudiando Solidity y no tengo ninguna formación previa en TI. ¿Tengo alguna oportunidad de conseguir trabajo independiente o de ganar dinero con mis habilidades actuales?

    • Solidity
    • Use cases
    0
    0
  • 0xb5d6...1329.
    Jul 24, 2024
    Discusión

    Formatear/Hola

    ¡Soy nuevo en Solidity! Quería saludar a esta increíble comunidad con la esperanza de que me sacara de mi caparazón y, con suerte, conociera gente nueva. No tengo experiencia en programación, pero me encantan las criptomonedas. Al publicar preguntas en estos foros, ¿hay algún formato determinado en el que debo publicar mi pregunta o alguna regla no tan obvia que deba seguir en estos foros? ¡Gracias por tomarte el tiempo de leer y dejar una respuesta!

    • Smart Contract
    • Solidity
    • Use cases
    0
    1
  • 0xe731...d226.
    Jul 13, 2024
    Discusión

    Trayectoria profesional en la auditoría WEB3: ¿construir proyectos o aprender a auditar primero?

    Hola a todos, Recientemente completé los cursos básicos y avanzados de Solidity y Foundry con Cyfrin Updraft. Estoy pensando en mis próximos pasos y considerando dedicarme a una carrera en Solidity. ¿Debería empezar a aprender a auditar contratos inteligentes en esta etapa, o sería más beneficioso crear primero algunos proyectos para consolidar mis conocimientos actuales? ¡Espero tu consejo!

    • Smart Contract
    • Solidity
    0
    1
  • 0xa0c8...4ff4.
    Jun 04, 2024
    P&R expertos

    ¿Con qué frecuencia cambia la sintaxis de solidity?

    Me gustaría saber con qué frecuencia se cambian las reglas de sintaxis de Solidity y cuál es el mejor boletín para hacer un seguimiento de las actualizaciones más recientes

    • Smart Contract
    • Solidity
    • Language Grammar
    • Solidity Compiler
    1
    1
  • Serpent0x.
    May 31, 2024
    Discusión

    Vulnerabilidad de reingreso

    Hola a todos, he notado que la función de oferta utiliza el método .call {value: amount} («») para enviar Ether a la dirección del destinatario. ¿Alguien podría darnos una idea de si esta función es realmente vulnerable al reingreso y sugerir alguna de las mejores prácticas o modificaciones para mitigar dichos riesgos? function _offer(address to, uint256 amount) internal { balance -= amount; (bool success, ) = to.call{value: amount}(""); if (!success) { revert TransferFailed(address(0), address(this), to, amount); } } `

    • Smart Contract
    • Solidity
    • Solidity Compiler
    0
    1
Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información