anyone know why this would happen? Im guessing this is propably phoenix related, not bithopper? This is after running more than 30hrs without problems: [23/07/2011 19:39:06] Result: 8ba20c64 accepted [23/07/2011 19:39:20] Result: 7ddd8caa accepted [23/07/2011 19:39:23] Result: 18558e4d accepted [393.75 Mhash/sec] [9000 Accepted] [860 Rejected] [RPC (+LP)]./miner2.sh: line 3: 15173 Killed ./phoenix.py -u http://x:x@localhost:8336/ DEVICE=1 -k phatk VECTORS BFI_INT AGGRESSION=11 FASTLOOP=false WORKSIZE=256 -a 50 root@linuxcoin:/home/user# running Phoenix 1.50. Thanks
|
|
|
Your awsome c00w, I'm sending some coins your way.
Also nofeemining is going to a score based system (where every share is equal to 50BTC/difficulty) not sure what thats called, but its happening soon.
|
|
|
I like the idea of having something like this in the pool.cfg file, but only because I dont know what a json_ec is. [polmine] name: polmine.pl mine_address: polmine.pl:8347 api_address:https://polmine.pl/?action=statistics role:mine api_method:re api_shares: int(re.search(r"stkich:</th><td>[ 0-9]*</td>", response).group(0)[16:-5].replace(' ','')) #CHANGE THIS #https://polmine.pl user: xxx pass: xxx How do I add methods? edit: also above method would require the api_index
|
|
|
I think the core bithopper program should not include many pools, maybe even only have backup pools in it. This way each person who runs bithopper will have to setup the pools they want to hop themselves. This would save the pools from being hammered by EVERYONE who runs bithopper, and will only be hopped by people who specifically set it up, making it somewhat random and spearing the servers from being overloaded.
I think the core bithopper program should include ALL of the hoppable pools, but with most of them set to 'disable' or 'info' in pools.py. That way people can just mine the pools they want by changing the value to 'mine'. Good call, but it would even be better if you can set info or disable in the passwords file so that you can update the hopper without losing which pools are active or disabled.
|
|
|
I think the core bithopper program should not include many pools, maybe even only have backup pools in it. This way each person who runs bithopper will have to setup the pools they want to hop themselves. This would save the pools from being hammered by EVERYONE who runs bithopper, and will only be hopped by people who specifically set it up, making it somewhat random and spearing the servers from being overloaded.
|
|
|
New version 2011-07-17 getting a lot of: 2011-07-18 01:24:09: Listener for "bitcoinmonkey": [18/07/2011 01:24:09] Kernel error: Unusual behavior from OpenCL. Hardware problem? I had the same issue on my 5850, but when I took 5Mhz off my overclock the error went away, guessing it was picking up some errors from being pushed harder?
|
|
|
I already reward at least 1-2% donation to the pools that I use, make sure they can afford to upgrade the pools to support surges in hashrates from bitHopper.
Thanks for getting nofeemining to work, hope it turns out to be a legit pool.
P
|
|
|
now that nofeemining.com are no longer protecting their stats with a captcha, i decided to add them (i added and defined nofee_user_apikey in passwords.py): 'nofee':{'shares': default_shares, 'name': 'nofee', 'mine_address': 'nofeemining.com:8332', 'user': nofee_user, 'pass': nofee_pass, 'lag': False, 'LP': None, 'api_address':'https://www.nofeemining.com/api.php?key=' + nofee_user_apikey, 'role':'mine'} ...
def nofee_sharesResponse(response): global servers info = json.loads(response) round_shares = int(info['poolRoundShares']) servers['nofee']['shares'] = round_shares bitHopper.log_msg('nofee:' + FormatShares(round_shares))
...
'nofee':nofee_sharesResponse, but i get the following error: "[Failure instance: Traceback: <type 'exceptions.ValueError'>: No JSON object could be decoded\n/usr/lib/python2.6/dist-packages/twisted/internet/defer.py:1076:gotResult\n/usr/lib/python2.6/dist-packages/twisted/internet/defer.py:1063:_inlineCallbacks\n/usr/lib/python2.6/dist-packages/twisted/internet/defer.py:361:callback\n/usr/lib/python2.6/dist-packages/twisted/internet/defer.py:455:_startRunCallbacks\n--- <exception caught here> ---\n/usr/lib/python2.6/dist-packages/twisted/internet/defer.py:542:_runCallbacks\n/home/user/bitHopper/pool.py:195:selectsharesResponse\n/home/user/bitHopper/pool.py:169:nofee_sharesResponse\n/usr/lib/python2.6/json/__init__.py:307:loads\n/usr/lib/python2.6/json/decoder.py:319:decode\n/usr/lib/python2.6/json/decoder.py:338:raw_decode\n]"
the api definitely works from curl and wget, and the identifier is 'poolRoundShares'. no fee mining is a prop pool that proudly proclaim on their website :"no pool hopping protection" ! they want us bad. i like being wanted. So any ideas on a fix? I'm having the same issues, have you figured this out? Ive on NFM for a while and it looks and sounds decent. If you hit up https://www.nofeemining.com/api.php you get the pool stats, no API key required. What does No JSON object could be decoded mean? It seems like there is a poolRoundShares item in the response.
|
|
|
Plus I find it hard to think of it as cheating when their isnt even the slightest of obstacles to get around. Not even a user agreement that says I cant do this. Kinda hard to claim I am breaking the rules when you cant even point to the rule I broke.
What If i found a way to edit the miner software and add say 3% of speed.. none of you have that speed increase.. would that be cheating? Shouldnt we all be forced to use the same mining software?
+1 Also joulesbeef: Greatest Avatar Ever +1111111
|
|
|
Do you have an plan for what will be logged? I have a suggestion: It would be good to have logged the number of shares sent to which pool, as well as which worker completed the work (maybe log the username of the worker that connected to the proxy with each share) to help with troubleshooting and statistics.
Log for each share: Timestamp, Pool, Worker Name, pool round shares as per api at the time share was sent, difficulty
As for the hopping aspect log: Timestamp, pool hopped to, pool share count
A log to a text file or two would be great for now, just so we can get it into a spreadsheet or parse it somehow with a different program.
Thats what I'd like to see, any other info that should be logged?
EDIT: Maybe for each share also record what block number we were on at the time, although now that I think about it every share will end up being for a different block then when it was submitted...
|
|
|
How is efficiency calculated? I was under the impression that one should expect to get:
(Payout per block / difficulty) * number of shares submitted
As difficulty is the average number of shares that are needed to solve a block so each share should be worth 50BTC / 1,564,057 = 0.000031968BTC per share? Please correct me if I'm wrong.
If that right then I would guess efficiency is how much you get over that expected amount?
|
|
|
Unhandled error in Deferred: Unhandled Error Traceback (most recent call last): File "pool.py", line 195, in server_update select_best_server() File "pool.py", line 171, in select_best_server new_server.callback(None) File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 361, in callback self._startRunCallbacks(result) File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 455, in _startRunCallbacks self._runCallbacks() --- <exception caught here> --- File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line 542, in _runCallbacks current.result = callback(current.result, *args, **kw) File "pool.py", line 336, in bitHopperLP json_request = request.content.read() exceptions.ValueError: I/O operation on closed file I got this error, is there something wrong with my setup? It doesnt come up all the time, and it may have happened as bithopper decided to switch pools. Also when I got home today my miners were sitting idle, but they didnt show a disconnected message, just that they had no work, ,looking back at the log from bithopper, looks like it was still getting the api data from pools, but was also showing the message: Error in pool api for btcg multiple times, unfortunatley the RPC request log line I commented out to not show the work units so Im not sure if it was trying to connect or not. Do you know what could have happened? I know its not alot of info, so is there a way if something sismilar happens again that I can investigate what bithopper is trying to do? Thanks
|
|
|
Congrats on your pool, do you have a pool stats api? Also do you use proportional or PPS? Thanks!
|
|
|
And, what's the reasoning for waiting until the server with the least shares to have more than half of the current server before switching? if min_shares < servers[current_server]['shares']: if servers[current_server]['shares'] - min_shares < .50 * servers[current_server]['shares']: select_best_server() return
Check out http://forum.bitcoin.org/index.php?topic=26866.msg342833#msg342833 its to avoid hopping back and fourth between two pools. How much overhead is there when hopping between pools? Would it be limited to how many work units a miner had queued up? Or is there some other losses Im missing? No I don't think so. As written it wouldn't do that. Rather it actually prevents a switch until the lowest share server has at least 50% of the current server, not the difficulty. The other problem is that it's doing an update_server every share submit, not just on each LP. I think your right, should it be if servers[current_server]['shares'] - min_shares > .50 * servers[current_server]['shares']: ? I think I would prefer my miners to switch as soon as there is anything lower, to maximize effectiveness. Unless the switching lowers your hasrate too much, but I dont see how it would.
|
|
|
To everyone else. Would you like to see freedos and the ATI flashing tools added to the PXE boot menu ? I'm on the fence on if this will be helpful.
IMHO linuxcoin should have the features and tool to mine, things like flashing the bios is something that should be done before starting full time mining, using the tools that are already available out there, no point of making linuxcoin overly complicated. Also I though with Catalyst 11.6 it allowed overclock past bios limits, so is there still advantages of flashing?
|
|
|
Sorry to take spam this thread with so many posts but I found this useful and maybe someone else will as well. Just using new bithopper - how can you tell which pool you're connected to?
I added a line to my pool.py file that will display the chosen server name with **** around it so one can pick it out of the torrent of information flowwing through the log file. Please let me know if there is a better spot for this as Im not good at python (yet) so I just stuck it in to see what happens. for server in servers: info = servers[server] if info['shares']< min_shares and info['lag'] == False: log.msg( '***min_shares :' + str(min_shares)) min_shares = servers[server]['shares'] server_name = server
if server_name == None: server_name = 'eligious'
"""This line added to show current server in a more visible way""" log.msg( '******New server **** :' + str(server_name))
global new_server global lp_set
|
|
|
Here is some logic that popped in my head while looking through the code (I've never programmed in python but I have done some programming at school). Please let me know if this makes sense:
1. Check the api of each pool for share_count 2. If share_count[of the pool you are checking] < 1 then share_count[of the pool you are checking] = 10**10 3. Pick the pool with the lowest share count
Step 2 will catch any misbehaving api or a pool that is down and is returning a 0 for the share count.
Let me know if the code is doing this or something like this already, I have a hard time following some of the if statements, but you've inspired me to go and learn some python syntax!
|
|
|
And, what's the reasoning for waiting until the server with the least shares to have more than half of the current server before switching? if min_shares < servers[current_server]['shares']: if servers[current_server]['shares'] - min_shares < .50 * servers[current_server]['shares']: select_best_server() return
Check out http://forum.bitcoin.org/index.php?topic=26866.msg342833#msg342833 its to avoid hopping back and fourth between two pools. How much overhead is there when hopping between pools? Would it be limited to how many work units a miner had queued up? Or is there some other losses Im missing? Well I almost have Long polling support enabled on the server side so it'll switch everytime a block is found.
looking forward to LP support, but how will you know where to switch from LP? Won't it just tell you that a block was found somewhere in the network? I suppose you could use that info to determine when bithopper checks to see which pool has the least shares to see if one of them was the one that found the block? Or maybe I'm just misunderstanding LP. Again, thanks for such a simple and easy to use/modify proxy. I think you understand correctly, and this is a good idea in theory, but if you are using the api of the pool to figure out which pool it is and it takes a while for some pools to update the stats, then your probably best off staying in the current pool until bithopper picks up a low block count from the winning pool through its regular checks, and switches anyways. How often does bithopper check each pools apis?
|
|
|
This thing is great! I would like to be able to see better what its doing, is there any way to hide the Starting factory and Stopping factory messages?
|
|
|
Thanks NoFeeMining, I've been keeping up to date with all the changes you've made to the site, its getting better every couple of hours, especially with no fees! And we even get to keep the transaction fees! I would like to see an overall pool stats API so that your pool can be included in sites like bitcoinwatch.com Keep up the good work, thanks!
|
|
|
|