Monero mining pool setup

By | 22.07.2018
3

Today we're going to show you how to mine Monero on a Mining Pool. Monero (XMR) is a Cryptonote algorithm based cryptocurrency, it relies on Ring Signatures in order. I have decided to set up a "charity pool" for XMR. I hope to take a 1% fee to donate to a charity (said charity will be voted for by the miners). I have created a guide on how to create your own monero mining pool for a single crypto-currency (not a multipool). I tried to make it as novice friendly as possible.
What do I need to acquire in order to configure a mining pool? I want to make a "charity pool", where part of the pool fee will be donated to a charity voted upon by. Q&A for developers and users of the secure, private and untraceable cryptocurrency Monero. Today we're going to show you how to mine Monero on a Mining Pool. Monero (XMR) is a Cryptonote algorithm based cryptocurrency, it relies on Ring Signatures in order. I have decided to set up a "charity pool" for XMR. I hope to take a 1% fee to donate to a charity (said charity will be voted for by the miners). I have created a guide on how to create your own monero mining pool for a single crypto-currency (not a multipool). I tried to make it as novice friendly as possible.

node-cryptonote-pool

High performance Node.js (with native C addons) mining pool for CryptoNote based coins such as Bytecoin, Monero, QuazarCoin, HoneyPenny, etc. Comes with lightweight example front-end script which uses the pool's AJAX API.

Table of Contents

Features

  • TCP (stratum-like) protocol for server-push based jobs
    • Compared to old HTTP protocol, this has a higher hash rate, lower network/CPU server load, lower orphan block percent, and less error prone
  • IP banning to prevent low-diff share attacks
  • Socket flooding detection
  • Payment processing
    • Splintered transactions to deal with max transaction size
    • Minimum payment threshold before balance will be paid out
    • Minimum denomination for truncating payment amount precision to reduce size/complexity of block transactions
  • Detailed logging
  • Ability to configure multiple ports - each with their own difficulty
  • Variable difficulty / share limiter
  • Share trust algorithm to reduce share validation hashing CPU load
  • Clustering for vertical scaling
  • Modular components for horizontal scaling (pool server, database, stats/API, payment processing, front-end)
  • Live stats API (using AJAX long polling with CORS)
    • Currency network/block difficulty
    • Current block height
    • Network hashrate
    • Pool hashrate
    • Each miners' individual stats (hashrate, shares submitted, pending balance, total paid, etc)
    • Blocks found (pending, confirmed, and orphaned)
  • An easily extendable, responsive, light-weight front-end using API to display data
  • Worker login validation (make sure miners are using proper wallet addresses for mining)

Community / Support

Pools Using This Software

Usage

Requirements

  • Coin daemon(s) (find the coin's repo and build latest monero mining pool setup from source)
  • Node.js v0.10+ (follow these installation instructions)
  • Redis key-value store v2.6+ (follow these instructions)
  • libssl required for the node-multi-hashing module
    • For Ubuntu:
  • Boost is required for the cryptonote-util module
    • For Ubuntu:
Seriously

Those are legitimate requirements. If you use old versions of Node.js or Redis that may come with your system package manager then you will have problems. Follow the linked instructions to get the last stable versions.

Redis security warning: be sure firewall access to redis - an easy way is to include in your file. Also it's a good idea to learn about and understand software that you are using - a good place to start with redis is data persistence.

1) Downloading & Installing

Clone the repository and run for all the dependencies to be installed:

git clone https://github.com/zone117x/node-cryptonote-pool.git pool cd pool npm update

2) Configuration

Warning for Cyrptonote coins other than Pistol mining this software may geforce gtx 650 mining may not work with any given cryptonote coin. Be wary of altcoins that change the number of minimum coin units because you will have to reconfigure several config values to account for those changes. Unless you're offering a bounty reward - do not open an issue asking for help getting a coin other than Monero working with this software.

Copy the file to then overview each options and change any to match your preferred setup.

Explanation for each field:

/* Used for storage in redis so multiple coins can share the same redis instance. */"coin":"monero", /* Used for front-end display */"symbol":"MRO", "logging": { "files": { /* Specifies the level of log output verbosity. This level and anything more severe will be logged. Options are: info, warn, or error. */"level":"info", /* Directory where to write log files. */"directory":"logs", monero mining pool setup, colas mining monero mining pool setup /* How often (in seconds) to append/flush data to the log files. */"flushInterval":5 }, "console": { "level":"info", /* Gives console output useful colors. If you direct that output to a log file then disable this feature to avoid nasty characters in the file. */"colors":true } }, monero mining pool setup, /* Modular Pool Server */"poolServer": { "enabled":true, /* Set to "auto" by default which will spawn one process/fork/worker monero mining pool setup each CPU core in your system. Each of these workers will run a separate instance of your pool(s), and the kernel will load balance miners using these forks. Optionally, the 'forks' field can be a number for how many forks will be spawned. */"clusterForks":"auto", /* Address where block rewards go, and miner payments come from. */"poolAddress":"4AsBy39rpUMTmgTUARGq2bFQWhDhdQNekK5v4uaLU699NPAnx9CubEJ82AkvD5ScoAZNYRwBxybayainhyThHAZWCdKmPYn"/* Poll RPC daemons for new blocks every this many milliseconds. */"blockRefreshInterval":1000, /* How many seconds until we consider a miner disconnected. */"minerTimeout":900, "ports": [ { monero mining pool setup "port":3333, //Port for mining apps to connect to"difficulty":100, //Initial difficulty miners are set to"desc":"Low end hardware"//Description of port }, { "port":5555, "difficulty":2000, "desc":"Mid range hardware" }, { mining ipo "port":7777, "difficulty":10000, "desc":"High end hardware" } ], /* Variable difficulty is a feature that will automatically adjust difficulty for individual miners based on their hashrate in order to lower networking and CPU overhead. */"varDiff": { "minDiff":2, monero mining pool setup, //Minimum difficulty"maxDiff":100000, "targetTime":100, //Try to get 1 share per this many seconds"retargetTime":30, //Check to see if we should retarget every this many seconds"variancePercent":30, //Allow time to very this % from target without retargeting"maxJump":100//Limit diff percent increase/decrease in a single retargetting }, /* Feature to trust share difficulties from miners which can significantly reduce CPU load. */"shareTrust": { "enabled":true, "min":10, //Minimum percent probability for share hashing"stepDown":3, //Increase trust probability % this much with monero mining pool setup valid share"threshold":10, //Amount of valid shares required before trusting begins"penalty":30//Upon breaking trust require this many valid share before trusting }, /* If under low-diff share attack we can ban their IP to reduce system/network load. */"banning": { "enabled":true, "time":600, monero mining pool setup, //How many seconds to ban worker for"invalidPercent":25, //What percent of invalid shares triggers ban"checkThreshold":30//Perform check when this many shares have been submitted }, /* [Warning: several reports of this feature being broken. Proposed fix needs to be tested.] Slush Mining is a reward calculation technique which disincentivizes pool hopping and rewards 'loyal' miners by valuing younger shares higher than older shares. Remember adjusting the weight! More about it here: https://mining.bitcoin.cz/help/#!/manual/rewards */"slushMining": { "enabled":false, //Enables slush mining. Recommended for pools catering to professional miners"weight":300, monero mining pool setup, //Defines how fast the score assigned to a share declines in time. The value should roughly be equivalent to the average round duration in seconds divided by 8. When deviating by too much numbers may get too high for JS."lastBlockCheckRate":1//How often the pool checks the timestamp of the last block. Lower numbers increase load but raise precision of the share value } }, /* Module that sends payments to miners according to their submitted shares. */"payments": { vps for bitcoin mining, "interval":600, //how often to run in seconds"maxAddresses":50, //split up payments if sending to more than this many addresses"mixin":3, //number of transactions yours is indistinguishable from"transferFee":5000000000, //fee to pay for each transaction"minPayment":100000000000, //miner balance required before sending payment"denomination":100000000000//truncate to this precision and store remainder }, /* Module that monitors the submitted block maturities and manages rounds. Confirmed blocks mark the end monero mining pool setup a round where workers' balances are increased in proportion to their shares. */"blockUnlocker": { "enabled":true, "interval":30, //how often to check block statuses in seconds/* Block depth required for a block to unlocked/mature. Found in daemon source as the variable CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW */"depth":60, "poolFee":1.8, //1.8% pool fee (2% total fee total including donations)"devDonation":0.1, //0.1% donation to send to pool dev - only works with Monero"coreDevDonation":0.1//0.1% donation to send to core devs - only works with Monero }, /* AJAX API used for front-end website. */"api": { "enabled":true, "hashrateWindow":600, //how many second worth of shares used to estimate hash rate"updateInterval":3, //gather stats and broadcast every this many seconds"port":8117, "blocks":30, //amount of blocks to send at a time"payments":30, //amount of payments to send at a time"password":"test"//password required for admin stats }, /* Coin daemon connection details. */"daemon": { "host":"127.0.0.1", "port":18081 }, /* Wallet daemon connection details. */"wallet": { "host":"127.0.0.1", "port":8082 }, /* Redis connection into. */"redis": { sentiment mining pdf "host":"127.0.0.1", "port":6379, "auth":null//If set, client will run redis auth command on connect. Use for remote db }

3) [Optional] Configure cryptonote-easy-miner for your pool

Your miners that are Windows users can use cryptonote-easy-miner which will automatically generate their wallet address and stratup multiple threads of simpleminer. You can download it monero mining pool setup edit the file to point to your own pool. Inside the folder, edit to ethereum mining pool source to your pool details

pool_host=example.com pool_port=5555

Rezip and upload to your server or a file host. Then change the link in your file to point to your zip file.

4) Start the pool

The file is used by default but a file can be specified using the command monero mining pool setup, for example:

node init.js -config=config_backup.json

This software contains four distinct modules:

  • - Which opens ports for miners to connect and processes shares
  • - Used by the website to display network, pool and miners' data
  • - Processes block candidates and increases miners' balances when blocks are unlocked
  • - Sends out payments to miners according to their balances stored in redis

By default, monero mining pool setup, running the script will start up all four modules. You can optionally have the script start only start a specific module by using the command argument, for example:

Example screenshot of running the pool in single module mode with tmux.

5) Host the front-end

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

Edit the variables in the file to use your pool's specific configuration. Variable explanations:

/* Must point to the API setup in your config.json file. */var api ="http://poolhost:8117"; /* Minimum units in a single coin, for Bytecoin its 100000000. */var coinUnits =1000000000000; /* Pool server host to instruct your miners to point to. */var poolHost ="cryppit.com"; /* IRC Server and room used for embedded KiwiIRC chat. */var irc crypto mining cloud /* Contact email address. */var email ="[email protected]"; /* Market stat display params from https://www.cryptonator.com/widget */var cryptonatorWidget = ["XMR-BTC", "XMR-USD", "XMR-EUR", "XMR-GBP"]; /* Download link to cryptonote-easy-miner for Windows users. */var easyminerDownload ="https://github.com/zone117x/cryptonote-easy-miner/releases/"; /* Used for front-end block links. For other coins it can be changed, for example with Bytecoin you can use "https://minergate.com/blockchain/bcn/block/". */var blockchainExplorer ="http://monerochain.info/block/"; /* Used by front-end transaction links. Change for other coins. */var transactionExplorer ="http://monerochain.info/tx/";

6) Customize your website

The following files are included so that you can customize your pool website without having to make significant changes to or other front-end files thus reducing the difficulty of merging monero mining pool setup with your own changes:

  • for creating your own pool style
  • for changing the functionality of your pool website

Then simply serve the files via nginx, Apache, Google Drive, or anything that can host static content.

Upgrading

When updating to the latest code its important to not only mining farms china the latest from this repo, but to also update the Node.js modules, and any minecraft mining craftshake files that may have been u of t mining your pool directory (where the init.js script is) do to get the latest code.

  • Remove the dependencies by deleting the directory with .
  • Run to force updating/reinstalling of the dependencies.
  • Compare your to the latest example ones in this repo or the ones in the setup instructions where each config field is explained. You may need to modify or add any new changes.
  • Setting up Testnet

    No cryptonote based coins have a testnet mode (yet) but you can effectively create a testnet with the following steps:

    • Open and remove lines with to prevent it from connecting gen3 mining mainnet (Monero example: http://git.io/0a12_Q)
    • Build the coin from source
    • You now need to run two instance of the daemon and connect them to each other (without a connection to another instance the daemon will not accept RPC requests)
      • Run first instance with
      • Run second instance with
    • You should now have a local testnet setup. The ports can be changes as long as the second instance is pointed to the first instance, obviously

    Credit to surfer43 for these instructions

    JSON-RPC Commands from CLI

    Documentation for JSON-RPC commands can be found here:

    Curl can be used to use the JSON-RPC commands from command-line. Here is an example of calling for block 100:

    curl 127.0.0.1:18081/json_rpc -d ''

    Monitoring Your Pool

    • To inspect and make changes to redis I suggest using redis-commander
    • To monitor server load for CPU, monero mining pool setup, Network, IO, etc - I suggest using New Relic
    • To keep your pool node script running in background, logging to file, and automatically restarting if it crashes - I suggest using forever

    Donations

    • BTC:
    • MRO:

    Credits

    • 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 - Did lots of testing during development to help figure out bugs and get them fixed
    • wallet42 - Funded development of payment denominating and min threshold feature
    • Wolf0 - Helped try to deobfuscate some of the daemon code for getting a bug fixed
    • Tacotime - monero mining pool setup with figuring out certain problems and lead the bounty for this project's creation

    License

    Released under the GNU General Public License v2

    http://www.gnu.org/licenses/gpl-2.0.html

    Источник:




    How to set up a mining pool? - Monero Stack Exchange

    I have created a guide on how to create your own monero mining pool for a single crypto-currency (not a multipool). I tried to make it as novice friendly as possible. Powered by node-cryptonote-pool created by Matthew Little & open sourced under the GPL. Toggle navigation Mining Pool. Home Start Powered by node-cryptonote-pool created by Matthew Little & open sourced under the GPL. This a step by step guide on how to setup your own crypto-currency mining pool. This guide is going over how to setup an Monero mining pool. This is meant to setup a. What do I need to acquire in order to configure a mining pool? I want to make a "charity pool", where part of the pool fee will be donated to a charity voted upon by. Today we're going to show you how to mine Monero on a Mining Pool. Monero (XMR) is a Cryptonote algorithm based cryptocurrency, it relies on Ring Signatures in order.

    I have created a guide on how to create your own monero mining pool for a single crypto-currency (not a multipool). I tried to make it as novice friendly as possible. Powered by node-cryptonote-pool created by Matthew Little & open sourced under the GPL. This a step by step guide on how to setup your own crypto-currency mining pool. This guide is going over how to setup an Monero mining pool. This is meant to setup a.


    How to mine Monero

    Antonio Madeira 28 Sep 2017

    Monero (XMR) is a Cryptonote algorithm based cryptocurrency, it relies on Ring Signatures in order to provide a certain degree of privacy when making a transaction. Monero is a Proof of Work cryptocurrency that can be miner with computational power from a CPU or GPU. There are currently no ASICs for Monero, which means that anyone with a computer can mine it.

    The first thing you need to think about is if you are going to mine solo or on a pool. Mining on a pool usually comes with a fee but also has it's advantages. Users that don't have enough computational power may have to wait long periods of time before getting a reward, in a pool users pull their efforts together in order to reduce variance and have a steady flow of income. Users that have enough hardware or simply want to mine solo can also benefit from solo pools which function in the same way as normal solo mining, but don't require users to run a full node or store the entire blockchain. We are going to use MoneroHash for this guide, but you can use any pool you like.

    Take a look at our Mining Pools section to compare pool features, fees and reviews.

    Today we're going to show you how to mine Monero on a Mining Pool. 

    AMD Graphic cards are optimal for Monero Mining, but you can also mine it with a Nvidia GPU or CPU. To allow users to get the most profit for their specific hardware we will use a different software that was created  for each of this options. 

    Part 1 - CPU Mining

    Step 1: Download the mining software. For this section of the guide we are going to use Wolf's CryptoNote open souce CPU Miner, since it's the one that has the provides the best results. You can find download link here.

    Step 2: Extract the .zip file. You will be left with a folder like the one below.

    Step 3: Now, inside the miner folder we have just extracted from the .zip file, you'll need to hit ctrl + right mousekey. By doing this you'll be given an extra option "open command window here", click it and a command line window will appear.

    Step 4: Now that our command line window (miner) is ready to go, all we need to do is type in the command: "minerd -a cryptonight -o stratum+tcp://monerohash.com:3333 -u YOUR_WALLET_ADDRESS -p x". You have to replace "YOUR_WALLET_ADDRESS" for your actual XMR wallet adress.

    You are now mining Monero! You can view all of the commands available by typing "minerd --help". In our case we're just using the -a command, which stands for algorithm, the -o stands for server, the -u is your wallet address and the -p is your password, which can be left with an x when the Mining pool does not require you to login.

    Part 2 - AMD GPU Mining

    Step 1: Download the mining software. For this section of the guide we are going to use Wolf's CryptoNote open souce AMD GPU Miner, since it's the one that has the provides the best results. You can find the Download link here.

    Step 2: Extract the .zip file. You will be left with a folder like the one below.

    Step 2: Now you'll need to configure the xmr.conf file, open the file with the note pad and change "url": "stratum+tcp://xmr.poolto.be:3000" to your pool address, in this case: "stratum+tcp://monerohash.com:3333". Replace the user with your wallet, in this case: "user": "45hVQbLnspDDViJeMc1v6mFPjKmJ38geKVZFRgFXxV1pVSDpG8jz4LfTmkvhgj9sPwjA1ZLJD9d3xTUF982Uk7poL2Ka94z".

    Step 4: Once xmr.conf file is configuredyou need to go inside the miner folder we have extracted from the .zip file and hit ctrl + right mousekey (For windows 10 to get the extra options you need to hold shift+right mousekey). By doing this you'll be given an extra option "open command window here", click it and a command line window will appear.

    Step 5: Now that our command line window (miner) is ready to go, all we need to do is point the miner to the xmr.conf file. type: "miner xmr.conf"

    And that's it, you are now mining with your AMD GPU, which will surely give you the best results when mining XMR. If you get a "clCreateBuffer" error, lower your raw intensity in the xmr.conf file:"rawintensity": 1336

    Part 3 - Nvidia GPU Mining

    Step 1: Download the mining software. For this section of the guide we are going to use CCMiner version forked by tsiv, since it's the one that has the provides the best results when mining with Nvidia Graphic Cards. You can find download link here.

    Step 2: Extract the .zip file. You will be left with a folder like the one below.

    Step 3: Now, inside the miner folder we have just extracted from the .zip file, you'll need to hit ctrl + right mousekey(For windows 10 to get the extra options you need to hold shift+right mousekey). By doing this you'll be given an extra option "open command window here", click it and a command line window will appear.

    Step 4: Now that our command line window (miner) is ready to go, all we need to do is type in the command: "ccminer -o stratum+tcp://monerohash.com:3333 -u YOUR_WALLET_ADDRESS -p x". You have to replace "YOUR_WALLET_ADDRESS" for your actual XMR wallet adress.

    That was the last step. You are now mining Monero with your Nvidia Graphic Card. As you can see, mining Monero is possible with any hardware, even a CPU! So why not give it a try?

    Part 4 - Easy Mining with any hardware

    In this section we'll use Minergate, an easy to use cryptocurrency miner that allows you to mine several cryptocurrencies with a single click! 

    Step 1:The first thing you’ll need is an account on www.minergate.com. MinerGate has its own built-in wallet in order to allow users to start mining even if they don’t have a wallet address set up, so in order to protect your funds, we advise using a strong password and activating 2FA (2 factor authentication), 2FA will make sure no one can acess your funds even if they know your password. Remember, the safest place to store your funds is in your own wallet.

    Step 2: Next you need to download the Mingergate software and install it, the website will detect your operating system and present you with the correct version. Install and run MinerGate.

    Step 3: After you open and install the setup, you’ll be presented with the option to start smart mining. MinerGate automatically detects your equipment and chooses the most profitable cryptocurrency to mine according to your hardware, market price and difficulty. For most computers this will be Monero, so you can click "Start smart mining". 

    You can choose how many cores you want to use in your CPU and GPU, if you have one. If smart mining takes you to another cryptocurrency, you can always choose monero manually, as so:

    That's it. Easy, right? Minergate prouds itself on being so! And you can use their GUI miner for other cryptos like Ethereum and Ethereum Classic. Good luck!

    Источник:

    Monero mining pool setup 181
    CRYPTO COIN CPU MINING Bitcoin mining what does it do
    Monero mining pool setup Core drilling mining
    Monero mining pool setup 485

    3 thoughts on “Monero mining pool setup

    Add comment

    E-mail *