Skip to content

A WIP, easily configurable and super powerful cryptocurrency faucet template

License

Notifications You must be signed in to change notification settings

stjet/Faucet-v2

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Faucet v2

An easily configurable and powerful cryptocurrency faucet for xDai, Banano, Nano, Vite, and likely more later.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About the Faucet v2
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About the Faucet v2

This cryptocurrency faucet is made to be easily configurable, letting non-developers easily fork the project and run their faucet within an hour. On the other hand, experienced developers should be able to easily make tweaks, extend the faucet, and implement their own features.

(back to top)

Built With

Proudly open-source and built with:

  • Node
  • Express
  • Nunjucks
  • Bootstrap

(back to top)

Getting Started

This project is fairly light and can be run easily on free services like Repl.it. It is written in Node.js, so most other services like Heroku, cPanel, and any VPS can also be used to host this faucet. You can even run it on your own computer, although it is not recommended to do so for uptime reasons.

It is also recommended to buy a domain name. Registrars like Porkbun or Namecheap are good options, although anything that is reputable and widely used is fine (tip: don't use GoDaddy). Also, if you are using Repl.it, a free pinger service like UptimeRobot is recommended.

Prerequisites

If you are using Repl.it installing/updating npm is optional.

  • npm
    npm install npm@latest -g

Installation

  1. Get a MongoDB and hCaptcha accounts, both are free
  2. Get a seed/secret key for the faucets you want to use (Only Nano, Banano, xDai and Vite are available). see documentation/secrets.md
  3. Clone the repo
    git clone https://github.com/jetstream0/faucet-v2.git
  4. Edit config.json with your preferences. see documentation/config.md
  5. Generate a custom package.json file with the package generator
    node config.js packagesetup
  6. Install NPM packages. This step is optional if you are using Repl.it, packages are installed when you run the instance
    npm install
  7. Enter your secrets in the .env file. If you are using Repl.it this can be done using the project manager. see documentation/secrets.md
  8. That's everything! You can now run the faucet with
    npm run main
  9. Advanced: To run the faucet locally in debug mode use
    npm run dev

(back to top)

Usage

Captcha and security

A captcha is essential for keeping out automated botting of the faucet, which will deplete funds and prevent real users from using it.

For more information, please refer to documentation/captcha.md

Why run a faucet

Running a faucet is unlikely to be profitable, but it may help promote your project, serve as a bit of charity, or be a hobby project.

Getting a sponsor may help offset the costs of running a faucet.

Running EVM faucets (Polygon, Arbitrum, etc)

This faucet already supports xDai, so it is simple to change the xDai faucet into using any other EVM chain.

  • Change the rpc for xDai (in config.js) to the rpc for the EVM chain
  • Don't want the /xdai URL? Make the xDai faucet the default in config.js.
  • Finally, change instances of "xDai" into whatever EVM chain is being used in /templates/xdai.html, and change the logo.

The xDai faucet also supports sending tokens, check the documentation for more information on that.

Advanced

For more customized faucets, it is recommended that you know JavaScript, HTML, and CSS. Likely, your customization needs can be fulfilled by editing the relevant HTML files in /templates, and the CSS files and PNG images in /files/css and /files/img respectively.

(back to top)

Roadmap

  • Add security packages
  • Add Front-end verification
  • Update templates
  • Implement Prussia Captcha Splash Middleware. see documentation/captcha.md
  • Add address checks for every coin
  • Add invisible captcha
  • Documentation
  • Support token sends for xDai/EVM and Vite
  • Add Algorand faucet
  • Show block explorer tx links after claim
  • Add GoBanMe
  • Implement blacklist

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

(back to top)

Contributing

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

If you have a suggestion that would make this faucet project better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  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

Contributors

(back to top)

License

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

(back to top)

Contact

Prussia - Website - Discord Server

Project Link: https://github.com/jetstream0/faucet-v2

This faucet is very easy to set up, however, if you don't want to expend the effort, or are having issues, you can hire me.

(back to top)

Acknowledgments

Here is a list of packages and resources that made this project possible

(back to top)

About

A WIP, easily configurable and super powerful cryptocurrency faucet template

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published