Code Monkey home page Code Monkey logo

encode-club-solidity-bootcamp-project-w5-lotterydapp's Introduction

Lesson 20 - Lottery

Implementation details for Lottery Project

  • Implement ownable
  • Owner deploy lottery and define betting price and fee
  • Owner start lottery
    • Define a block timestamp target
  • Players must buy an ERC20 with ETH
  • Players pay ERC20 to bet
    • Only possible before block timestamp met
  • Anyone can roll the lottery
    • Only after block timestamp target is met
    • Randomness from RANDAO
  • Winner receives the pooled ERC20 minus fee
  • Owner can withdraw fees and restart lottery
  • Players can burn ERC20 tokens and redeem ETH
  • Implementing the relatively safe randomness source from prevrandao
  • Implementing the time lock using block timestamp
  • Block time estimation
  • Implementing the fee
    • (Review) Dealing with decimals
  • Withdrawing from pool and redeeming eth
  • (Bonus) "Normal" factory pattern and clone pattern overview

Homework and Weekend 5 Project

  • Build a frontend for the Lottery dApp
  • Use any framework of your preference
  • I will use create-web3-react tools

All implemented functions in the project (checked) :

  • Bet
  • burnTokens
  • buyTokens
  • Check>tate
  • ClaimPrize
  • ClosingBets
  • DisplayBalance
  • DisplayOwnerPool
  • DisplayPrize
  • DisplayTokenBalance
  • MintContract
  • OpenBets
  • WalletInfo
  • withdrawTokens

Ballot operation

Contract

LotteryContract

LotteryToken LTO02 Contract

Participant or signer

account 1

account 2 (prize winner)

encode-club-solidity-bootcamp-project-w5-lotterydapp's People

Contributors

rickowri avatar srenevic14 avatar srene avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.