2014-02-28 19:12:59 -08:00
|
|
|
# Stratum Portal
|
|
|
|
|
|
|
|
## Goal of this project
|
|
|
|
When ready, this portal will be able to spawn pools for all configured coins/cryptocurrencies.
|
|
|
|
Each pool will take advantage of clustering to load balance across multiple CPU cores and be
|
|
|
|
extremely efficient.
|
|
|
|
|
2014-03-01 10:14:41 -08:00
|
|
|
For reward/payment processing, shares will be inserted into a fast NoSQL key/value database such as Redis.
|
2014-02-28 19:12:59 -08:00
|
|
|
Each coin will have a processor that monitors for confirmed submitted blocks then send out payments
|
|
|
|
according to shares accumulated in the database.
|
|
|
|
|
|
|
|
For now the plan is to not have user accounts, but rather, have miners use their coin address for
|
|
|
|
stratum authentication. This portal will come with a minimalistic HTML5 front-end that displays
|
|
|
|
statistics from from each pool such as connected miners, network/pool difficulty/hash rate, etc.
|
|
|
|
|
|
|
|
To reduce variance for pools just starting out which have little to no hashing power a feature
|
|
|
|
could be added that connects upstream to a larger pool server. After receiving work from the larger
|
|
|
|
pool it would then be redistributed to our connected miners.
|
|
|
|
|
2014-03-01 10:14:41 -08:00
|
|
|
Another great feature would be utilizing the multi-pool ability of this portal to allow a connected
|
|
|
|
miner to be switched from one pool/coin to another. The switching can be controlled using a coin
|
|
|
|
profitability API such as CoinChoose.com or CoinWarz.com.
|
2014-02-28 19:12:59 -08:00
|
|
|
|
|
|
|
|
|
|
|
#### [Optional, recommended] Setting up blocknotify
|
|
|
|
* In `config.json` set the port and password for `blockNotifyListener`
|
2014-03-01 10:14:41 -08:00
|
|
|
* In your daemon conf file set the `blocknotify` command to use:
|
2014-02-28 19:12:59 -08:00
|
|
|
|
|
|
|
```
|
2014-03-01 10:14:41 -08:00
|
|
|
[path to scripts/blockNotify.js] [listener host]:[listener port] [listener password] [coin name in config]
|
2014-02-28 19:12:59 -08:00
|
|
|
%s"
|
|
|
|
```
|
|
|
|
|
2014-03-01 10:14:41 -08:00
|
|
|
* Example: `dogecoin.conf` > `blocknotify="scripts/blockNotify.js localhost:8117 mySuperSecurePassword dogecoin %s"`
|
2014-02-28 19:12:59 -08:00
|
|
|
|
|
|
|
|
2014-01-13 17:32:54 -08:00
|
|
|
|
2014-03-01 10:14:41 -08:00
|
|
|
Usage
|
|
|
|
=====
|
|
|
|
|
|
|
|
### 1) Download
|
2014-01-13 17:32:54 -08:00
|
|
|
|
2014-01-13 17:58:27 -08:00
|
|
|
```
|
|
|
|
git clone https://github.com/zone117x/node-stratum-portal.git
|
|
|
|
cd node-stratum-portal
|
|
|
|
git clone https://github.com/zone117x/node-stratum node_modules/stratum-pool
|
|
|
|
npm update
|
|
|
|
node init.js
|
|
|
|
```
|