The most comprehensive list of cryptonote-universal-pool's instances. Highly inspired by www.sumopools.com.
- 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
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.
The file src/config/main.json
is containing the main configuration.
The configuration is split by domains.
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.
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.
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"
}
}
}
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"
}
}
Before the footer of the front page, a donations block can be displayed according to the donations domain.
{
"donations": {
"ITNS": "iz4gonVSZ1AiaxqBy9FZwFLu671VhTcfAjRfWUvmNjNV2K1xSrzr6WCRJHG8ib92rKDWMYLqq8jbU7LZMqbavGir1aCRWLnw4",
"BTC": "13jXtnauRQf4eqXUQmH2MnAHLSp5Wefmjd"
}
}
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"
}
}
To activate Google Analytic, the
{
"analytic": {
"ga": "XX-XXXXXXXX-X"
}
}
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
}
}
The icons of the front page has to be customized there: src/front/images/icons
.
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
orcryptonote-universal-pool
, by default it'scryptonote-universal-pool
- the boolean disabled
For instance:
{
"name": "intensecoin.com",
"front": "http://intensecoin.com/pool",
"back": "http://45.32.171.89:8111",
"location": "US"
}
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
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>
- BTC:
13jXtnauRQf4eqXUQmH2MnAHLSp5Wefmjd
Released under the GNU General Public License v3