This website includes Education Information like a programming language, job interview question, general knowledge.mathematics

Education log

PageNavi Results No.

Ads

Sunday, July 3, 2022

solidity blockchain lottry application

solidity lottery application


/SPDX-License-Identifier: GPL-3.0

//State Vairable  required gas fee 09/June/2022

pragma solidity >= 0.5.0 < 0.9.0;


contract Lottary{

    address public manager;

    address payable[] public participents;


    constructor(){

        manager=msg.sender;

    }


    receive()  external payable{

        require (msg.value==1 ether);

        participents.push(payable(msg.sender));


    }


    function getbalance()public view returns(uint){

        require(msg.sender==manager );

        return address(this).balance;


    }

    function random () public view returns (uint){

       return uint(keccak256(abi.encodePacked(block.difficulty,block.timestamp,participents.length)));

    }


    function selectwinner() public {


    

        require(msg.sender==manager);

        require(participents.length>=3);

        address payable winner;

        uint r=random();

        uint index=r % participents.length;

        winner= participents[index];

       winner.transfer(getbalance());

       participents=new address payable[](0);


    }



}


No comments:

Post a Comment