Title: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 03:17:30 PM In this thread, I am going to go through the step required to build your very own POS multipool, complete with pretty front end stats and automatic exchange trading.. This will only work for bitcoin related coins. I don't promise to share all the secrets, but enough to get a site up and running.
I am going to tell you all this completely free. I am not going to polute this with donation solicitations - if you would like to send me some btc for writing this once you're done reading it, pm me and I'll send you my address. I will make some effort to support to help with the implementation of this if anyone has trouble. It might not be the prettiest, but it works - and I won't blackmail coins out of any of you. :) This is a big screw you to all the cunt MP operators who have forgotten where this entire scene came from. Satoshi releaed the bitcoin client opensource, quit charging people a bitcoin to set them up a multipool and quit trying to screw everyone over. This implementation btw, does not fudge any of the stats like some of the other major pools, and this offers complete visibility into stats. It also doesn't do any of that "everbody contributes shares to an algo specific bucket that pays out once per day" crap where the pool operator can steal 1/3 of the money off the top before anyone can tell. This uses a combination of python, node.js and even basic cronjobs to get the job done. Step #1 - start with a basic NOMP install. git clone from the NOMP repo: https://github.com/zone117x/node-open-mining-portal.git Step #2 - Set up your coin daemons as if this was a basic NOMP build. There are a few exceptions. In the /coins/ directory you are going to be limited to only using coins posted on either Cryptsy or Mintpal - I could eaily have added some other markets to this, so feel free. For each coin, in the /coins directiory include an additional line: "ID": "<either the market ID from Cryptsy, or the word "mintpal" if the coin is only on mintpal>" IE: Quote root@blackcoinpool# cat feathercoin.json The pool is going to use this to help it look up the values for the coin when it is calculating some of the stats later.{ "name": "Feathercoin", "ID": "5", "symbol": "FTC", "algorithm": "scrypt" } Also, when setting up the coin daemons - we aren't going to use the NOMP payment processor for anything more than calculating the balances tables in redis. So make sure to set every coin's minimum payout to 999999999999999 and in the main config.json disable the worker name authentication. Quote main config.json... "defaultPoolConfigs": { "blockRefreshInterval": 1000, "jobRebroadcastTimeout": 55, "connectionTimeout": 600, "emitInvalidBlockHashes": false, "validateWorkerUsername": false, "tcpProxyProtocol": false, "banning": { "enabled": true, "time": 600, "invalidPercent": 30, "checkThreshold": 500, "purgeInterval": 300 }, "redis": { "host": "127.0.0.1", "port": 6379 } }, "website": { "enabled": true, "host": "0.0.0.0", "port": 80, "stratumHost": "everypool.com", "stats": { "updateInterval": 60, "historicalRetention": 86400, "hashrateWindow": 300 }, Quote this is from inside on the of the /pool_config/ coin configurations "paymentProcessing": { "enabled": true, "paymentInterval": 75, "minimumPayment": 99999999999, "daemon": { "host": "127.0.0.1", "port": <whatever port your coin daemon is listening on>, "user": "birdsofafeather", "password": "flocktogether" } }, Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 03:17:48 PM Next up, we are going to extend the stats.js file to extend the API to have some new functionality. This is going to be a long post.
In the /libs/ directory, rename stats.js entirely to stats.old Open up a new stats.js and paste the following three snippets - modify the SECOND sections. If your target coin is only on mintpal, uncomment the lines calling the mintpal API and fill in your ticker symbol. If your coin is on cryptsy, fill in the appropriate market ID and the Cryptsy ticker symbol. This file will extend your API in a few ways. Most importantly, it will make <your url>/api/payout/<worker name> return the estimated number of coins a worker has earned during the current shift (in the payout coin of your choice). It will also extend the 'my miner' page so that every worker can have a complete list of exactly how many coins of what type they have earned during that current shift. Code: var zlib = require('zlib'); Code: // make a call to Mintpal to get targetcoin exchange rate The rest of the stats.js is below - just paste all three of these into the same file, remembering in to fill in your info into the second part. Code:
Then inside the <nomp instal>/website/pages folder create two new files.. Three actually. First while in the <nomp install>/website/pages type 'touch user_shares.html' just to create the file so NOMP won't puke for now. Open a new file named miner.html: Code: <div class="row"> Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 03:18:03 PM As well as a miner_stat.html
Code: <div class="row"> next install Webdis from here https://github.com/nicolasff/webdis (https://github.com/nicolasff/webdis) and launch it with a .json config file like this: Code: root@blackcoinpool:/FORFREEDOM/# cat ~/webdis-home/webdis.json Next, you should be able to restart your nomp install and browse to <url>/miner and input your worker address and see all the coin that worker has mined that shift. the balance and outstanding amount will be blank till. you can manually browe to <url>/payout/<worker> to see an estimated next payout. Next up, let's do a deep dive into redis and how NOMP uses it (as well a re-write the entire payment processor) Title: Re: How to build your own Multipool - the Open Source Way Post by: albertdros on July 19, 2014, 03:18:13 PM that's great! Looking forward to your guide.
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 03:18:17 PM How NOMP uses REDIS, and how we can use it to get what we want (and improve it)
All coin are given a redis key named <coin> - this breaks down into subkeys, :blocksCompleted, blocksPending, blocksOrphaned, blocksKicked It also has a :balances key that keeps track of each workers current earnings per key, and a :payouts (which keeps track of the number of coins paid out to each user). If we set up the coin configs right, we will never ever see a :payouts key in our install. We are also going to create a new subkey, :blocksPaid that we are going to be moving every paid for round into, every time we run payouts. Now the only stats that NOMP keeps are brutal. We are going to implement a whole new level of logging into redis. A master key, Pool_Stats contains everything. We also have a kew named Coin_Names that contains (lowercase) a list of every coin we support. We have Coin_Algos that lists every algo we support (lowercase) We have Coin_Names_<algo> that lists every coin of that algo. These are all stored as hashes, by the way, with values of 1 (although the value doesn't matter, these are all accessed via the redis-command HVALS) ie: Coin_Names consists of two hashes: feathercoin 1 terracoin 1 Coin_Algos consists of two hashes: scrypt 1 sha256 1 Coin_Names_scrypt consists of 1 hash feathercoin 1 Coin_Name_sha256 consists of 1 hash: terracoin 1 Set these up like this: root@blackcoinpool:/: redis-cli hset Coin_Names feathercoin 1 root@blackcoinpool:/: redis-cli hset Coin_Algos scrypt 1 root@blackcoinpool:/: redis-cli hset Coin_Names_scrypt feathercoin 1 and so on for all of your coins/algos.... We are going to keep track of every users historical hashrate in a key named Pool_Stats:WorkerHRS:<Algo>:<Worker> as part of a redis SORTED SET. The format for the sorted set will be to use epoch time as the score and the value will be set to: <Users current hashrate>:<epoch time> - the epoch time is requierd to allow redis to store duplicate hashrates (as it makes them all unique). Pool_Stats will have seperate subkeys for every shift, but all of that will get created automatically through the next series of scripts I will provide. We will keep CurrentShift datat in Pool_Stats:CurrentShift and current shift profitability data in Pool_Stats:CurrentShift:Profitability Inside CurrentShift we will have: Pool_Stats:CurrentShift:AlgosBTC - hash field listing each algos total value, in BTC, of each algo mined so far this shift. Pool_Stats:CurrentShift:AlgosTgtCoin - hash field listing each algos total value, in target coin, of each algo mined so far this this shift. Pool_Stats:CurrentShift:CoinsBTC - hash field listing each coins total BTC that have been earned so far this shift. Pool_Stats:CurrentShift:CoinsTgtCoin - hash field listing each coins total target coins that have been earned so far this shift. Pool_Stats:CurrentShift:WorkersBTC - hash field listing each workers total BTC they have earned so far this shift Pool_Stats:CurrentShift:WorkersTgtCoin - hash field listing each workers total target coin they have earned so far this shift. We will keep track of historical stats in: Pool_Stats:Profitability_<algo> - set of profitabilities, using shift number as field and profitability a value. Pool_Stats:WorkerHRs:<algo>:<worker> - sorted set list of hashrates, per worker, per algo. Epoch time as field, value is hashrate:epochtime to ensure uniqueness. Pool_Stats:Balances - outstanding balances in target coin Pool_Stats:DetailedPayouts:<worker> - sorted set list of payouts, using epoch time as field and value as txn ids in target coin. Pool_Stats:DetailedPayouts:<worker>:<txn> - Hash key named Date: with value as epoch time, hash key as Amount: and value as txn amount, hash key as URL and value set to full URL for txn in target coin's block explorer. Pool_Stats:TotalPaid - hash key listing every worker ID as a key name and the total amount of target coins they have been paid in total as the value. . These values are all automatically calculated by the payment processor, which is coming up in a few posts - the reason for the duplicate storage (in both BTC and TgtCoin is it provides a level of sanity checking for the payment processor before it decides to pay out the shift automatically or not). Pool_Stats:CurrentShift will always have a starttime set to the epoch time that shift started at. We will have an incrementer named This_Shift in Pool_Stats (a hash value) that will be incremented by one whenver a shift ends. Whenever a shift end, we will rename all of the Pool_Stats:CurrentShift keys to be Pool_Stats:<value of ThisShift variable> instead, and then start a fresh Pool_Stats:CurrentShift set of keys. Let's start off with calculating and storing the users hashrates into the redis db. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 03:19:04 PM lol you guy are dinks for stealting the first posts
Title: Re: How to build your own Multipool - the Open Source Way Post by: cryptoangel on July 19, 2014, 03:35:59 PM Yep, I got lost at
Quote Step #1 - start with a basic NOMP install. git clone from the NOMP repo: https://github.com/zone117x/node-open-mining-portal.git Haha Title: Re: How to build your own Multipool - the Open Source Way Post by: bathrobehero on July 19, 2014, 03:50:17 PM lol you guy are dinks for stealting the first posts There's an Edit button for a reason. Title: Re: How to build your own Multipool - the Open Source Way Post by: MV120 on July 19, 2014, 04:07:26 PM These are probably noob questions, but here goes anyways.
How much machine would this require (RAM, storage)? What is the minimum hashrate you would recommend for before setting up your own Multipool? Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 04:12:23 PM These are probably noob questions, but here goes anyways. SSD backing is important, but you can run a MP easily on a machine with 4 GB of ram and 40 GB of disk space.How much machine would this require (RAM, storage)? What is the minimum hashrate you would recommend for before setting up your own Multipool? Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 04:34:23 PM Set up a cronjob to run every 10 minutes.
Have it run a bash file, and this is the bash file: Code: #!/bin/bash Go ahead and run it a few times at the command line and see how it works - it's a bit spammy, but notice how the redis keys are being populated with all of the users hashrate information now? The line near the top can be adjuted from 600 to a lower number if you would rather users not have to wait 10 min to see an accurate hash rate. Make sure you have your Coin_Algos and Coin_Names_<algo> redis values filled in appropriately for this to work. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 04:44:11 PM Now let's set up a cronjob, and start grabbing a local copy of all of the coin exchange rates.
This is a simplfied version, I have a better version that aggregates prices from multiple exchanges but we all have to keep some secrets, right? :) I never said I'd give away how to make the most profitable pool, but I did say i'd show you how to set up A multipool. Code: #!/bin/bash Get this cronjob to run every 5 minutes, this will keep track of the most current exchange prices. (the final step will be syncing all the cronjobs into a single script, but we'll get to that still in a few posts. Next up is re-writing the payment processor to properly handle the start and end of 'shifts' as well as to handle the coin moving to the exchange. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 04:55:32 PM Let me know if anyone is even reading this far. :)
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 05:17:43 PM Naw, feel free to post - I'm not going to waste my time putting all this up if nobody is interested.
I will be linking to a .zip with all of the files I am referring to as well, once I get all these written. Title: Re: How to build your own Multipool - the Open Source Way Post by: Kergekoin on July 19, 2014, 05:19:52 PM Im probably going to set one back-end up for my miners. Thanks for your effort!
At the moment im switching manually on my NOMP pool back-end. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 05:23:08 PM STILL TO COME:
--> custom payment processor ---> front end javascript reporting ---> Exchange integration ---> Cryptonote integration --> Sanity Checking --> Future Plans Title: Re: How to build your own Multipool - the Open Source Way Post by: billotronic on July 19, 2014, 05:54:00 PM Naw, feel free to post - I'm not going to waste my time putting all this up if nobody is interested. I will be linking to a .zip with all of the files I am referring to as well, once I get all these written. No sir, please share! I've been very curious of how MP's work and this guide so far has been great! Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 07:28:12 PM BTW, I invite anyone intereted to check out http://www.btcdpool.com (http://www.btcdpool.com) Send some hash it's way and see how it works and if you like the feel of it.
I will be posting all of it's source in time, this thread is inspired by it. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 07:39:30 PM Calculating Profitability
Calculating profitability can be done fairly easily like this! This also calculates each worker's current earnings for the round, as well as updates each of the respective keys under the Pool_Stats:CurrentShift key for the coin/algo earning totals. Set via cronjob, runs in only a few seconds on a pool even when it is getting mutli GH of scrypt/x11 traffic. You can run it manually to verify the output (it's a bit spammy, but it prints what it's doing to the screen as you do it. If run via cronjob this would all just go to null. Code: #!/bin/bash Ugly, but it works. It even gives you all the data that you require to be able to pull pretty charts of current shift profitability. I will try and clean up the commenting and repost soon. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 08:00:59 PM I'll post the next bit about the pool once the hashrate on btcdpool.com goes up a bit.
Title: Re: How to build your own Multipool - the Open Source Way Post by: PereguineBerty on July 19, 2014, 08:45:54 PM Haven't tried it yet but if your info is good as it looks, you'll be a hero around here.
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 08:47:50 PM Haven't tried it yet but if your info is good as it looks, you'll be a hero around here. This is all live directly off of the BTCDPool.com site.I will be uploading a snapshot of all of the config files from that pool later tonight. Title: Re: How to build your own Multipool - the Open Source Way Post by: goodluckpool on July 19, 2014, 09:45:28 PM thank you for your sharing, waiting to read more.
Title: Re: How to build your own Multipool - the Open Source Way Post by: zikomoto on July 19, 2014, 09:52:57 PM Thank you for sharing , was already working on one and this is helping me a lot
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 19, 2014, 10:25:48 PM Here's a cronjob equivalent of the payment processor. This way it is entirely independent of the node.js application - it still logs to the redis instance and dumps any failed txns through to a text file. I will try and clean this up some.
coming up next will be the exchange interactions as well as the front end reporting. Code: #!/bin/bash Title: Re: How to build your own Multipool - the Open Source Way Post by: YarkoL on July 19, 2014, 10:42:15 PM http://memecrunch.com/meme/MROF/you-re-my-hero/image.jpg
Been looking for a guide like this for some time already.. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 20, 2014, 04:35:51 AM Anybody going through and setting one of these bad boys up?
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 20, 2014, 04:38:18 AM Hashrate pie charts - this would go onto your home.html for example.
Code: <!--- Start Pie ---> Worker distribution pie charts: Code: <!--- start worker pie chart ---> Title: Re: How to build your own Multipool - the Open Source Way Post by: OmarGsPools on July 20, 2014, 05:03:27 AM Anybody going through and setting one of these bad boys up? I'll be attempting to set one up later tomorrow. I like the open-source route and would like to help in the future development. Title: Re: How to build your own Multipool - the Open Source Way Post by: mnporter2001 on July 20, 2014, 09:19:57 AM Nice share !
However I cant get it to work, this is my fault not yours i must say, I just dont understand it all........ So how much would it cost me for you/ anyone else reading this to do it for me ? Thanks Mark Title: Re: How to build your own Multipool - the Open Source Way Post by: rcloss on July 20, 2014, 02:33:20 PM Do you have any suggestions for hosting providers that can run this kind a MultiPool install? If not, how much bandwidth does one of these installs typically use? I'm guessing I can't run this on my old DSL line
Title: Re: How to build your own Multipool - the Open Source Way Post by: goodluckpool on July 21, 2014, 07:41:23 AM great info, looking forward to that automatic coin exchange part.
Title: Re: How to build your own Multipool - the Open Source Way Post by: billotronic on July 22, 2014, 04:25:53 AM Do you have any suggestions for hosting providers that can run this kind a MultiPool install? If not, how much bandwidth does one of these installs typically use? I'm guessing I can't run this on my old DSL line ooo good question for the OP. I too would be very interested to know what kind of hardware you need for this. Title: Re: How to build your own Multipool - the Open Source Way Post by: DreamSpace on July 22, 2014, 07:49:38 AM nice guide thank you
Title: Re: How to build your own Multipool - the Open Source Way Post by: Biomech on July 22, 2014, 03:15:02 PM Do you have any suggestions for hosting providers that can run this kind a MultiPool install? If not, how much bandwidth does one of these installs typically use? I'm guessing I can't run this on my old DSL line ooo good question for the OP. I too would be very interested to know what kind of hardware you need for this. I'm not involved, just another spectator. But I know a bit about NOMP, which is what he's basing this off of. I ran it in a test rig with a single core running 2.8 GHz and 1 meg ram with no issues at all, and rented rigs to bombard it. On a basic cable connection with a lot of other shit running. Barely slowed it down. NOMP is not terribly resource intensive. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 22, 2014, 05:19:06 PM You can easily run one of these off of a 4GB Digital Ocean VM (which costs $40 a month).
Just make sure that you use a free cloudflare.com account (to help reduce DDOS attacks) Use the cloudflare.com accunt to sign up for a free Dome9 account (and use Dome9 to firewall all HTTP access to only accept connections from cloudflare) and voila! PS, I will be posting some more in this thread a bit later today with some more info. :) Thanks for all of the nice PMs so far. Title: Re: How to build your own Multipool - the Open Source Way Post by: s1kx on July 22, 2014, 08:09:23 PM Awesome, great code quality and definitely an improvement in the scene. Proper redis usage etc will definitely help a lot of pools scale.
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 22, 2014, 08:29:49 PM Awesome, great code quality and definitely an improvement in the scene. Proper redis usage etc will definitely help a lot of pools scale. It could be lots better. It could all be in node.jsbut then again, I don't really feel that the whole pool operation should be in a single node.js application. And using stuff like bash scripts - as long as they're well written (and run entirely from in memory) - they're pretty much just as efficient. I'm just wrapping up extending the NOMP api quite a bit (to reveal stuff like user hashrates, profitabilities, payouts etc) I will post the updated stats.js and website.js once I am done. :) Title: Re: How to build your own Multipool - the Open Source Way Post by: goodluckpool on July 23, 2014, 11:00:17 PM updates?
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on July 24, 2014, 04:37:43 AM updates? i will update this thread a bit later tonightfor a sample one of these pools check out BTCDPool.com every 10 minutes it liquidate all the earning coins and continually applies buy pressure on bitcoindark at cryptsy and poloniex. it's even mining every possible profitable SHA altcoin (including PPC, which up until today I never figured out how to get working with NOMP) i will post a link to a zip of the entire pool tonight Title: Re: How to build your own Multipool - the Open Source Way Post by: appooler on July 25, 2014, 12:46:02 AM Satoshi releaed the bitcoin client opensource, quit charging people a bitcoin to set them up a multipool and quit trying to screw everyone over. That's what I'm talking about, well said. Title: Re: How to build your own Multipool - the Open Source Way Post by: goodluckpool on July 25, 2014, 03:48:50 AM updates? i will update this thread a bit later tonightfor a sample one of these pools check out BTCDPool.com every 10 minutes it liquidate all the earning coins and continually applies buy pressure on bitcoindark at cryptsy and poloniex. it's even mining every possible profitable SHA altcoin (including PPC, which up until today I never figured out how to get working with NOMP) i will post a link to a zip of the entire pool tonight plz update your article. It is good. Title: Re: How to build your own Multipool - the Open Source Way Post by: GoldBit89 on July 25, 2014, 05:19:55 AM Satoshi releaed the bitcoin client opensource, quit charging people a bitcoin to set them up a multipool and quit trying to screw everyone over. That's what I'm talking about, well said. +1 to both This is so totally awesome. Thank you for posting this information and being brave enough to do it. Its time the dirty multipool mining operators are exposed. ;) Title: Re: How to build your own Multipool - the Open Source Way Post by: Min€r on July 25, 2014, 07:21:33 AM Really thanks for that enhancements - will try to include pie-charts & worker feature in my new pool.
Title: Re: How to build your own Multipool - the Open Source Way Post by: omgbossis21 on July 25, 2014, 09:41:31 AM Great thread! Subscribed!
Title: Re: How to build your own Multipool - the Open Source Way Post by: jeezy on July 25, 2014, 03:25:30 PM One important thing is to let the miner chose his own difficulty via "d=XXX" as pwd. Is this already build into NOMP?
Title: Re: How to build your own Multipool - the Open Source Way Post by: hammo on July 31, 2014, 05:44:31 AM Anybody going through and setting one of these bad boys up? Yep, acutally was actually going play with this on the weekend. Thanks heaps for sharing. My thoughts on multipool has changed in recent weeks. If you can't beat 'em then join 'em or try to out pace 'em :) NB: This is important work because having a distributed coin relies on having a distributed network. More pools and/or multipools the better for the network. Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 03, 2014, 09:59:56 PM So any idea what is causing this error?
TypeError: Cannot call method 'toString' of undefined at resolveDefs (/home/james/nomp/node_modules/dot/doT.js:52:55) at Object.doT.template (/home/james/nomp/node_modules/dot/doT.js:90:33) at /home/james/nomp/libs/website.js:84:33 at fs.js:207:20 at Object.oncomplete (fs.js:107:15) I did notice to that in the section where you have the code for stats.js it appears to that you are wanting us to create a new website.js. I did that and removed the code from stats.js [/code Delete the stock website.js file as well, make a new one: /code] Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 03, 2014, 10:43:37 PM Note to self, do not incorrectly name the html files.
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 03, 2014, 11:21:45 PM So a couple of things I am not seeing here, maybe I am missing it.
1. How should the miners connect? Do they use their payout address for the target coin when mining all coins? (I am assuming yes) 2. I have not seen any code that gets the exchange to send the coins back to your target wallet. This is still part of the still to come or is that a manual operation for the pool operator? 3. If a shift is sent to an exchange I am assuming that the payout just fail until there is enough funds in the wallet of the target coin to payout what is owed? Really liking what you are doing so far. J Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on August 03, 2014, 11:25:00 PM WHOOPS
i let OVH suspend BTCDPool.com accidently due to an outstanding balance. i will pay it today and once it is reactivated i will make an archive of the entire pool's files and upload it somewhere. in return for this, i will ask each of you to go to an exchange and buy some bitcoindark and hold onto it. :) and if you find it useful, to consider making a donation! I won't try and blackmail coins out of anyone for any of this info though. donation addresses: Bitcoindark (BTCD) - RRuXHtWdGFE95BSDjfPZNEfRhn9XKfHqky Bitcoin (BTC) - 1ALLcKCwUrQCQ9XPkxwv2pKstyau9XogpV Litecoin (LTC) - LTWwzpPhdHD9KzDcGh4SfkfiKPbFiSoAVV check out what the latest "my miner" reports look like: http://hashrate.org/miner/8896310590202454791 PS thanks for the JQ info - I'm happy somebody is actually looking at this and deriving some value from it. :) Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 03, 2014, 11:53:54 PM No worries, just lending a hand here.
Also, you may want to note the dependency upon "jq" for the shell scripts that get the coin info from the exchanges. For an updated ubuntu 12.04 it is just apt-get install jq No need to change or add repos like the jq sites says. J Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on August 04, 2014, 12:04:22 AM So a couple of things I am not seeing here, maybe I am missing it. yes, that is exactly what they do.1. How should the miners connect? Do they use their payout address for the target coin when mining all coins? (I am assuming yes) Quote 2. I have not seen any code that gets the exchange to send the coins back to your target wallet. This is still part of the still to come or is that a manual operation for the pool operator? i haven't included any of the exchange-side code yet. it supports withdrawals from cryptsy, at least. bter and mintpal and poloniex require manual withdrawals by the pool operator. having a healthy reserve of the target coin sorta mitigates this a a big issue, though. it does support automated withdrawals as long as the pool's wallet address is added as a trusted withdrawal address within cryptsy.Quote 3. If a shift is sent to an exchange I am assuming that the payout just fail until there is enough funds in the wallet of the target coin to payout what is owed? the payout script actually is triggered by another script i have (which first of all estimates the amunt of the payout, then checks the local daemon and verifies that enough is present to cover the payout. If there is not enough it will try and withdraw from cryptsy, if there is still not enough it will log an error in a log file. I still mean to set it up so that it can notify the op via SMTP at that point.Quote Really liking what you are doing so far. thanks very much man!J i plan on eventually trying to document all of this stuff the best way to understand lots of this stuff is just fire up a basic nomp pool run redis-server and run the command 'monitor' and just watch how NOMP interacts with the various redis values. there really needs to be tons of documentation created around that sort of stuff, then how my modifications alter all that. i will try and get it done eventually ,but I'm also in the process of setting up a big (well, relatively, ~100th) sha community-owned mine that will pay out solely in NXT. :) Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 04, 2014, 12:14:28 AM Cool and thanks for the information here. I will keep plugging along with this initial setup and look at some of these items. Personally my group of miners and I have decided to only deal with cryptsy. Do you have anything to share yet around that exchange and pulling funds back out to the wallet?
I may look at doing a payment process as a complete replacement for what is in NOMP now. If you like I can add info here on the basic setup as well from what I am going through. Don't mind contributing at all. Looks like we have a common goal here, im doing the same for TEK... Title: Re: How to build your own Multipool - the Open Source Way Post by: Lima99 on August 04, 2014, 12:46:46 AM Thank you for this guide, this is exactly what I was looking for so I can setup a multipool ones CapitalCoin becomes PoS only.
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on August 04, 2014, 12:48:08 AM By setting the payout limit to all 9s it effectively kills the momp payouts from ever triggering. I pretty much have the whole thing rewritten, I just use the momo code to calculate the per miner coin earnings for the various alts.
Ps I mean it guys, please go buy some bitcoindark. If each of you did, we would all be rich. :) Title: Re: How to build your own Multipool - the Open Source Way Post by: iampingu on August 04, 2014, 12:50:45 AM Thanks for this post bud. Much appreciated
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 04, 2014, 02:07:43 AM Stats are looking good man, trying to work through all this myself to do the same for TEK.
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 04, 2014, 03:26:25 AM WHOOPS i let OVH suspend BTCDPool.com accidently due to an outstanding balance. i will pay it today and once it is reactivated i will make an archive of the entire pool's files and upload it somewhere. in return for this, i will ask each of you to go to an exchange and buy some bitcoindark and hold onto it. :) and if you find it useful, to consider making a donation! I won't try and blackmail coins out of anyone for any of this info though. donation addresses: Bitcoindark (BTCD) - RRuXHtWdGFE95BSDjfPZNEfRhn9XKfHqky Bitcoin (BTC) - 1ALLcKCwUrQCQ9XPkxwv2pKstyau9XogpV Litecoin (LTC) - LTWwzpPhdHD9KzDcGh4SfkfiKPbFiSoAVV check out what the latest "my miner" reports look like: http://hashrate.org/miner/8896310590202454791 PS thanks for the JQ info - I'm happy somebody is actually looking at this and deriving some value from it. :) Heck, you get me through setting this up with an auto send and an auto withdrawl for TEK just on cryptsy alone and i will send you .333 BTC..... Title: Re: How to build your own Multipool - the Open Source Way Post by: PondSea on August 04, 2014, 04:42:12 AM Watching with interest :)
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 05, 2014, 06:12:54 PM Hmmm no updates yet? Also I see the site is still down.. :(
Title: Re: How to build your own Multipool - the Open Source Way Post by: KimmyF on August 06, 2014, 08:39:30 PM Thanks for your work, really like how you act in this world full of scams: Respect!
Title: Re: How to build your own Multipool - the Open Source Way Post by: tuanvie on August 06, 2014, 11:24:25 PM does this need to build a large server specifications?
Title: Re: How to build your own Multipool - the Open Source Way Post by: TrangLee on August 06, 2014, 11:25:06 PM Watching with interest :) Same here. I'd like to make one of my own. Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 07, 2014, 12:23:42 PM I'm having trouble setting up NOMP
Here is output from node init.js Quote 2014-08-07 05:40:57 [POSIX] [Connection Limit] (Safe to ignore) POSIX module not installed and resource (connection) limit was not raised 2014-08-07 05:40:57 [Master] [CLI] CLI listening on port 17117 2014-08-07 05:40:58 [Master] [PoolSpawner] Spawned 1 pool(s) on 2 thread(s) 2014-08-07 05:41:00 [Payments] [diamondcoin] Payment processing setup to run every 600 second(s) with daemon (bogus@127.0.0.1:17772) and redis (127.0.0.1:6379) 2014-08-07 05:41:00 [Payments] [diamondcoin] Finished interval - time spent: 17ms total, 5ms redis, 10ms daemon RPC 2014-08-07 05:41:00 [Switching] [Setup] (Thread 1) Loading last proxy state from redis 2014-08-07 05:41:00 [Pool] [diamondcoin] (Thread 1) Share processing setup with redis (127.0.0.1:6379) 2014-08-07 05:41:00 [Switching] [Setup] (Thread 1) Switching "switch1" listening for groestl on port 3333 into diamondcoin 2014-08-07 05:41:00 [Website] [Server] Website started on 127.0.0.1:8080 2014-08-07 05:41:00 [Stats] [Global] error with getting global stats [{},{}] 2014-08-07 05:41:00 [Stats] [Global] error getting all stats[{},{}] 2014-08-07 05:41:00 [Pool] [diamondcoin] (Thread 1) Stratum Pool Server Started for diamondcoin [DMD] {groestl} 2014-08-07 05:41:00 [Switching] [Setup] (groestl) Setting proxy difficulties after pool start 2014-08-07 05:41:00 [Switching] [Setup] (Thread 2) Loading last proxy state from redis 2014-08-07 05:41:00 [Pool] [diamondcoin] (Thread 2) Share processing setup with redis (127.0.0.1:6379) 2014-08-07 05:41:00 [Switching] [Setup] (Thread 2) Switching "switch1" listening for groestl on port 3333 into diamondcoin 2014-08-07 05:41:00 [Pool] [diamondcoin] (Thread 2) Stratum Pool Server Started for diamondcoin [DMD] {groestl} 2014-08-07 05:41:00 [Switching] [Setup] (groestl) Setting proxy difficulties after pool start 2014-08-07 05:41:30 [Pool] [diamondcoin] (Thread 1) Authorized dE1xgAEwfA3BsxEpXSBTrqiYbrEUyZwwKg:x [10.42.0.99] 2014-08-07 05:41:55 [Pool] [diamondcoin] (Thread 1) No new blocks for 55 seconds - updating transactions & rebroadcasting work 2014-08-07 05:41:55 [Pool] [diamondcoin] (Thread 2) No new blocks for 55 seconds - updating transactions & rebroadcasting work 2014-08-07 05:41:58 [Stats] [Global] error with getting global stats [{},{}] 2014-08-07 05:41:58 [Stats] [Global] error getting all stats[{},{}] 2014-08-07 05:42:05 [Pool] [diamondcoin] (Thread 2) Block notification via RPC polling 2014-08-07 05:42:05 [Pool] [diamondcoin] (Thread 1) Block notification via RPC polling 2014-08-07 05:42:50 [Pool] [diamondcoin] (Thread 1) Share accepted at diff 0.00390625/2.42240273 by dE1xgAEwfA3BsxEpXSBTrqiYbrEUyZwwKg [10.42.0.99] 2014-08-07 05:42:50 [Pool] [diamondcoin] (Thread 1) Error with share processor multi [{},{},{},{}] 2014-08-07 05:42:55 [Pool] [diamondcoin] (Thread 1) Share accepted at diff 0.00390625/2.59897940 by dE1xgAEwfA3BsxEpXSBTrqiYbrEUyZwwKg [10.42.0.99] 2014-08-07 05:42:55 [Pool] [diamondcoin] (Thread 1) Error with share processor multi [{},{},{},{}] 2014-08-07 05:42:55 [Pool] [diamondcoin] (Thread 1) Share accepted at diff 0.00390625/20.79394799 by Here is config.json Code: { Here is coins/diamondcoin.json Code: { Here is pool_configs/diamond.json Code: { Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 07, 2014, 12:34:41 PM I'm extremely interested and have read thru the whole thread.
Please examine my basic config in prev post and tell me what I need to fix or config so I can get it up and running, then I want to mod it like you have been describing. OK I solved the "(Thread 1) Error with share processor multi [{},{},{},{}]" error, it had to do with redis ... The [STATS] error also went away :) Now to find a block and see if payouts working ... At the sgminer end of things I'm getting "Accepted untracked share" occasionally what could this be? Also eagerly awaiting your zip files :) Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 07, 2014, 09:02:38 PM Haven't tried it yet but if your info is good as it looks, you'll be a hero around here. This is all live directly off of the BTCDPool.com site.I will be uploading a snapshot of all of the config files from that pool later tonight. Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 08, 2014, 12:04:41 AM Sweet I found a block on my NOMP pool.
Now I hope it gets to maturity ;D http://diamond.danbo.bg:2750/t/8MjqxZ9bCK Looks like very little or even any tuning needed on my "rewardRecipients" is needed 8) 0 Not yet redeemed 0.990001 dNsxRjmtmUrEXQkKESGAJzm5tv3MPzqLrS 33:03b5...35d6 CHECKSIG 1 Not yet redeemed 0.05 dZi9hpA5nBC6tSAbPSsiMjb6HeQTprcWHz DUP HASH160 20:de92...42d0 EQUALVERIFY CHECKSIG 2 Not yet redeemed 0.009999 dE1xgAEwfA3BsxEpXSBTrqiYbrEUyZwwKg DUP HASH160 20:068e...1829 EQUALVERIFY CHECKSIG 2nd block found :P http://diamond.danbo.bg:2750/t/47CvEcUhwk 0 Not yet redeemed 0.99 dNsxRjmtmUrEXQkKESGAJzm5tv3MPzqLrS 33:03b5...35d6 CHECKSIG 1 Not yet redeemed 0.05 dZi9hpA5nBC6tSAbPSsiMjb6HeQTprcWHz DUP HASH160 20:de92...42d0 EQUALVERIFY CHECKSIG 2 Not yet redeemed 0.01 dE1xgAEwfA3BsxEpXSBTrqiYbrEUyZwwKg DUP HASH160 20:068e...1829 EQUALVERIFY CHECKSIG Looks like I got "rewardRecipients" perfect now ;D Still waiting on valid on first one ... 1st block Valid :) now in Pool Wallet balance. Transaction to Donation wallet added to balance ;) Now waiting on 2nd block to become valid and then Pool should payout to Miner wallet when threshold reached ... Now to work on incorrect stats page hashrate values (1/256 of miner rate) ... If OP would come back and finish his great work I'd just replace all the funky NOMP stats pages with his work ... Title: Re: How to build your own Multipool - the Open Source Way Post by: neite99 on August 08, 2014, 09:43:27 PM Let me know if anyone is even reading this far. :) Reading it and thanking you for every second you spent on it. I love you right now ;D Title: Re: How to build your own Multipool - the Open Source Way Post by: YarkoL on August 08, 2014, 09:59:18 PM Let me know if anyone is even reading this far. :) Reading it and thanking you for every second you spent on it. I love you right now ;D And I want to have your baby ;D ;D Title: Re: How to build your own Multipool - the Open Source Way Post by: neite99 on August 08, 2014, 10:03:20 PM Let me know if anyone is even reading this far. :) Reading it and thanking you for every second you spent on it. I love you right now ;D And I want to have your baby ;D ;D Nice Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 10, 2014, 01:10:01 AM groestl algo testing started, will add more coins ... Once I am happy with this pool, I will start a X11 NOMP multipool for DMD, BTC and JUDGE payouts :)Diamond NOMP pool beta test thread started: https://bitcointalk.org/index.php?topic=731822.0 (https://bitcointalk.org/index.php?topic=731822.0) Title: Re: How to build your own Multipool - the Open Source Way Post by: incognitoworker on August 11, 2014, 06:30:53 PM groestl algo testing started, will add more coins ... Once I am happy with this pool, I will start a X11 NOMP multipool for DMD, BTC and JUDGE payouts :)Diamond NOMP pool beta test thread started: https://bitcointalk.org/index.php?topic=731822.0 (https://bitcointalk.org/index.php?topic=731822.0) i would love this option, but miss the knowledge of seting it up and how to run it... Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 11, 2014, 06:41:31 PM groestl algo testing started, will add more coins ... Once I am happy with this pool, I will start a X11 NOMP multipool for DMD, BTC and JUDGE payouts :)Diamond NOMP pool beta test thread started: https://bitcointalk.org/index.php?topic=731822.0 (https://bitcointalk.org/index.php?topic=731822.0) i would love this option, but miss the knowledge of seting it up and how to run it... I'm still waiting on OP dev to come back and share the rest ... Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 12, 2014, 12:44:34 AM Pool back online http://utahjohn.ddns.net
Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 12, 2014, 02:03:08 PM vote for Diamond at https://www.usecryptos.com/voting
Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 12, 2014, 03:17:43 PM vote for Diamond at https://www.usecryptos.com/voting Pool updated (still beta testing)https://bitcointalk.org/index.php?topic=731822.0 (https://bitcointalk.org/index.php?topic=731822.0) Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 12, 2014, 10:52:49 PM BTW I have two old Dell Poweredge 2650 Xeon servers for sale each have 6G RAM ... They are quite heavy and shipping would be $75+, The last time I bought a server it was over $75 shipping Sad
I have modded board to provide 4 pin molex for power to SATA drives if u throw in a PCIX64 SATA controller card. PCI32 also works in them, 3 slots Smiley I will ship each with 18G scsi drive with Windows Server 2008 Enterprise installed. More than adequate for a pool server using stratum+tcp Smiley Screaming fans are annoying though LOL. Let me know if anyone interested and I'll fire one up and delete all personal stuff and get them up to date with Windows update. Just cluttering up my closet atm Smiley Auto login enabled as Admin so u can change Administrator Smiley Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on August 14, 2014, 08:18:35 PM Installing Ubuntu 14.04 LTS on one of servers in previous post to get my pool hosted in a datacenter :)
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 20, 2014, 05:58:07 PM I am starting to wonder if this project is dead at this point.
Title: Re: How to build your own Multipool - the Open Source Way Post by: edric on August 20, 2014, 10:36:40 PM I'm working on something similar using LiveCode, possibly I can fill in the blanks once I get my head round it all.
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 21, 2014, 03:07:53 AM Yes, now that I am getting much more familiar with node.js I have started working on my own pool software completely from scratch that will have this as a standard feature. But I am taking our reddit as many people are not familiar with it and replacing it with mysql. Back to people understanding the database.
Title: Re: How to build your own Multipool - the Open Source Way Post by: OmarGsPools on August 22, 2014, 01:43:01 PM Has anyone managed to get a multipool working? With at least proper coin switching and coin's being converted into target coin's using the exchange rates?
Title: Re: How to build your own Multipool - the Open Source Way Post by: jk9694 on August 24, 2014, 02:25:14 AM There is also a multipool located at easyp2pool.us
Yes, I have not changed the domain name to something more relevant. The switching is custom and all in node.js. However, I am working on new pool software now that will not use nomp as I am not seeing much support out there for it. Title: Re: How to build your own Multipool - the Open Source Way Post by: optiplex on August 24, 2014, 06:07:23 AM Glad to see this thread is not totally dead, eagerly awaiting OP to return and continue the postings, I have a normal NOMP up and running but want to improve it :)
http://optiplexpool.ddns.net:8081 (http://optiplexpool.ddns.net:8081) I'm building another pool for testing with the modifications listed so far but need the rest of the code ??? Title: Re: How to build your own Multipool - the Open Source Way Post by: MCDev on August 25, 2014, 10:25:56 PM I agree with this being a great post to start. I'm also hoping the OP continues our journey into the NOMP world. I have 3 standard installs working right now with 1 to 10 coins in each, and am in the process of going through this guide.
Fingers crossed for more to come. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on September 08, 2014, 03:53:07 AM Hey guys, sorry, BTCD Pool flatlined. I am currently in the middle of setting up BURSTMULTIPOOL.com and will finish off updating this thread as I get the various pieces going.
A bit more background information: you will require a few things to be installed: jq and webdis, both are fairly easy to google and figure out how to get installed. Check out burstmultipool.com to see how the new pool is coming along. Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on September 08, 2014, 04:28:25 AM Hey thx for coming back :)
I want to build a multipool for Diamond (DMD), have basic NOMP running and a selection of coins ready to go (X11). Will you be starting a github for this? Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on September 13, 2014, 03:14:12 AM Hey thx for coming back :) I want to build a multipool for Diamond (DMD), have basic NOMP running and a selection of coins ready to go (X11). Will you be starting a github for this? lol if someone wants to be so kind as to post in this thread a nice and simple guide (or a link to a guide) for how to actually use git that isn't some stupid verbose 500 page man article i will most certainly use github Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on September 14, 2014, 04:20:19 PM Hey thx for coming back :) I want to build a multipool for Diamond (DMD), have basic NOMP running and a selection of coins ready to go (X11). Will you be starting a github for this? lol if someone wants to be so kind as to post in this thread a nice and simple guide (or a link to a guide) for how to actually use git that isn't some stupid verbose 500 page man article i will most certainly use github Come on folks I've googled it a bit unsuccessfully haha I wanted to get the whole new burstmultipool.com source onto a git today if possible. Title: Re: How to build your own Multipool - the Open Source Way Post by: MCDev on September 14, 2014, 04:27:37 PM Someone PLEASE help! I would If I knew how :(
Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on September 14, 2014, 04:46:38 PM all I know about git is how to git clone the source from it, but I think that would be the best place for open source, then others can add issues, requests, and create sub forks and submit pull requests to main tree for your consideration ...
Title: Re: How to build your own Multipool - the Open Source Way Post by: MCDev on September 14, 2014, 04:58:06 PM I'm in the same boat. git is easy, I got lost in the dox for putting it up there. If I weren't trying to catch up on 2 weeks work for my day job, I'd spend today trying to figure it out. Hopefully someone will come through. It will benefit all of us!!
Thanks for coming back!!!! Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on September 14, 2014, 05:31:49 PM BTW I have successfully installed redis and node.js on a windows server 2008 R2 box :)
Have not tried using nomp on windows yet ... Already have a running nomp pool on a linux box :) Title: Re: How to build your own Multipool - the Open Source Way Post by: YarkoL on September 14, 2014, 06:03:03 PM Come on folks I've googled it a bit unsuccessfully haha I wanted to get the whole new burstmultipool.com source onto a git today if possible. okay..This is for ubuntu linux, the same principles apply elsewhere. First go to github site and get yourself a new account there. You'll then have your own place there, say https://github.com/paradigmflux Next open a terminal and get git on your local machine Code: sudo apt-get install git Go to your github place, go to your repositories, click New (the large green button) From then on do as instructed. Github will ask the repo name then give you the commands to be executed on your terminal. Alternatively, once you've got your github page and git installed, You can also push the repo entirely from the terminal (without using the browser) with these commands: (Let's say you want to make repository called "multipool"..) Change to the directory where your code is, then generate data that git needs Code: git init Code: git add . Code: git commit -m "first commit" Code: git remote add origin https://github.com/paradigmflux/multipool.git Code: git push -u origin master you'll then be asked for username and password that you gave when you signed up at Github, and then your code will be moved to your new repo. Hope this helps. Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on September 14, 2014, 09:17:23 PM Come on folks I've googled it a bit unsuccessfully haha I wanted to get the whole new burstmultipool.com source onto a git today if possible. okay..This is for ubuntu linux, the same principles apply elsewhere. First go to github site and get yourself a new account there. You'll then have your own place there, say https://github.com/paradigmflux Next open a terminal and get git on your local machine Code: sudo apt-get install git Go to your github place, go to your repositories, click New (the large green button) From then on do as instructed. Github will ask the repo name then give you the commands to be executed on your terminal. Alternatively, once you've got your github page and git installed, You can also push the repo entirely from the terminal (without using the browser) with these commands: (Let's say you want to make repository called "multipool"..) Change to the directory where your code is, then generate data that git needs Code: git init Code: git add . Code: git commit -m "first commit" Code: git remote add origin https://github.com/paradigmflux/multipool.git Code: git push -u origin master you'll then be asked for username and password that you gave when you signed up at Github, and then your code will be moved to your new repo. Hope this helps. ty for the crash course, I think i have this almost figured out. I will update this thread once I have some of it committed. Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on September 14, 2014, 09:31:43 PM Once I get a clone of your pool modified, I will be working on API to UseCryptos exchange for buying DMD, we just got listed there recently :) (a few weeks ago) and need to build some volume there.
We have been using Cryptsy for ages but they are way slow to respond to support tickets and keeping Wallet daemon up to date LOL, sometimes weeks with no deposit/withdraw available ... Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on September 14, 2014, 09:38:48 PM Time for some extremely long posts again.
Let's go into some background first on how it is that NOMP works. I strongly suggest each of you set up redis-commander, and use it to look at your database. Be careful to use a good password, as someone could maliciously log into your instance of redis-commander and wipe your entire redis db. https://www.npmjs.org/package/redis-commander With NOMP, each coin that you have configured is going to have a seperate redis key. Let's start with what is redis? Redis is an in-memory key-value store, which means that it exists solely in RAM. This is the reason that NOMP is so much better than MPOS, which uses an on-disk SQL database. Redis can scale up to millions of transactions a second easily, SQL cannot. So in NOMP, each coin is going to have it's own seperate key. Inside that key, you will see several other keys: blocksConfirmed - these are previously solved blocks. blocksKicked - for all intensive purposes, these are the same as blocksOrphaned blocksOrphaned - solved blocks that wound up being orphans. shares - this will usually consist of only a single key, roundCurrent which will contain numerous fields. Each of your workers will be the name of a field, and their appropriate value will be the number of shares that they have successfully submitted for the current round. hashrate - this will be a live log of the shares that are being submitted by each worker. This is where the hashrate calculation are done from. This is sorted set where the scores are the epoch timestamps, and the values are a string made up of the share difficulty, the worker name and the full javascript epoch time (down to milliseconds). balances - This is where NOMP keeps track of who has earned what. As blocks are solved, the block reward is divided up proportionately amongst the miners (ie, the currentRound key is checked and all of the value numbers are added together. Each worker then is credited with their particular number of shares (ie, their value in the currentRound divided by the total of all of the values in the currentRound) multiplied by the block reward. This number is then added to any existing balance that may already exist in the balances key (so that a worker can have their reward for multiple blocks in a row add up) - when a payout process happens, this key has to be cleared in order to prevent duplicate payouts. In my pools, every single payout each coin has it's balances key renamed to the format Prev:<shiftnumber>:<coinname>:balances - this leaves a good audit trail as you can always look back at any previous round and see exactly how many coins each miner has earned, in any previous round. Title: Re: How to build your own Multipool - the Open Source Way Post by: MCDev on September 15, 2014, 12:48:36 AM All I can say is FANTASTIC JOB!!! Got me waiting for the next one!!
Thanks!! Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on September 15, 2014, 04:04:49 AM I like the tutorial format :) please continue and get git up :)
Title: Re: How to build your own Multipool - the Open Source Way Post by: MCDev on September 20, 2014, 04:17:42 PM WOW!!! Based on your post, took the time to get Redis-Commander working and it's fantastic. Had it on a test vm on digital ocean and couldn't get to it. Then figured out it was my TMG2010 outbound rules. Fixed that and it worked. Repeated the process on what will become my public host that I'm using privately at the moment with 10+ coins, and WOW!!
So much info! I'm a lot more familiar with SQL Server and would love to work out dumping the data to that and run background jobs on 1 to 5 minute intervals but I'm going to spend some time with Redis. Thanks for the PUSH :) Title: Re: How to build your own Multipool - the Open Source Way Post by: stoner19 on October 02, 2014, 05:08:19 AM to have a github repo for this would be awesome!
Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on October 02, 2014, 05:51:30 PM Bump ... Where is our lead dev from OP ???
Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on October 12, 2014, 02:17:31 AM Sorry for not updating in forever.
Thanks for the people who have been messaging me with thanks. To the others who are asking to hire me to set them up a pool - eventually I will get this all in the public domain, then I would appreciate any donations made. :) i will see about getting a github repo with everything checked into it before I shut down the http://burstmultipool.com site. My other, main pool, is http://hashrate.org (it was my first and is pretty much my only long term pool - it's for NXT) Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on October 13, 2014, 04:53:23 AM OK will do some testing on one of my boxes, I really interested in algo switching, has this all been ironed out?, I'd like to quota mine X11 multicoin + diamond on my boxes, I currently quota mine on all DMD pools, just finishing up my US mirror of miningfield.com pools and all my DMD hashrate goin to my mirror right now ... http://utahjohn.ddns.net, so far still beta see https://bitcointalk.org/index.php?topic=580725.msg9178778#msg9178778 This was in regards to sgminer-dev v5 with stock NOMP+MPOS, Only pool I have finished on my US mirror is DMD right now, and just beta testing it. I want a multipool profit switching NOMP LOL :) and coin->BTC->coin of choice payout (DMD) I'll add a port at my end, on another VM for DMD multipool, dunno if miningfield is interested but I am :) Title: Re: How to build your own Multipool - the Open Source Way Post by: infernoman on October 26, 2014, 03:33:50 AM to anyone who is considering trying to do this on a "home built" pc think again unless you have a LOT of money invested into your rig. I'm running an i7 3970x at 4.5ghz with 28 gb of ram. and only 21 for the VM. currently the VM still maxes out the memory and ends up maxing out my entire pc memory. i have seen loads on my cpu upwards of 70% and have finally gotten them to lower doing some adjustments to the configs. ANOTHER THING
if you want your damn database to save so that when you restart your redis server? add this to the bottom of EVERY single one of those scripts that paradigmflux posted and the database will save every 5 or 10 minutes how ever often you set it. redis-cli save Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on November 07, 2014, 09:35:54 PM to anyone who is considering trying to do this on a "home built" pc think again unless you have a LOT of money invested into your rig. I'm running an i7 3970x at 4.5ghz with 28 gb of ram. and only 21 for the VM. currently the VM still maxes out the memory and ends up maxing out my entire pc memory. i have seen loads on my cpu upwards of 70% and have finally gotten them to lower doing some adjustments to the configs. ANOTHER THING It's a lot easier to just configure redis to save every X number of writes.if you want your damn database to save so that when you restart your redis server? add this to the bottom of EVERY single one of those scripts that paradigmflux posted and the database will save every 5 or 10 minutes how ever often you set it. redis-cli save inside your redis.conf file, make sure that you have this section exactly like this: Code: # Save the DB on disk: also make sure you bind your local redis instance to 127.0.0.1 with this in that same config file: Code: bind 127.0.0.1 Then as long as you have it set up like this, it should automatically reload all of the redis data as soon as you re-start redis-server with the same redis.conf file: Code: # The filename where to dump the DB Title: Re: How to build your own Multipool - the Open Source Way Post by: elitemobb on November 22, 2014, 08:15:30 AM So any idea what is causing this error? TypeError: Cannot call method 'toString' of undefined at resolveDefs (/home/james/nomp/node_modules/dot/doT.js:52:55) at Object.doT.template (/home/james/nomp/node_modules/dot/doT.js:90:33) at /home/james/nomp/libs/website.js:84:33 at fs.js:207:20 at Object.oncomplete (fs.js:107:15) I did notice to that in the section where you have the code for stats.js it appears to that you are wanting us to create a new website.js. I did that and removed the code from stats.js [/code Delete the stock website.js file as well, make a new one: /code] Were you ever able to resolve this error? Title: Re: How to build your own Multipool - the Open Source Way Post by: hhfbrg on November 25, 2014, 02:22:18 PM Very interesting subject, I'd like to hear more! ;D
Title: Re: How to build your own Multipool - the Open Source Way Post by: MCDev on November 30, 2014, 06:44:06 PM Any news or updates? Still watching and destroying my NOMP installs
Title: Re: How to build your own Multipool - the Open Source Way Post by: fragar10 on December 05, 2014, 07:28:44 AM I am getting this error. Any help would be appreciated.
/home/frank/nomp/libs/stats.js:560 var portalApi = new api(logger, portalConfig, poolConfigs); ^ TypeError: object is not a function at new module.exports (/home/frank/nomp/libs/stats.js:560:21) at new module.exports (/home/frank/nomp/libs/api.js:11:36) at new module.exports (/home/frank/nomp/libs/website.js:29:21) at Object.<anonymous> (/home/frank/nomp/init.js:80:13) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) 2014-12-05 02:21:29 [Master] [Website] Website process died, spawning replacement... Title: Re: How to build your own Multipool - the Open Source Way Post by: tencentcoin on December 05, 2014, 08:01:45 AM this tutorial is very useful for the miner and dev
thanks for the share. i will try this way to build my own Title: Re: How to build your own Multipool - the Open Source Way Post by: utahjohn on January 26, 2015, 11:28:28 PM bump ...paradigmflux where r u?
Title: Re: How to build your own Multipool - the Open Source Way Post by: pjcltd on January 27, 2015, 07:51:37 AM I am getting this error. Any help would be appreciated. Hi /home/frank/nomp/libs/stats.js:560 var portalApi = new api(logger, portalConfig, poolConfigs); ^ TypeError: object is not a function at new module.exports (/home/frank/nomp/libs/stats.js:560:21) at new module.exports (/home/frank/nomp/libs/api.js:11:36) at new module.exports (/home/frank/nomp/libs/website.js:29:21) at Object.<anonymous> (/home/frank/nomp/init.js:80:13) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) 2014-12-05 02:21:29 [Master] [Website] Website process died, spawning replacement... What command are you useing to start nomp ? Title: Re: How to build your own Multipool - the Open Source Way Post by: paradigmflux on April 03, 2015, 03:10:43 AM hey guys
i noticed someone started a github based on this thread https://github.com/sigwo/unified-node-open-mining-portal i'm going to try and contribute a bunch more developments Title: Re: How to build your own Multipool - the Open Source Way Post by: YarkoL on April 21, 2015, 11:38:10 AM Ok, so I'm finally trying out this guide. I've got a NOMP
with two scrypt coins, Monacoin and Wildbeastbitcoin. When I execute the shell script in post #11 (https://bitcointalk.org/index.php?topic=701200.msg7925341#msg7925341) I see this output: Code: (integer) 0 I'm not at all familiar with bash scripts, so I don't know where the syntax errors come from... This is what redis gives me after running the script: Code: 127.0.0.1:6379> keys * Does it look like it should..? Title: Re: How to build your own Multipool - the Open Source Way Post by: YarkoL on April 22, 2015, 10:13:06 AM Silly me, I needed just to run the script while
having worker(s) mining. Still getting syntax errors, but the script works, since I now have the worker hashrates getting written into Redis. On to the next step. Fun stuff! Title: Re: How to build your own Multipool - the Open Source Way Post by: silversurfer1958 on April 22, 2015, 10:36:37 PM Interesting but way above my abilities at the mo, would be great to build more pools though to maybe help with the 51% problem.
Maybe if a number of pools were set up and encouraged pool hopping, that would draw people away from the big pools. Great job putting it all together. Title: Re: How to build your own Multipool - the Open Source Way Post by: hdmediaservices on May 19, 2015, 06:08:35 PM Do you all address the duplicate shares exploit? Title: Re: How to build your own Multipool - the Open Source Way Post by: l8nit3 on July 17, 2015, 06:37:58 AM first off great tutorial! my question for you is does this method work with the updated unomp aswell? and if so is there a way to send the auxpow coins for auto-exchange aswell? so they can be paid out to the user? (unomp has the auxpow merged mining ability, it just doesnt pay them out yet)
Title: Re: How to build your own Multipool - the Open Source Way Post by: silversurfer1958 on July 14, 2016, 10:17:16 AM I like this idea, but don't have the skills to put it together well enough I'd want people to risk their money.
How about we set up a 'company' Invest some money to get it set up by one or two trust worthy people on here, and charge a 1% initial, management / maintenance fee (per annum, or per transaction in or out), maybe up to a maximum of $5 (or whatever) Something quite reasonable and operate it as a long term savings and investment plan for people. Possibly with some decent POW coins thrown in too if they look decent, eg Monero, Etherium etc, to diversify people's Portfolio. Done properly, by trusted people, we wouldn't even need a return on our initial investment because we'd be getting that from the POS coin interest. I couldn't afford much but if It was set up by trusted individuals and audited before launch, It would be worth a risk. Title: Re: How to build your own Multipool - the Open Source Way Post by: 0icu8 on July 20, 2016, 01:47:14 AM Total noob question.... I just finished my Setup for the Litecoind using NOMP. Waiting for chain to update. When going through the Config.json, i come across this:
"website": { "enabled": true, "host": "VPSIP", "siteTitle": "YOUR POOL", "port": 80, "stratumHost": "pool.unomp.org", "stats": { For "stratumHost" What do i put in replace of "pool.unomp.org"? Im running on a VPS with Ubuntu. I can see my stratum page and see what coins and what not are there to mine. Im not sure if i need to change the StratumHost or not? if so, how do i get one, where do i find one or what do i need to change it to? Thanks in Advanced! Title: Re: How to build your own Multipool - the Open Source Way Post by: pjcltd on July 20, 2016, 08:12:07 AM Total noob question.... I just finished my Setup for the Litecoind using NOMP. Waiting for chain to update. When going through the Config.json, i come across this: "website": { "enabled": true, "host": "VPSIP", "siteTitle": "YOUR POOL", "port": 80, "stratumHost": "pool.unomp.org", "stats": { For "stratumHost" What do i put in replace of "pool.unomp.org"? Im running on a VPS with Ubuntu. I can see my stratum page and see what coins and what not are there to mine. Im not sure if i need to change the StratumHost or not? if so, how do i get one, where do i find one or what do i need to change it to? Thanks in Advanced! HI ok in "host": "VPSIP", make that "host": "IP-address or domain name ", like "host": "99.44.22.44", or "host": "www.mypooo.com", The "port": 80, part this is the port the your pool wist will be on best to leave it on 80 "stratumHost": "pool.unomp.org", this is where the pool is and if you look in getting_started page it will display this as part of the connection info so again it can be hte IP address or the domain name hope that helps you out thanks Paul Title: Re: How to build your own Multipool - the Open Source Way Post by: 0icu8 on July 22, 2016, 05:57:41 PM Hey Paul,
Thanks for the reply. I was guessing that but u know guess and computer work doesn't go hand and hand. Thanks for the help! Have a good day! LTC POOL NOW OPEN http://45.32.243.180/getting_started (http://45.32.243.180/getting_started) Payouts every .01LTC every 60 Secs. 2%fee Title: Re: How to build your own Multipool - the Open Source Way Post by: pjcltd on July 22, 2016, 06:22:25 PM Hey Paul, No problemThanks for the reply. I was guessing that but u know guess and computer work doesn't go hand and hand. Thanks for the help! Have a good day! LTC POOL NOW OPEN http://45.32.243.180/getting_started (http://45.32.243.180/getting_started) Payouts every .01LTC every 60 Secs. 2%fee Just looked at the pool You might want to increase the diff start it at 8192 on port 3008 Title: Re: How to build your own Multipool - the Open Source Way Post by: jcreyesb on September 23, 2017, 04:31:12 AM Code: configure in algoProperties.js to deploy magic pool Code: [2017-09-23 12:51:14.705] [INFO] [default] - New Relic the worker connect Code: [2017-09-23 12:51:30.848] [DEBUG] [default] - Pool magicoin Thread 1 getting block notification via RPC polling Code: [2017-09-23 08:59:56] Stratum requested work restart Code: /home/ubuntu/unomp/node_modules/merged-pooler/lib/algoProperties.js:227 Title: Re: How to build your own Multipool - the Open Source Way Post by: Bitcoinera on February 26, 2018, 03:57:51 PM Total noob question.... I just finished my Setup for the Litecoind using NOMP. Waiting for chain to update. When going through the Config.json, i come across this: "website": { "enabled": true, "host": "VPSIP", "siteTitle": "YOUR POOL", "port": 80, "stratumHost": "pool.unomp.org", "stats": { For "stratumHost" What do i put in replace of "pool.unomp.org"? Im running on a VPS with Ubuntu. I can see my stratum page and see what coins and what not are there to mine. Im not sure if i need to change the StratumHost or not? if so, how do i get one, where do i find one or what do i need to change it to? Thanks in Advanced! HI ok in "host": "VPSIP", make that "host": "IP-address or domain name ", like "host": "99.44.22.44", or "host": "www.mypooo.com", The "port": 80, part this is the port the your pool wist will be on best to leave it on 80 "stratumHost": "pool.unomp.org", this is where the pool is and if you look in getting_started page it will display this as part of the connection info so again it can be hte IP address or the domain name hope that helps you out thanks Paul Well, this link is quite old, but it might help people like me still trying to figure this whole out. I am following these steps with the config.json file to connect to my VPS IP and getting every time this error: '[ERROR] [default] - Master Website Website process died, spawning replacement...', which means the uNOMP pool didn't get set up on my VPS.. but it works fine on my localhost. Can it be the redis server? Perhaps it should be also hosted on the VPS IP? Thank you if you can help me out on this one. Title: Re: How to build your own Multipool - the Open Source Way Post by: CryptoMona on July 26, 2018, 08:28:52 AM How to setup multiple remote stratum on the same pool?
I mean, server1 hosting the pool, server2 is in asia and hosting a stratum, server3 is in USA hosting another stratum , but all are on the same pool of server1. is this how works? |