Browse Source

Update the outdated documentation.

Update the version to prepare for our release.
master
SadBatman 2 years ago
parent
commit
749b2c25b0
5 changed files with 47 additions and 218 deletions
  1. +15
    -4
      CREDITS.md
  2. +14
    -5
      README.md
  3. +17
    -19
      USAGE.md
  4. +0
    -189
      config_example.json
  5. +1
    -1
      lib/configReader.js

+ 15
- 4
CREDITS.md View File

@@ -1,13 +1,24 @@
Credits
===

Sumokoin fork credits
=====================

The sumo fork; all new features and code improvements have been made
possible by the following team:

* SadBatman
* Mad Jester
* Robert Kesior

Original Credits
================

* [LucasJones](//github.com/LucasJones) - Co-dev on this project; did tons of debugging for binary structures and fixing them. Pool couldn't have been made without him.
* [surfer43](//github.com/iamasupernova) - Did lots of testing during development to help figure out bugs and get them fixed
* [wallet42](http://moneropool.com) - Funded development of payment denominating and min threshold feature
* [Wolf0](https://bitcointalk.org/index.php?action=profile;u=80740) - Helped try to deobfuscate some of the daemon code for getting a bug fixed
* [Tacotime](https://bitcointalk.org/index.php?action=profile;u=19270) - helping with figuring out certain problems and lead the bounty for this project's creation
* [fancoder] (https://github.com/fancoder) Initial cryptonote-universal-pool creator
* BTC: `1667jMt7NTZDaC8WXAxtMYBR8DPWCVoU4d`-
* [fancoder] (https://github.com/fancoder) Initial cryptonote-universal-pool creator
* BTC: `1667jMt7NTZDaC8WXAxtMYBR8DPWCVoU4d`-
* MRO: `48Y4SoUJM5L3YXBEfNQ8bFNsvTNsqcH5Rgq8RF7BwpgvTBj2xr7CmWVanaw7L4U9MnZ4AG7U6Pn1pBhfQhFyFZ1rL1efL8z`
* [clintar] (https://github.com/clintar) Updates to support nodejs >0.10 and continuing updates
License

+ 14
- 5
README.md View File

@@ -6,29 +6,38 @@ Comes with lightweight example front-end script which uses the pool's AJAX API.
## Recent changes
##### Health monitoring
**Health monitoring**
A new /health API handler was added and can be called by miners to learn
whether the pool is healthy (e.g wallet is reachable). The UI was also
updated and calles this handler regularly: when the health is not OK a
red message will inform pool visitors about this.
##### Proxy X-Forwarded-For support
**Proxy X-Forwarded-For support**
In the configuration you can indicate whether your pool deployment is
behind a proxy. When you do this than the pool will take the client IP
(which can give unauthenticated access to the admin interface) from the
X-Forwarded-IP header that the proxy sets.
##### Email notifications
**Email notifications**
Miners can configure an email to receive notifications whenever they receive a
payment. More notifications will be added in the future (e.g. when a block is
found).
##### Miner can configure payout minimum
**Miner can configure payout minimum**
Miner can configure the minimum amount of sumo for their payments.
##### Subaddresses support
**Subaddresses support**
You can now mine using a subaddress as your login.
**Payout estimation**
In your mining stats you will now see a payout estimate. This gives an idea what
the payout will be when a next block is found.
**Miner worker statistics**
We added a miner worker statistics page. Instead of viewing hashrate statistics
consolidated per wallet address; you can now view them for each of your
individual worker.
## Basic features


+ 17
- 19
USAGE.md View File

@@ -4,7 +4,7 @@ Usage

#### Requirements
* Coin daemon(s) (find the coin's repo and build latest version from source)
* [Node.js](http://nodejs.org/) v0.10+ ([follow these installation instructions](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager))
* [Node.js](http://nodejs.org/) v4+ ([follow these installation instructions](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager))
* [Redis](http://redis.io/) key-value store v2.6+ ([follow these instructions](http://redis.io/topics/quickstart))
* libssl required for the node-multi-hashing module
* For Ubuntu: `sudo apt-get install libssl-dev`
@@ -32,7 +32,7 @@ sudo apt-get install git redis-server libboost1.55-all-dev nodejs-dev nodejs-leg
Clone the repository and run `npm update` for all the dependencies to be installed:

```bash
git clone https://github.com/billaue2/cryptonote-sumokoin-pool.git pool
git clone https://github.com/SadBatman/cryptonote-sumokoin-pool.git pool
cd pool
npm update
```
@@ -181,7 +181,7 @@ Explanation for each field:
"denomination": 10000000, //truncate to this precision and store remainder
"useDynamicTransferFee": true, // use (simple) dynamic transfer fee
"transferFeePerPayee": 4000000, // dynamic transfer fee per payee/transaction
"minerPayFee": true, // miner pays (dynamic) transfer fee instead of pool owner
"minerPayFee": true, // miner pays (dynamic) transfer fee instead of pool owner
// When the block reward is a non-zero value; it will be used to provide a
// payout estimate in the miner statistics.
"blockReward": 0
@@ -301,20 +301,19 @@ Explanation for each field:
}
```

#### 3) [Optional] Configure cryptonote-easy-miner for your pool
Your miners that are Windows users can use [cryptonote-easy-miner](https://github.com/zone117x/cryptonote-easy-miner)
which will automatically generate their wallet address and stratup multiple threads of simpleminer. You can download
it and edit the `config.ini` file to point to your own pool.
Inside the `easyminer` folder, edit `config.init` to point to your pool details
```ini
pool_host=example.com
pool_port=5555
#### 3) Start the pool

First make sure that the sumokoind and sumo-wallet-rpc daemons are running:

```bash
./sumokoind --detach
./sumo-wallet-rpc --wallet-file=<wallet name> --rpc-bind-port <wallet port>
```

Rezip and upload to your server or a file host. Then change the `easyminerDownload` link in your `config.json` file to
point to your zip file.
When both are running it's worth to make sure the sumokoind has it's blockchain
synced. If this is not the case your pool will show errors with "Core is busy"
until sumokoind is synchronized.

#### 4) Start the pool

```bash
node init.js
@@ -343,7 +342,7 @@ node init.js -module=api
[Example screenshot](http://i.imgur.com/SEgrI3b.png) of running the pool in single module mode with tmux.


#### 5) Host the front-end
#### 4) Host the front-end

Simply host the contents of the `website_example` directory on file server capable of serving simple static files.

@@ -403,10 +402,9 @@ the Node.js modules, and any config files that may have been changed.

### Setting up Testnet

Monero does have a testnet. Call daemon and simplewallet with --tesnet to connect to it.
Downloading the testnet blockchain may still take a while to start usint testnet, so you can use this excellent
tutorial http://moneroexamples.github.io/private-testnet/ to set up a private testnet. Should work with other
coins, too, but below are original testnet instructions by server43 for reference, too.
Sumokoin does have a testnet. Call daemon and simplewallet with --tesnet to connect to it.
Downloading the testnet blockchain may still take a while to start usint testnet, so you can use this excellent
Monero tutorial, which also applies to Sumokoin, at http://moneroexamples.github.io/private-testnet/ to set up a private testnet.

For cryptonote based coins that don't have a testnet mode (yet), you can effectively create a testnet with the following steps:



+ 0
- 189
config_example.json View File

@@ -1,189 +0,0 @@
{
"coin": "monero",
"symbol": "XMR",
"coinUnits": 100000000,
"coinDifficultyTarget": 120,

"logging": {
"files": {
"level": "info",
"directory": "logs",
"flushInterval": 5
},
"console": {
"level": "info",
"colors": true
}
},

"poolServer": {
"enabled": true,
"clusterForks": "auto",
"poolAddress": "4A2Gv6uMc3vZsGMTEMnBsgaJMtQeEBCzaigneqJN8bzkTit2Di5MVm2fjE9rfWMz4yMVxSBL3Q9QzbafXUBXzUcANNnjjEn",
"blockRefreshInterval": 100,
"blockRefreshForce": 100,
"minerTimeout": 900,
"ports": [
{
"port": 443,
"difficulty": 20000,
"desc": "SSL",
"type": "SSL"
},
{
"port": 3333,
"difficulty": 1000,
"desc": "Low end hardware"
},
{
"port": 5555,
"difficulty": 2000,
"desc": "Mid range hardware"
},
{
"port": 7777,
"difficulty": 10000,
"desc": "High end hardware"
},
{
"port": 8888,
"difficulty": 10000,
"desc": "Hidden port",
"hidden": true
}
],
"varDiff": {
"minDiff": 100,
"maxDiff": 200000,
"targetTime": 100,
"retargetTime": 30,
"variancePercent": 30,
"maxJump": 100
},
"fixedDiff": {
"enabled": true,
"addressSeparator": "."
},
"shareTrust": {
"enabled": true,
"min": 10,
"stepDown": 3,
"threshold": 10,
"penalty": 30
},
"banning": {
"enabled": true,
"time": 600,
"invalidPercent": 25,
"checkThreshold": 30
}
},

"payments": {
"enabled": true,
"interval": 600,
"maxAddresses": 50,
"mixin": 3,
"transferFee": 5000000000,
"minPayment": 1000000000000,
"maxTransactionAmount": 0,
"denomination": 100000000000
},

"blockUnlocker": {
"enabled": true,
"interval": 30,
"depth": 60,
"poolFee": 2,
"devDonation": 0.1,
"coreDevDonation": 0.1,
"extraFeaturesDevDonation":0.1
},

"api": {
"enabled": true,
"hashrateWindow": 600,
"updateInterval": 30,
"port": 8117,
"blocks": 30,
"payments": 30,
"ssl": false,
"sslport": 8119,
"sslcert": "./certs/cert.pem",
"sslkey": "./certs/privkey.pem",
"sslca": "./certs/chain.pem",
"password": "your_password"
},

"daemon": {
"host": "127.0.0.1",
"port": 18081
},

"wallet": {
"host": "127.0.0.1",
"port": 18082
},

"redis": {
"host": "127.0.0.1",
"port": 6379
},

"monitoring": {
"daemon": {
"checkInterval": 60,
"rpcMethod": "getblockcount"
},
"wallet": {
"checkInterval": 60,
"rpcMethod": "getbalance"
}
},

"charts": {
"pool": {
"hashrate": {
"enabled": true,
"updateInterval": 60,
"stepInterval": 1800,
"maximumPeriod": 86400
},
"workers": {
"enabled": true,
"updateInterval": 60,
"stepInterval": 1800,
"maximumPeriod": 86400
},
"difficulty": {
"enabled": true,
"updateInterval": 1800,
"stepInterval": 10800,
"maximumPeriod": 604800
},
"price": {
"enabled": true,
"updateInterval": 1800,
"stepInterval": 10800,
"maximumPeriod": 604800
},
"profit": {
"enabled": true,
"updateInterval": 1800,
"stepInterval": 10800,
"maximumPeriod": 604800
}
},
"user": {
"hashrate": {
"enabled": true,
"updateInterval": 180,
"stepInterval": 1800,
"maximumPeriod": 86400
},
"payments": {
"enabled": true
}
}
}
}

+ 1
- 1
lib/configReader.js View File

@@ -57,4 +57,4 @@ for(var configOption in donationAddresses) {
}
}

global.version = "v1.1.5_uni";
global.version = "v1.2.0_uni";

Loading…
Cancel
Save