/ethpool

Primary LanguageJavaScriptMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

ETH Pool

A Pool that provides weekly rewards to the users.
Explore the docs »

Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Tests
  5. Roadmap
  6. Contributing
  7. License
  8. Contact
  9. Acknowledgements

About The Project

Product Name Screen Shot

Create a new ETH Pool and start your own pool allowing users to invest and earn weekly rewards. Things you can do:

  • Create your own pool
  • Deposit eth
  • Withdraw eth
  • Team members can add rewards manually
  • Admin can manage team members (removing and adding new ones)
  • Earn rewards!!!

A list of commonly used resources that I find helpful are listed in the acknowledgements.

Built With

Getting Started

In the following sections you will learn how to clone this repo and get it up and running in no time.

Prerequisites

You need to have npm installed.

  • Download and install node, which already comes with npm:

Installation

  1. Clone the repo

    git clone https://github.com/vinivst/ethpool.git
  2. Install NPM packages in project ("backend")

    npm install
  3. Install packages in client

    cd client
    yarn
  4. Register a new account in Infura and create a new project to get your rinkeby key at https://infura.io/dashboard/ethereum

  5. Create a .env file at root path (you can use .env.example as a pattern)

  6. Create and save inside the .env the following:

    1. The MNEMONIC (12 words seed phrase from your wallet)
    2. INFURA_KEY (that you got from step 3)
    3. ETHERSCAN_KEY (if you want to verify your contract on etherscan, see https://github.com/rkalis/truffle-plugin-verify for more info)
  7. Deploy your smart contracts

    truffle migrate --network rinkeby
  8. Change to client directory and run react

    cd client
    yarn start
  9. Enjoy your new ETH Pool! 😄

Usage

  1. Users can deposit eth using the Deposit card (green one)

  2. Then user can withdraw eth using the Withdraw card (black one)

  3. Team can add rewards to the Reward Pool using the Deposit to Reward Pool card (gray one, only visible for team members)

  4. Admin can manage the team members, removing and adding new ones on the last two black cards (only visible for admin)

Tests

You can see all the tests inside the test folder. The tests were all made using Truffle Tests and Web3 (that are really running Mocha and Chai behind the scenes). To run the tests simply use:

truffle test

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

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

Contact

Vinicius Santiago - Email

Project Link: https://github.com/vinivst/ethpool

Acknowledgements