我是靠谱客的博主 激动金针菇,最近开发中收集的这篇文章主要介绍第52篇 笔记-彩票类智能合约示例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文所有智能合约源码来自网络。

1.lottery01.sol

特点:限定人数,随机数与合约拥有者无关;

合约编译通过:

pragma solidity ^0.4.23;

contract Lottery10Users {
    address[10] participants;        //限制为10个用户
    uint8 participantsCount = 0;     //本轮已参与用户数
    uint  randNonce = 0;             

    function join() public payable {
	    //用户必须支付 0.1 ETH 才能加入游戏
        require(msg.value == 0.1 ether, "Must send 0.1 ether");
        require(participantsCount < 10, "User limit reached");
        require(joinedAlready(msg.sender) == false, "User already joined");
		
        participants[participantsCount] = msg.sender;
        
		//第10个用户进入后,选择获胜者
		participantsCount++;
		if (participantsCount == 10) {
            selectWinner();
        }
    }
    
	//查询用户加入游戏状态,同一用户每轮只能加入一次
    function joinedAlready(address _participant) private view returns(bool) {
        bool

最后

以上就是激动金针菇为你收集整理的第52篇 笔记-彩票类智能合约示例的全部内容,希望文章能够帮你解决第52篇 笔记-彩票类智能合约示例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部