From 749b2c25b0883f4e81bef4702b17a97d5b1afec6 Mon Sep 17 00:00:00 2001 From: SadBatman Date: Tue, 19 Dec 2017 14:52:14 +0100 Subject: [PATCH] Update the outdated documentation. Update the version to prepare for our release. --- CREDITS.md | 19 ++++- README.md | 19 +++-- USAGE.md | 36 ++++----- config_example.json | 189 -------------------------------------------- lib/configReader.js | 2 +- 5 files changed, 47 insertions(+), 218 deletions(-) delete mode 100644 config_example.json diff --git a/CREDITS.md b/CREDITS.md index 5d9da8a..fcc5da2 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -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 diff --git a/README.md b/README.md index a47e7a3..e5d3ba7 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/USAGE.md b/USAGE.md index 27d4424..8c631a1 100644 --- a/USAGE.md +++ b/USAGE.md @@ -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= --rpc-bind-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: diff --git a/config_example.json b/config_example.json deleted file mode 100644 index 5a2d87d..0000000 --- a/config_example.json +++ /dev/null @@ -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 - } - } - } -} diff --git a/lib/configReader.js b/lib/configReader.js index 1c3fa0f..0a82735 100644 --- a/lib/configReader.js +++ b/lib/configReader.js @@ -57,4 +57,4 @@ for(var configOption in donationAddresses) { } } -global.version = "v1.1.5_uni"; +global.version = "v1.2.0_uni";