Accueil
Bienvenue sur le Forum Communautaire de Solidity
Publications
39- Questions et Réponses avec des ExpertsMar 29, 2025
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
00 - Questions et Réponses avec des ExpertsMar 29, 2025
Comment générer un nombre aléatoire entre 1 et 2 sans VRF ?
Je créais donc un jeu de cartes qui attribue une tête à 1 et une queue à -2 et lorsque l'utilisateur place un pari sur une chaîne de polygones... un contrat intelligent génère un nombre aléatoire compris entre 1 et 2 et si le résultat est le même... l'utilisateur obtient le double (5 % de frais pour le propriétaire du contrat) ! d'un pool et si le résultat est différent, l'utilisateur perd tout et le montant perdu est déposé dans le pool - (3 % de frais pour le propriétaire) (pour financer les gagnants)... mais y a-t-il un moyen de générer un nombre aléatoire ? Je n'ai pas de fonds du tout, donc je ne peux pas me permettre de générer du VRF chainlink. Existe-t-il donc un autre moyen sécurisé pour cela ? de plus, je suis assez nouveau dans Solidity, alors j'ai créé ce code à l'aide de chat gpt mais ça ne marche pas... Quelqu'un peut-il m'aider à améliorer le code ? 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
00 - DiscussionFeb 27, 2025
parcours d'audit des contrats intelligents
quels conseils donneriez-vous à quelqu'un qui commence tout juste le parcours de l'audit des contrats intelligents
- Smart Contract
- Solidity
- Yul
01 - DiscussionFeb 24, 2025
Salut les gars, je suis nouveau ici. J'espérais que quelqu'un pourrait me donner des liens pour apprendre efficacement la solidité.
//Identifiant de licence SDPX : MIT pragma solidity 0.8.24 ; contrat Hello World { chaîne publique Hello World ; } //Je devais juste ajouter quelque chose ici
- Smart Contract
- Solidity
02 - DiscussionDec 09, 2024
Solidity pour débutants
Après avoir suivi le cours pour débutants sur Cyfrin Updraft, j'essaie de construire quelque chose pour consolider mes connaissances, mais c'est comme si je ne savais rien. Ça me rend vraiment triste. Quels conseils allez-vous donner ?
- Smart Contract
- Solidity
23Meilleure réponse - DiscussionSep 13, 2024
Seeking Freelance Opportunities for Beginner Solidity Developer"
I have been studying Solidity for a couple of weeks and do not have any previous IT background. Are there any opportunities for me to get freelance work or earn money with my current skills?
- Solidity
- Use cases
00 - DiscussionJul 24, 2024
Formatting/Hello
I am new to Solidity! I wanted to say hello to this awesome community in hopes that it will get me out of my shell, and hopefully meet new people. I have zero programming experience, but love crypto. When posting questions in these forums is there a certain format I should post my question in, and/or any not so obvious rules I should follow in these forums? Thank you for taking the time to read, and leaving a reply!
- Smart Contract
- Solidity
- Use cases
01 - DiscussionJul 13, 2024
Career Path in WEB3 Auditing: Project Building or Learning Auditing First?
Hi everyone, I've recently completed the Solidity and Foundry basic and advanced courses with Cyfrin Updraft. I'm contemplating my next steps and considering a career in Solidity. Should I start learning smart contract auditing at this stage, or would it be more beneficial to first create some projects to solidify my current knowledge? Looking forward to your advice!
- Smart Contract
- Solidity
01 - Questions et Réponses avec des ExpertsJun 04, 2024
How often does the solidity syntax change
I'd like to know how often the solidity syntax rules are changed and the best newsletter to follow up on the most recent updates
- Smart Contract
- Solidity
- Language Grammar
- Solidity Compiler
11 - DiscussionMay 31, 2024
Reentrancy Vulnerability
Hello everyone , I've noticed that the offer function uses the .call{value: amount}("") method to send Ether to the recipient's address. Could anyone provide insight into whether this function is indeed vulnerable to reentrancy and suggest any best practices or modifications to mitigate such risks? 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
01
- 76
- 50
- 46
- 37
- 36
- 25
- 25
- 25
- 20
- 18
Gagne ta part de 1000 Sui
Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.
- Solidity
- Smart Contract
- Solidity Compiler
- Use cases
- Yul
- Optimizer
- Language Grammar
- Internals
- Private
- My ERC721 contract successfully deploys, but I can't verify the contract's source code with hardhat21
- Solidity and ethers.js Compute Different Addresses from the Same Signature21
- can't understand what are the locations(uint256)22
- How to reverse keccak256 in solidity22
- Clarification on Gas Refunds and Comparison Between "require" and "revert" in Smart Contracts21