Skip to content

foxnike/Lottery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lottery System based Ethereum smart contract

本项目是对Chainlink彩票项目的拙略模仿;

功能

  1. 彩票购买
  2. 彩票开奖
  3. 彩票领奖

优势

  1. 透明(整个系统运作过程所有人可见)
  2. 可溯源(彩票含有本人信息,)

设计

  1. 使用状态机完成彩票系统一轮循环
  2. 使用以太币购买彩票(可以替换为代币)
  3. 随机开奖结果
  4. 开奖:直接将奖金返还到购买彩票的钱包
  5. 可以实现一个代购机构(即分离购买和返奖钱包地址)

问题分析

  1. 尝试多合约协作

    how to deploy ?
    advantage or disadvantage ?

  2. 随机实现

    1. 有相应的库实现
    2. 或者放弃伪随机数,采用现实随机方式与blockchain结合
  3. 退还机制

    一旦系统发生故障,需要将本轮参与本金退还到购买彩票的钱包

  4. 彩票的自动重启

    1. 使用外部API,Chainlink提供相应的API可用于在规定时间后,重新调用相关外部接口

实现

  1. LotteryMachine.sol (采用状态机的方式实现,负责系统的主体流程控制,调用其他合约接口)
  2. random.sol (rvf)
  3. record.sol (记录奖金发放记录)
  4. timing.sol(控制系统开奖,重新开放的时间,是否需要集成到主程序中?)

About

Lottery System based Solidity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published