Skip to content
This repository has been archived by the owner on Jun 12, 2022. It is now read-only.

3,000,000 HYDRO to Create a Utility Smart Contract that will Power Hydro dApps that Use Randomized Lottery Dynamics. #262

Closed
mitdralla opened this issue Feb 1, 2019 · 11 comments
Labels
Completed The bounty has been successfully completed 🔥 Solidity

Comments

@mitdralla
Copy link
Contributor

mitdralla commented Feb 1, 2019

Project Details

3,000,000 HYDRO to create a utility smart contract that will power Hydro dApps that use randomized lottery dynamics. There will be Layer-3 dApps and Layer-4 APIs that hook into this utility smart contract function. This Ethereum smart contract on top of Hydro Snowflake will randomly select Snowflake IDs to distribute a defined or accruing amount of HYDRO.

Background:

  • The global lottery market is over $10 Billion online alone
  • Fraud within these games costs agencies billions of dollars per year
  • Using a decentralized platform that is tied to a strong user identity can combat fraud
  • Revenue from middlemen in lotteries totals billions of dollars per year
  • Using a decentralized platform can cut the middleman fees

Features:

  • Create Lottery ID - create a unique ID for a lottery
  • Create Lottery characteristics - define the lottery
  • Assign ID - assign Snowflake ID to a lottery ID
  • Date Range - assign beginning and end date for lottery
  • Create Raffle - assign Snowflake ID to a raffle
  • Raffler - create a function to randomly select Snowflake IDs assigned to a Raffle ID
  • Escrow - hold the HYDRO assigned to a Lottery ID in an escrow contract until the end date
  • Send payout - distribute the interest HYDRO from the escrow on the end date
  • Collect fee - ability to collect fee in HYDRO as an intermediary in a lottery
  • Confirm Payment - se the Hydro Raindrop smart contract to confirm payout
  • Accrue - if there is no
  • Dispute - create a flag for a disputed payout

Other Details

What is the development you want done?

Solidity code, in the form of an open-source smart contract, deployed to the Hydro Blockchain GitHub repository for public use.

What are the deliverables?

Solidity code, in the form of an open-source smart contract, deployed to the Hydro Blockchain GitHub repository for public use.

Timeframe?

We propose 3-4 weeks as the timeframe for completion of this task.

Submission process?

First, comment on this issue to declare your willingness to complete the task. Next, fill out the Off-Chain Smart Contract Claim Form. We will evaluate candidates factoring in their qualifications, Github activity, and the order in which they expressed interest.

Oversight Process

One of the DAs will be assigned to oversee the completion of this task once it’s awarded.

Reward Structure

Once you have been selected, you will have 3-4 weeks to complete the task. The time frame begins as soon as we award the task to the candidate by communication within this thread.
During this time we will be able to provide some support around questions about the workflow on Discord.

During this time the candidate needs to update the codebase regularly in a subrepo of our official Github. This will be setup and conveyed to the candidate by the assigned DA.

If the task is not completed within the timeframe we reserve the right to offer an extension, or transfer the task to another candidate. If no extension is granted, then we reserve the right to continue on the codebase committed. The fractional disbursement for it, if any, would be given at our discretion.

Once the task is completed we will test the plug-in for efficiency and whether or not it correctly incorporates the Hydro workflow. If we approve the plug-in, we will then send you 3,000,000 Hydro.

@mitdralla mitdralla added Open Request The bounty is available to be claimed Solidity 🔥 labels Feb 1, 2019
@ricktobacco
Copy link

Hello I am interested in taking this on

@Luiserebii
Copy link

I'm interested!

@merlox
Copy link

merlox commented Feb 12, 2019

I'm interested in completing this task within a week. You'll receive tested Solidity code.

@mitdralla
Copy link
Contributor Author

This task is assigned to @merlox - we will reach out with next steps. 👍

@MJEWalker
Copy link

Actively participatIng in identifying and/or resolving issues

@merlox
Copy link

merlox commented Feb 17, 2019

I have a few questions regarding the project:

1. - Each lottery will have a reward set by the creator in HYDRO when creating the lottery that will be stored in an Escrow Smart Contract until the winner is decided, right?
2. - Users will have to pay a specific fee for participating in a lottery in HYDRO that will be decided by lottery's creator, right? For instance, 20 HYDRO to buy a ticket for the lottery.
3. - How many times each user can participate in a lottery? Is it unlimited or each person has a maximum number of tickets that he can buy per lottery?
4. - How will users pay with HYDRO tokens in this Smart Contract? How do users send tokens for buying tickets to participate in a lottery? Is there a standard way of doing payments with tokens in external contracts?
5. - How do users use their unique EIN Snowflake ID for participating in lotteries? Do I have to implement the entire snowflake smart contract or is there a simpler way of using EINs in external smart contracts?

@mitdralla
Copy link
Contributor Author

mitdralla commented Feb 19, 2019

Hey @merlox,

What you have outlined above all looks pretty good here. You can also reach out to the community to ask for thoughts as well, you have some (creative license here)

  1. Yes, a reward set by the creator held until the winner is decided, or until a winner is decided and a specific date to release reward.
  2. Yes, a user would have to pay to participate, determined by the creator.
  3. I would offer two options here. The ability to have a limit of one per user, one per user per day, or unlimited.

I can get back to you on 4 and 5.

@merlox
Copy link

merlox commented Feb 20, 2019

Great I'll wait for those 2 last points since I'm a bit stuck in the implementation with snowflake Eins. Is there an example that implements EINS in a dApp or smart contract?

@mitdralla
Copy link
Contributor Author

Hey @merlox - the documentation here would be your best location for demonstration on those functions: https://github.com/HydroBlockchain/smart-contracts/tree/master/snowflake/contracts https://hydro.gitbook.io/docs/

@merlox
Copy link

merlox commented Feb 26, 2019

I now know how to use the snowflake ID. Just so you know, I'm still working on this and I'll get it done in a week, maybe later if I get stuck somewhere.

@mitdralla mitdralla added Completed The bounty has been successfully completed and removed Open Request The bounty is available to be claimed labels Mar 28, 2019
@mitdralla
Copy link
Contributor Author

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Completed The bounty has been successfully completed 🔥 Solidity
Projects
None yet
Development

No branches or pull requests

5 participants