HW commit
parent
8411a54328
commit
283e1ec3b7
|
@ -0,0 +1,55 @@
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
pragma solidity ^0.8.11;
|
||||||
|
|
||||||
|
contract winfreemoney {
|
||||||
|
|
||||||
|
address public admin;
|
||||||
|
address payable[] public participants;
|
||||||
|
|
||||||
|
event info(
|
||||||
|
uint256 date
|
||||||
|
);
|
||||||
|
|
||||||
|
constructor(){
|
||||||
|
admin = msg.sender;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function freeBalance() public view returns (uint256){ // összes pénz
|
||||||
|
|
||||||
|
return address(this).balance;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getparticipants() public view returns (address payable[] memory){
|
||||||
|
|
||||||
|
return participants;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function participate() external payable{ //neve és address-e a belépőnek
|
||||||
|
require(msg.value > .1 ether); //0.1 ether belépési dij
|
||||||
|
participants.push(payable(msg.sender));
|
||||||
|
emit info(block.timestamp); // aktualis idöpont
|
||||||
|
}
|
||||||
|
|
||||||
|
function randomnumber() private view returns (uint256){ // random szám generátor
|
||||||
|
|
||||||
|
return uint256(keccak256(abi.encodePacked(admin, block.timestamp)));
|
||||||
|
}
|
||||||
|
|
||||||
|
function yourwinner () public {
|
||||||
|
require(msg.sender == admin); // csak az admin használhatja
|
||||||
|
uint256 index = randomnumber() % participants.length; // nyertes választása
|
||||||
|
participants[index].transfer(address(this).balance); // transfer money
|
||||||
|
|
||||||
|
participants = new address payable[](0); //reset the contract
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function ertek () public pure returns (uint256){ // csak megadunk egy random értéket
|
||||||
|
|
||||||
|
return 42;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue