Creando una dApp de Lotería con Solidity

in Develop Spanish3 years ago

En el día de hoy voy a crear un Smart Contract que tendrá como función hacer una lotería dónde las personas para entrar a la lotería deberán pagar un monto en Ethers . Ese monto se acumulará en el balance del contrato y cuando el dueño o manager del Smart Contract le de a un botón digamos transferir al ganador se le enviará el balance total de este Smart contract.el ganador se eligiera mediante un número aleatorio.

Procedemos a crear el Smart Contract

Código aquí abajo:


pragma solidity ^0.8.0;
contract Lottery{

address public owner;
address[] public participants;
bool public isCreated;
uint public minimumAmountToParticipate;

modifier onlyOwner(){
requiere(msg.sender == owner);
_;
}
constructor(){
owner=msg.sender;
}

function create(uint minimum) public onlyOwner{
require(!isCreated);
minimumAmountToParticipate=minimum;
isCreated=true;
}

function enter() public payable {
require(isCreated);
require(msg.value>minimumAmountToParticipate);

participants.push(msg.sender);

}

function random() private returns(uint){
return uint(keccak256(block.difficulty, block.timestamp, participants)) % participants.length;

}

function pickWinner() public onlyOwner{
require(isCreated);
uint index = random();

payable(participants [index]).transfer(address(this).balance);

participants = new address[ ] (0);
isCreated=false;
}

}

Con eso hemos finalizado nuestro contrato inteligente jeje.

#solidity #smartcontract #ERC20 #ERC721

Sort:  

Has sido votado por

PROYECTO ENLACE

'Conectando Ideas y Comunidades'

PROYECTO ENLACE es un proyecto de curación de habla hispana enfocado en recompensar contenido de calidad y apoyar autores en su proceso de crecimiento en HIVE.

Creemos y apostamos por el futuro de esta gran plataforma, y estamos muy emocionados de poder hacerla crecer junto a esta comunidad. Así que te invitamos a usar nuestra etiqueta ENLACE y estar atento a todas las actividades que tenemos preparadas y que estaremos publicando en breve.

¿QUIERES AUTOMATIZAR TUS GANANCIAS DE CURACIÓN? SE PARTE DEL PROYECTO ENLACE APOYANDO A NUESTRO TRAIL EN HIVE.VOTE INGRESA AQUÍ PARA CONCOCER LOS DETALLES.

¿QUIERES INVERTIR ENLACE? DESCUBRE COMO HACERLO Y GENERAR INGRESOS DE FORMA SEMANAL MEDIANTE TU DELEGACIÓN DE HP AQUÍ TE EXPLICAMOS COMO.

Te invitamos a participar en nuestro servidor de Discord: https://discord.gg/3S9y7BbWfS

Atentamente

EQUIPO ENLACE 2021

¡Felicitaciones!



Estás participando para optar a la mención especial de nuestra COMUNIDAD (Recompensa de 1 Hive), también has recibido 1 ENTROKEN.

1. Invierte en el PROYECTO ENTROPÍA y recibe ganancias semanalmente. Entra aquí para más información.

2. Contáctanos en Discord: https://discord.gg/hkCjFeb

3. Suscríbete a nuestra COMUNIDAD, apoya al trail de @Entropia y así podrás ganar recompensas de curación de forma automática. Entra aquí para más información sobre nuestro trail.

4. Creación de cuentas nuevas de Hive aquí.

5. Visita nuestro canal de Youtube.

Atentamente

El equipo de curación del PROYECTO ENTROPÍA