0xdavinchee / ethhole-santa-list

A simple Santa's List tracker with some fun, built-in ponzinomics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Ethhole Santas List dApp

A user tracking dapp. Build a system for tracking who is on their nice list and who is on their naughty list. Allow for people to pay a fee to get themselves off of the naughty list. Let users on the nice list earn a portion of the fees based on how many other people are on the nice list. There is some built in ponzinomics.

Additional Rules:

  • The list owner is not allowed to join any list.
  • Once you are added onto the nice list, the list owner cannot move you to the naughty list.
  • You can only join the nice list by moving over from the naughty list by paying a fee.
  • The owner of the list is not allowed to add individuals to the nice list.
  • Similarly, you can only be added to the naughty list by the owner.
  • The list owner is not allowed to move you from the naughty list to the nice list.
  • The withdrawable amount changes over time based on the number of people on the nice list and the contract balance.

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. License
  5. Contact

About The Project

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Installation

  1. Clone the repo
    git clone https://github.com/0xdavinchee/ethhole-santa-list.git
  2. Install NPM packages
    npm install
  3. Create a .env file and add the two following values:
  • INFURA_API_KEY: You can get this from https://infura.io by signing up for a free account.
  • RINKEBY_PRIVATE_KEY (if you want to deploy to testnet).

Usage

To compile: npx hardhat compile.

To run tests: npx hardhat test.

Run npx hardhat node to start up a local node.

Open up another terminal window and run npx hardhat deploy --network localhost to deploy your project to localhost. You can similarly deploy to other networks like so: npx hardhat deploy --network <NETWORK>

To set up the graph you need to initialize a graph project, you can follow follow the instructions here: https://medium.com/blockrocket/dapp-development-with-a-local-subgraph-ganache-setup-566a4d4cbb.

I currently first verify my contract on rinkeby and then use graph init to initialize the project using the deployed project so that the graph initializes the project with the correct ABI and some boilerplate code.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

@0xdavinchee - 0xdavinchee@gmail.com

Project Link: https://github.com/0xdavinchee/ethhole-santa-list

About

A simple Santa's List tracker with some fun, built-in ponzinomics.


Languages

Language:TypeScript 78.8%Language:Solidity 13.3%Language:HTML 4.6%Language:CSS 3.3%