Pages:
Author

Topic: Multipool - the pool mining pool (with source code) - page 9. (Read 48269 times)

newbie
Activity: 24
Merit: 0
I managed to get it up and running, ...
Edit 2: Resolved that one as well. It required a change in the code, on line 1303 you have to replace multipool.hpc.tw with an hostname you use. It works great so far, thanks!
Great to hear the pool works for other people as well!

I experience one problem. After running the Multipool server for few hours, it slows down. The output in the console slows down and then workers are experiencing idle times. Restarting the server helps. Is this a memory leak, or maybe the log file slows whole thing down? Anyone noticed it?
The pool worked fine for several days at a time with ~30 users connected. What is the cpu/memory usage for Multipool.pl and bitcoind?

There is one correction I should make. On line 520 replace:
Code:
my $pool_name=$ranked_pools[$i]->{name};
with
Code:
my $pool_name=$pool->{name};
. It is some threading race issue I was working on which crashes the pool once a day or so.

I think we'll need to move the pool specific functions ([poolname]_rewards) to the pools.conf file, to be a bit more portable/extendable... Maybe something like a "plugin" system.

Unfortunately I didn't yet code a lot in Perl and porting all this stuff to Python is a task for later (at least for me). Would be great to at least have a proper git repo etc. running!
Instead of solo something like Eligius with PPS + nearly 0 fees would be interesting (if people don't exploit it by withholding winning shares that is...) or maybe even namecoin.
I'll configure the repo properly at some point. The computer I used didn't have git, and I was surprised to find out that github doesn't have any web upload interface that I could see, besides the "downloads" button. The poolname_rewards functions can indeed probably be moved into separate files for easier sharing, along with whatever is in pools.conf presently. Just remember that poolname_rewards is not critical for single miners, since everything necessary for pool hopping is already contained in pools.conf.

Quote from: README
To pay users, create a "main" account, move funds to it, and run:
./Multipool.pl save/`ls -t save|head -n1` getpayouts | tee pay
bitcoind sendmany main `cat pay` payout
From what I understand - I have to manually move the funds from all accounts associated to the pools to "main" account, and then execute these commands? Is there any automatic way to do this? And do you use a cron script for running this periodically?

Also, please post your Bitcoin address in the first post so we can donate to you! Smiley
I was too hesitant to set the payouts on automatic, since that is the one single step that is irreversible in case of any miscalculations. As it is, there are only two commands to run, with a pause in between to allow you to glance over the numbers to see that they are sensible. And moving btc gold from account to account... builds strength. You can definitely automate all these steps in a cron script if you are more fearless Wink. Also, I don't beg, and neither did I do this for btc.

Unless you have a few GH/s to throw at it, I'd disable the solo pool, as it will not give you profits for weeks and just "waste" GPU cycles Smiley.
You misunderstand: the solo pool isn't there to "waste" your GPU cycles on solo mining, it is there to ensure that you do not waste your GPU cycles. It is probably unlikely that you will run into this problem as a single miner, but there have been times for Multipool when enough pools went down/had insufficient responsiveness that Multipool was unable to pull enough getworks to satisfy all the connected miners. If not for solo shares, those miners would have been idling. Solo shares also mitigate the harm that uncooperative miners can do (see "user_lawful" function). In normal operations, the only time you, as a single miner, will ever receive solo shares is at the very beginning, before multipool has had time to connect to the other pools.
member
Activity: 79
Merit: 14
200Mh online.

Thanks!  From what I can see, it looks like things are working well for you+me+2-3 other users so far.
hero member
Activity: 607
Merit: 500
I experience one problem. After running the Multipool server for few hours, it slows down. The output in the console slows down and then workers are experiencing idle times. Restarting the server helps. Is this a memory leak, or maybe the log file slows whole thing down? Anyone noticed it?
newbie
Activity: 33
Merit: 0
200Mh online.
hero member
Activity: 658
Merit: 500
I started on the multipool the day before it went down, so this is awesome. Probably have about a thousand pending shares. Wonder what 14CFNKinKKZ9fjaEbrGJ4PqBSZ28trx9FN has?
member
Activity: 79
Merit: 14
I've managed to get the Multipool software running on my server to my satisfaction.  After a few spot checks, the accepted share rate from my miner connecting to my Multipool clone is about where I expect it to be.

While Multipool (the user) has graciously made Multipool (the software) open-source, it seems like something a lot of people aren't going to have the patience (or an available server) to set up.  With pool hopping now available fairly easily available to everyone, (IMO) you'd be crazy to mine on a proportional pool without pool hopping.

Since I'm going to be running a Multipool clone anyway for my own personal use, I figured I would offer access to the community for anyone who is interested in using a Multipool clone, but doesn't want to deal with setting it up.  

I'll do what I can to provide good uptime (after all, I'm using this for my personal mining as well), but the only promise I can make is that I'm not going to intentionally screw you over Smiley  I'll make payments as often as is practical.

Server: multiclone.us.to
Mining Port: 18337
Website Port: 18080  (which makes the stats webpage available at http://multiclone.us.to:18080/)

Just like with the original Multipool, there's no need for registration or anything -- you just connect to the pool with a Bitcoin address as the username, and anything for the password.

Example mining command:
Code:
./phoenix.py -u http://17x6iXEGfE94VnDwUMS1E5fii3FEqXLrEf:[email protected]:18337 DEVICE=0 VECTORS BFI_INT -k phatk

If anyone wants to help test this by throwing some hashes at the server, I would be much obliged.
hero member
Activity: 927
Merit: 1000
฿itcoin ฿itcoin ฿itcoin
There is no git repo as it seems... only downloads
Ah, sorry.. I had a brain fart.  Roll Eyes

https://github.com/multipool/Multipool/downloads for anyone else that might be looking for the files.
legendary
Activity: 2618
Merit: 1007
There is no git repo as it seems... only downloads
hero member
Activity: 927
Merit: 1000
฿itcoin ฿itcoin ฿itcoin
hmm, what happened to the git repo? Seems to have been deleted.
legendary
Activity: 2618
Merit: 1007
I think we'll need to move the pool specific functions ([poolname]_rewards) to the pools.conf file, to be a bit more portable/extendable... Maybe something like a "plugin" system.

Unfortunately I didn't yet code a lot in Perl and porting all this stuff to Python is a task for later (at least for me). Would be great to at least have a proper git repo etc. running!
Instead of solo something like Eligius with PPS + nearly 0 fees would be interesting (if people don't exploit it by withholding winning shares that is...) or maybe even namecoin.
hero member
Activity: 607
Merit: 500
Unless you have a few GH/s to throw at it, I'd disable the solo pool, as it will not give you profits for weeks and just "waste" GPU cycles Smiley.
member
Activity: 79
Merit: 14
I'm currently getting the following error in my log when trying to start things up for the first time:
Code:
connection error to solo (p=0.50): 500 Internal Server Error
You need a line for the "solo" pool in your accounts.conf file, listing your bitcoind username and password (same as in bitcoind.conf, but a second time). You could probably use another pool's login info, as long as you change the "solo" address in pools.conf. The solo pool is used to serve getworks when all other pools are slow/unavailable. These requests are blocking though, so make sure your default pool doesn't go down and has good responsiveness.

If you do decide to remove the solo pool entirely, comment out these lines
...

I did have the solo line in my accounts.conf -- I think that error was a result of my having recently installed bitcoind on this server, and it still needing to catch up on downloading the previous blocks before it would process the requests that Multipool sent its way.

Last night, bitcoind was using 50-75% CPU (and not working with Multipool).  This morning, it's almost completely idle (and works consistently with Multipool).

Thanks also for the tips about the possibility of removing the solo pool.
legendary
Activity: 2618
Merit: 1007
We could extend the script to send the necessary requests for payouts (usually a button to click --> POST request to the pool website) to each pool.
hero member
Activity: 607
Merit: 500
One question:

Quote from: README
To pay users, create a "main" account, move funds to it, and run:
./Multipool.pl save/`ls -t save|head -n1` getpayouts | tee pay
bitcoind sendmany main `cat pay` payout

From what I understand - I have to manually move the funds from all accounts associated to the pools to "main" account, and then execute these commands? Is there any automatic way to do this? And do you use a cron script for running this periodically?

Also, please post your Bitcoin address in the first post so we can donate to you! Smiley
hero member
Activity: 607
Merit: 500
I managed to get it up and running, but the getwork thread fails to execute:

Quote
Thread 2 terminated abnormally: Invalid value for shared scalar at /usr/share/perl/5.10/Thread/Queue.pm line 90, line 11.

Any help with that?

Edit: I updated Thread::Queue CPAN module and now it works! I have other problem though: when requesting /user/BITCOIN_ADDRESS from the server, I always get "404 not found" message.

Edit 2: Resolved that one as well. It required a change in the code, on line 1303 you have to replace multipool.hpc.tw with an hostname you use. It works great so far, thanks!
newbie
Activity: 24
Merit: 0
Code:
404 Not Found
edit: I think this 404 was because I missed one edit, where you have something about tor exit.
Oh right, you need an index.html file for the homepage. Uploaded a simple one to github. Comment out the stuff about tor. All the /user/ pages are dynamically generated though.

I'm currently getting the following error in my log when trying to start things up for the first time:
Code:
connection error to solo (p=0.50): 500 Internal Server Error
You need a line for the "solo" pool in your accounts.conf file, listing your bitcoind username and password (same as in bitcoind.conf, but a second time). You could probably use another pool's login info, as long as you change the "solo" address in pools.conf. The solo pool is used to serve getworks when all other pools are slow/unavailable. These requests are blocking though, so make sure your default pool doesn't go down and has good responsiveness.

If you do decide to remove the solo pool entirely, comment out these lines:
Code:
569: # $do_send{"solo"}=$pools{solo} if $solo_queue->pending<$WORK_QUEUE_SIZE/4;
438: # $longpoll_send++ if $pool->{name} eq "solo";
uncomment 439: $longpoll_send++ if (!$switched_pools and $ranked_pools[0] and $pool->{name} eq $ranked_pools[0]->{name});
replace 1531-2:
    if ($lawful){
    $pair = $work_queue->dequeue_nb;
with:
    if ($lawful or 1){
    $pair = $work_queue->dequeue;
replace 1663-4:
    if ($lawful){                                                                                                         
    $pair = $work_queue->dequeue_nb;
with:
    if ($lawful or 1){                                                                                                         
    $pair = $work_queue->dequeue;

Edit:  And you received notice at least 24 hours prior to the pool shutting down on Friday the 24th of June during the evening in whatever time zone you are in.  You posted twice on the 25th and once on the 26th, neglecting both days to inform people of the potential issue?
I don't check every single email account every single day, particularly not on weekends or days that I'm not specifically working on Multipool. Also, Multipool is as much hosted in Taiwan as bitcoins.lc is hosted in the Caribbean.
member
Activity: 79
Merit: 14
Hey Multipool!  Thanks for releasing your source, this is pretty exciting. I've been trying to get it up and running on my system this evening.

I've edited the URLs / IPs in Multipool.py for my local LAN.

I'm currently getting the following error in my log when trying to start things up for the first time:
Code:
starting pool from scratch (no data file provided)
starting pool status monitor
monitoring pools
starting getwork daemon
connection error to solo (p=0.50): 500 Internal Server Error
starting pool rewards and transactions monitor
connection error to solo (p=1.00): 500 Internal Server Error
connection error to solo (p=1.50): 500 Internal Server Error
connection error to solo (p=2.00): 500 Internal Server Error
starting rpc server daemon
connection error to solo (p=2.50): 500 Internal Server Error
main thread online Tue Jun 28 22:31:32 2011
thread 4: rpc daemon online
thread 1: status monitor online
thread 3: reward monitor online
thread 2: getwork daemon online
thread 5: website daemon online
0 users (0 active): hashrate=0 Mhash/s getworks=/min (queue size=30) shares=/min stale=/min
starting website
connection error to solo (p=3.00): 500 Internal Server Error
connection error to solo (p=3.50): 500 Internal Server Error
connection error to solo (p=4.00): 500 Internal Server Error
...lots more connection errors to solo...

I've tried restarting bitcoind, which didn't seem to help.  If bitcoind isn't running, it dies sooner with 'cannot communicate with bitcoind' (or something to that effect).

I tried changing some of the ports (I prefixed all of $port, $website_port, and $longpoll_port with an additional '1'), and the Multipool server started up cleanly once and seemed to be able to connect to all the other servers I have configured just fine.  I was able to connect my miner and submit shares.

While the server was running, I tried to browse to the local Multipool website (with the updated website_port) to check stats, and got:
Code:
404 Not Found
edit: I think this 404 was because I missed one edit, where you have something about tor exit.

After that, I ctrl+C'd to shut things down and it seemed to shut down cleanly.  Trying to start up again with the exact same commandline params, and I'm back to the 'connection error to solo' issues.

Any ideas on the solo issue?  FWIW, I'd be fine with (prefer, actually....) no solo mining and I can just configure something else [a PPS pool?] as a static fallback...

newbie
Activity: 42
Merit: 0
Welcome back, Multipool!  Smiley

What would be the fair way to fill in the blanks - would miners assent if I distribute the last day's earnings to the miners in proportion equal to their previous day's work? Tough luck though for the guy with the thousand pending shares and one confirmed Roll Eyes.

I think that would be okay, but then please merge the accounts 1NMF8V2raa6B7hE84hYm2D5Djkm2JnvM8D and 1NvfAA7TA647CNZxRpvqkKrSGEHa4oGEwA and 1QEm95rPr8EKMTqYDyQNkUHpChY8Jj8Wct into one, since I changed the payout address to get more compact statistics. It's possible, that only two of those are in your backup though.

They did send notice. On Friday evening. And the server went down sometime Saturday/Sunday. Since I don't have proof of malicious intent, I am not going to libel them. Just something to be on the lookout for when VPS shopping.

Well, okay, they shut down your VPS, which is understandable if they think you didn't pay. But they REALLY shouldn't delete the data before - say - two weeks! Come on, that's a few GB. It's not too much to keep them until everything is worked out. That is malicious and unprofessional.

WTF! Please tell us which host this is. Everyone should stop using it. Shutting down and deleting your instance without notice, that's just unacceptable.

Agreed.

@Multipool: I hope you set up your pool again soon. Then it's going to be my primary pool again (currently I'm using continuum - very nice pool, but shares only have a utility of 1  Wink )
member
Activity: 84
Merit: 10
So just to get the timeline right, the pool shut down at 1pm on June 26th EST (5pm GMT), which was a Sunday afternoon.  We know this because there is a post in this thread stating as much.  The website is hosted out of Taiwan I believe, so that would mean it shut down at 1am Monday morning, June 27th local time.  Odd time to shut down a site, but whatever.

Am I understanding this correctly?

Edit:  And you received notice at least 24 hours prior to the pool shutting down on Friday the 24th of June during the evening in whatever time zone you are in.  You posted twice on the 25th and once on the 26th, neglecting both days to inform people of the potential issue?
newbie
Activity: 24
Merit: 0
There is a "Download" link where you can download Multipool.pl and README, but the pools.conf is corrupted/empty Sad.
Fixed the pools.conf link. First time using github, as you can see.

WTF! Please tell us which host this is. Everyone should stop using it. Shutting down and deleting your instance without notice, that's just unacceptable.
They did send notice. On Friday evening. And the server went down sometime Saturday/Sunday. Since I don't have proof of malicious intent, I am not going to libel them. Just something to be on the lookout for when VPS shopping.
Pages:
Jump to: