Git Product home page Git Product logo

xbts-faucet's Introduction

BitShares Faucet NodeJS

Faucet is used to pay the registration fee for new BitShares users. In order to ensure Anonymity of the user's IP, his IP-address is hashed.

NodeJS Setup (if necessary)

sudo apt-get install build-essential g++ python git curl ntp htop nmon iftop nano -y
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.0/install.sh 2>/dev/null | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm install 10.21.0 >>install.log
nvm use 10.21.0 >>install.log
nvm alias default 10.21.0
npm install -g npm forever grunt-cli

Install App

git clone https://github.com/technologiespro/nodejs-faucet.git
cd nodejs-faucet
npm install

Settings

mv sample.config.json config.json
nano config.json

Set

  • port - app port number default 48887 up to 65535

  • bts.node - public bitshares api node

  • bts.registrar - registrar BitShares account

  • bts.wif - registrar BitShares account private active key

  • bts.default_referrer - default referrer account name

  • bts.referrer_percent - referrer percent

  • bts.broadcastTx - default true, for testing set false

  • bts.timeoutIp - default 1800 sec (30 min) registration time on 1 ip

  • bts.allowPremium - default false, registration premium names

  • bts.allowCustomerReferer - default true, false - always use referrer from config

  • bts.sendAfterReg.asset - asset name for send to new registered user (ex. XBTSX.STH)

  • bts.sendAfterReg.amount - asset amount for send to new registered user (ex. 10)

save and exit from nano editor: CTRL+O, CTRL+X

Start/Stop, Logs & Shell

cd nodejs-faucet

npm start for testing

or

cd nodejs-faucet

sh start.sh - faucet start

sh stop.sh - faucet stop

sh log.sh - faucet log

default on http://server_ip:48887, for use domain setup nginx

Nginx Setup

sudo apt install nginx

cd /etc/nginx/sites-available

sudo nano faucet

  • insert config
server {
        listen 80;
        listen 443 ssl;
        server_name faucet.yoursite.com;
        location / {
        proxy_pass http://localhost:48887;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
       }
}

API

  • GET /api/v1/ip - test get ip address
  • GET /api/v1/counter - total registrations
  • GET /api/v1/registrations/your_any_password_in_config - list registrations
  • POST /api/v1/accounts - register new account

SSL

please visit https://certbot.eff.org/lets-encrypt/ubuntuxenial-nginx

Vote for

witness: xbtsio-wallet

xbts-faucet's People

Contributors

technologiespro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.