Skip to content

maletazul/cryptonote-universal-pool-list

 
 

Repository files navigation

cryptonote-universal-pool-list

The most comprehensive list of cryptonote-universal-pool's instances. Highly inspired by www.sumopools.com.

Basic features

  • Customizable per currency
  • Server configuration based on file system, one file === one server
  • coinmarket.com integration
  • Exchange integrations
  • GitHub issue integration
  • Google Analytic support (optional)
  • Donation list (optional)
  • docker image

Customization

In order to run you own cryptonote-universal-pool-list, you have to fork this repository. Then from your own repository, follow the documentation below and override stuff which sould be overridden.

Main configuration

The file src/config/main.json is containing the main configuration. The configuration is split by domains.

currency

It is about the mined currency. i.e. the name, symbol etc.

{
  "currency": {
    "name": "Intense Coin",
    "short_name": "Intense",
    "tech_name": "intensecoin",
    "symbol": "ITNS",
    "difficultyTarget": 120
  }
}

tech_name is used to locate the config directory (src/config/<tech_name>) as well as the domain name (.circleci/config.yml). difficultyTarget is used to estimate the network hashrate.

links

From the front page, links can be displayed just below the site's tile. Those links are configurable under the links domain, like below:

{
  "links": {
    "intensecoin.com": {
      "icon": "fa fa-home",
      "url": "https://intensecoin.com"
    }
  }
}

The icon value is in fact the content of a class attribute related to an empty tag <i></i>. So, the content is dedicated for library like fontawesome.io.

exchanges

From the front page, there is a block dedicated to exchanges web-site. The content of this block is related to the exchanges domain. Each exchanges is be described with a logo and a URL. The key, there stocks.exchange, will be the alt attribute of the img element.

{
  "exchanges": {
    "stocks.exchange": {
      "logo": "images/logo.stocks.exchange.png",
      "url": "https://stocks.exchange/trade/ITNS/BTC"
    }
  }
}

coinmarket

From the front page, on the right of the site's title, a coinmarket widget can be displayed according to the coinmarket domain. Please refer to coinmarketcap's documentation for more information.

{
  "coinmarket": {
    "currency": "intensecoin",
    "base": "USD",
    "secondary": "BTC",
    "ticker": "true",
    "rank": "true",
    "marketcap": "true",
    "volume": "true",
    "stats": "USD",
    "statsticker": "false"
  }
}

donations

Before the footer of the front page, a donations block can be displayed according to the donations domain.

{
  "donations": {
    "ITNS": "iz4gonVSZ1AiaxqBy9FZwFLu671VhTcfAjRfWUvmNjNV2K1xSrzr6WCRJHG8ib92rKDWMYLqq8jbU7LZMqbavGir1aCRWLnw4",
    "BTC": "13jXtnauRQf4eqXUQmH2MnAHLSp5Wefmjd"
  }
}

administrator

The administrator domain is there to setup the administrator details like the email. request_user and request_repo are used to configure the form creating the GitHub issues.

{
  "administrator": {
    "email": "admin@example.com",
    "request_user": "tmorin",
    "request_repo": "cryptonote-universal-pool-list"
  }
}

analytic

To activate Google Analytic, the

{
  "analytic": {
    "ga": "XX-XXXXXXXX-X"
  }
}

worker

The domain worker is dedicated to the back part. interval_ms is interval between to refresh of the stats. By default the value is 5 minutes.

{
  "worker": {
    "interval_ms": 300000
  }
}

Icons

The icons of the front page has to be customized there: src/front/images/icons.

Servers

The server definitions are located in src/config/servers. There is one file per servers. The name of the file is the key of the server from the front ent point of view. The content of a file is a JSON document describing:

  • the name of the server
  • the URL of the front
  • the URL of the back
  • the location
  • the implementation: nodejs-pool or cryptonote-universal-pool, by default it's cryptonote-universal-pool
  • the boolean disabled

For instance:

{
  "name": "intensecoin.com",
  "front": "http://intensecoin.com/pool",
  "back": "http://45.32.171.89:8111",
  "location": "US"
}

Deployment

cryptonote-universal-pool-list is ready to be deployed over docker. There is script doing the stuff: scripts/deploy.sh. The script is expecting to be run in a docker environment where nginx-proxy and docker-letsencrypt-nginx-proxy-companion are ready. To customize the domain name and SSL configuration, the following environment variables have to be customized:

  • ENV_NAME
  • VIRTUAL_HOST
  • LETSENCRYPT_HOST
  • LETSENCRYPT_EMAIL

Development tasks

Install the dependencies

npm run build

Start the back in development mode

npm run watch:back:<currency symbol lower case>

Start the front in development mode

npm run watch:front

Build the production sources

npm run build

Call the deploy script to build and start the updated container.

npm run deploy <tech_name> <GITHUB_CLIENT_ID> <GITHUB_CLIENT_SECRET>

Donations

  • BTC: 13jXtnauRQf4eqXUQmH2MnAHLSp5Wefmjd

License

Released under the GNU General Public License v3

About

The most comprehensive list of cryptonote-universal-pool's instances.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 45.1%
  • HTML 37.2%
  • CSS 13.9%
  • Shell 3.4%
  • Dockerfile 0.4%