Bitcoin Forum
April 20, 2024, 04:31:41 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ... 205 »
  Print  
Author Topic: bitHopper: Python Pool Hopper Proxy  (Read 355546 times)
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 11, 2011, 10:48:06 AM
 #81

why default pool is not deepbit PPS but eligius Huh

Deepbit PPS costs 10%. Eligius SMPPS has a negligible fee.

Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
1713587501
Hero Member
*
Offline Offline

Posts: 1713587501

View Profile Personal Message (Offline)

Ignore
1713587501
Reply with quote  #2

1713587501
Report to moderator
1713587501
Hero Member
*
Offline Offline

Posts: 1713587501

View Profile Personal Message (Offline)

Ignore
1713587501
Reply with quote  #2

1713587501
Report to moderator
1713587501
Hero Member
*
Offline Offline

Posts: 1713587501

View Profile Personal Message (Offline)

Ignore
1713587501
Reply with quote  #2

1713587501
Report to moderator
Once a transaction has 6 confirmations, it is extremely unlikely that an attacker without at least 50% of the network's computation power would be able to reverse it.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713587501
Hero Member
*
Offline Offline

Posts: 1713587501

View Profile Personal Message (Offline)

Ignore
1713587501
Reply with quote  #2

1713587501
Report to moderator
1713587501
Hero Member
*
Offline Offline

Posts: 1713587501

View Profile Personal Message (Offline)

Ignore
1713587501
Reply with quote  #2

1713587501
Report to moderator
1713587501
Hero Member
*
Offline Offline

Posts: 1713587501

View Profile Personal Message (Offline)

Ignore
1713587501
Reply with quote  #2

1713587501
Report to moderator
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 11, 2011, 02:13:28 PM
 #82

Crashed during the night. I was running it directly so there was no helpful error message waiting for me, the window simply closed itself while I slept. I ran it from within a command prompt this time so that if it crashes again I'll have an error to post. Hopefully it's just a fluke  Tongue
GoMaD
Member
**
Offline Offline

Activity: 74
Merit: 15


View Profile
July 11, 2011, 02:30:42 PM
Last edit: July 11, 2011, 02:40:43 PM by GoMaD
 #83

crashed during my breakfast!

last i saw was something like:

Code:
Traceback (most recent call last):
  File "pool.py", line 204, in server_update
    select_best_server()
  File "pool.py", line 179, in select_best_server
    new_server.callback(None)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 361, in callback
    self._startRunCallbacks(result)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 455, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 542, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "pool.py", line 337, in bitHopperLP
    json_request = request.content.read()
exceptions.ValueError: I/O operation on closed file

linenumbers didn't match cause i have some changes and comments
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 11, 2011, 02:53:58 PM
 #84

crashed during my breakfast!

last i saw was something like:

Code:
Traceback (most recent call last):
  File "pool.py", line 204, in server_update
    select_best_server()
  File "pool.py", line 179, in select_best_server
    new_server.callback(None)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 361, in callback
    self._startRunCallbacks(result)
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 455, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 542, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "pool.py", line 337, in bitHopperLP
    json_request = request.content.read()
exceptions.ValueError: I/O operation on closed file

linenumbers didn't match cause i have some changes and comments


Got it to crash again, came back here to post about it and saw the exact error already there. Same error for myself as well
anty
Newbie
*
Offline Offline

Activity: 40
Merit: 0



View Profile WWW
July 11, 2011, 03:47:16 PM
Last edit: July 11, 2011, 04:38:29 PM by anty
 #85

It just crashed for me too.
None the less, thanks for developing this proxy! I primarily use it to automatically switch to another pool when one goes down. The pool hopping is a nice bonus Wink
I want to +1 the request of putting the configuration into a separate file. I'd love to just do a "git update" without needing to merge my config into pool.py.

Edit: Here's another crash:
Code:
nishRequestBody
    self.allContentReceived()
  File "/usr/lib/python2.7/dist-packages/twisted/web/http.py", line 1641, in allContentReceived
    req.requestReceived(command, path, version)
  File "/usr/lib/python2.7/dist-packages/twisted/web/http.py", line 807, in requestReceived
    self.process()
--- <exception caught here> ---
  File "/usr/lib/python2.7/dist-packages/twisted/web/server.py", line 125, in process
    self.render(resrc)
  File "/usr/lib/python2.7/dist-packages/twisted/web/server.py", line 132, in render
    body = resrc.render(self)
  File "/usr/lib/python2.7/dist-packages/twisted/web/resource.py", line 210, in render
    return m(request)
  File "/home/anty/bitHopper/pool.py", line 342, in render_POST
    return bitHopper_Post(request)
  File "/home/anty/bitHopper/pool.py", line 281, in bitHopper_Post
    pool_server=servers[current_server]
exceptions.KeyError: None
koopa
Member
**
Offline Offline

Activity: 61
Merit: 10



View Profile
July 11, 2011, 04:21:29 PM
Last edit: July 12, 2011, 11:45:44 AM by koopa
 #86

Confirmed as working on Windows XP  Grin

Was looking for a proxy + hopper and stumbled across bithopper... installed this morning and it seems to be chugging along just fine. Thanks to c00w for taking the time to put this up and continue to develop it. Cheers.

As a python virgin here's what I did to get this going on XP....

Files required for a 32bit Windows XP install:

Bithopper - Obviously.
https://github.com/c00w/bitHopper

Python 2.7.2 - Version 2.7.2 is the latest version compatible with Twisted on Windows XP
http://www.python.org/ftp/python/2.7.2/python-2.7.2.msi
Other Python versions available here:
http://www.python.org/getit/

Twisted 11.0.0 - XP compatible:
http://twistedmatrix.com/Releases/Twisted/11.0/Twisted-11.0.0.winxp32-py2.7.msi
Other Twisted versions available here:
http://twistedmatrix.com/trac/wiki/Downloads

pyOpenSSL 0.11.winxp32-py2.7.msi - XP compatible:
http://launchpad.net/pyopenssl/main/0.11/+download/pyOpenSSL-0.11.winxp32-py2.7.msi
Other pyOpenSSL versions available here
https://launchpad.net/pyopenssl

Zope.interface - XP compatible:
http://pypi.python.org/packages/2.7/z/zope.interface/zope.interface-3.6.4-py2.7-win32.egg#md5=887bffa4e7739c03f2dec72145a67b69
Other Zope.interface versions available here:
http://pypi.python.org/pypi/zope.interface#downloads

OK, so to get this up and running, install python, twisted and pyOpenSSL. Unzip the zope.interface file (it's a .egg file) and place the contents in C:\Python26\Lib\site-packages\

You should be able to run it following c00w's instructions from there.

*Edit 12-06-11 - Added link to pyOpenSSL and expanded.

Grin
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 11, 2011, 05:07:44 PM
Last edit: July 11, 2011, 05:51:15 PM by enmaku
 #87

Here's my actual error, just crashed again:
Code:
--- <exception caught here> ---
  File "D:\Python27\lib\site-packages\twisted\web\server.py", line 127, in proce
ss
    self.render(resrc)
  File "D:\Python27\lib\site-packages\twisted\web\server.py", line 147, in rende
r
    body = resrc.render(self)
  File "D:\Python27\lib\site-packages\twisted\web\resource.py", line 216, in ren
der
    return m(request)
  File "D:\bithopper\pool.py", line 342, in render_POST
    return bitHopper_Post(request)
  File "D:\bithopper\pool.py", line 281, in bitHopper_Post
    pool_server=servers[current_server]
exceptions.KeyError: None
Unhandled Error
Traceback (most recent call last):
  File "D:\Python27\lib\site-packages\twisted\web\http.py", line 1349, in dataRe
ceived
    finishCallback(data[contentLength:])
  File "D:\Python27\lib\site-packages\twisted\web\http.py", line 1563, in _finis
hRequestBody
    self.allContentReceived()
  File "D:\Python27\lib\site-packages\twisted\web\http.py", line 1619, in allCon
tentReceived
    req.requestReceived(command, path, version)
  File "D:\Python27\lib\site-packages\twisted\web\http.py", line 773, in request
Received
Edit: It's now crashing like this ~once per hour... Help!
OCedHrt
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
July 11, 2011, 05:43:51 PM
Last edit: July 11, 2011, 07:04:16 PM by OCedHrt
 #88

mtred share information is actually incorrect. Numbers from both servers need to be combined.

Code:
def mtred_sharesResponse(response):
    global servers
    info = json.loads(response)
-   round_shares = int(info['server']['servers']['n0']['roundshares'])
+   round_shares = int(info['server']['roundshares'])
    servers['mtred']['shares'] = round_shares
    log_msg('mtred :' + str(round_shares))


Also just noticed mine.co is now PPLNS. Maybe should stop hopping to it or adjust its value.

ALL.ME  ●●●  SOCIAL NETWORK OF THE BLOCKCHAIN TIME ●●●
▄▄▄▬▬▄▄▄  Bounty all.me ▶ Jan 29th - May 8th 2018  ▄▄▄▬▬▄▄▄
Facebook   ▲   Twitter   ▲   Telegram
jkminkov
Hero Member
*****
Offline Offline

Activity: 698
Merit: 500


View Profile
July 11, 2011, 06:01:29 PM
 #89

how do I put 10-15 seconds delay before pulling API data from all pools when LP is triggered?

.:31211457:. 100 dollars in one place talking - Dudes, hooray, Bitcoin against us just one, but we are growing in numbers!
c00w (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
July 11, 2011, 07:18:10 PM
Last edit: July 11, 2011, 07:46:58 PM by c00w
 #90

1) Lots of crashes?
Are you saying the server process died? Or your client got disconnected... Most of the crashes you guys reported were in your bitHopperLP and as of about 2 am last night had a lot of try catch blocks to deal with the bizarre behavior of miners. I added some more.

2) Spinning out the authentication info?
Yeah I'll do it.

3) That one with server_name being none?
I fixed it. I think if every server lags out it would do that. Now it never will.

4) Adding more pools and mine.co is now not poolhoppable?
I'll set it as a info pool. I'll add the other pools when I have the time. I'm not going to add slush's as a poolhopper pool because pool hopping seems to be mostly random chance.

5) How to put a 10-15 second delay before pulling servers after LP is triggered?
Well LP should't be triggered server side from pools. It triggers miners from the pool changing servers. There is a .addDelayedCall or something similiar in twisted that you could use.

1HEmzeuVEKxBQkEenysV1yM8oAddQ4o2TX
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 11, 2011, 07:42:03 PM
 #91

Not client disconnects, the error I posted gets spammed several times per second, so quickly that it fills the buffer before I'm able to pause and see what occurred immediately prior.
OCedHrt
Member
**
Offline Offline

Activity: 111
Merit: 10


View Profile
July 11, 2011, 08:38:46 PM
 #92

4) Adding more pools and mine.co is now not poolhoppable?
I'll set it as a info pool. I'll add the other pools when I have the time. I'm not going to add slush's as a poolhopper pool because pool hopping seems to be mostly random chance.

Actually, you could probably still hop mine.co but will have to change the effective share range.

ALL.ME  ●●●  SOCIAL NETWORK OF THE BLOCKCHAIN TIME ●●●
▄▄▄▬▬▄▄▄  Bounty all.me ▶ Jan 29th - May 8th 2018  ▄▄▄▬▬▄▄▄
Facebook   ▲   Twitter   ▲   Telegram
c00w (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
July 11, 2011, 09:17:48 PM
 #93

Actually, you could probably still hop mine.co but will have to change the effective share range.

Maybe. I need to think about the math more and there are a million other things that need to be done for bitHopper. If you increased the effective share range I think you would still not make as much money hopping it as the other pools. The initial ramp up means you wouldn't get paid very much and then you could never quit or you would have to ramp up again...

1HEmzeuVEKxBQkEenysV1yM8oAddQ4o2TX
c00w (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
July 11, 2011, 09:20:37 PM
 #94

Not client disconnects, the error I posted gets spammed several times per second, so quickly that it fills the buffer before I'm able to pause and see what occurred immediately prior.

The None error should be fixed. The other errors will still appear but should be properly recovered. They still print the full error text but I should probably throw in a debug flag for that output.

1HEmzeuVEKxBQkEenysV1yM8oAddQ4o2TX
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 11, 2011, 10:31:14 PM
 #95

Not client disconnects, the error I posted gets spammed several times per second, so quickly that it fills the buffer before I'm able to pause and see what occurred immediately prior.

The None error should be fixed. The other errors will still appear but should be properly recovered. They still print the full error text but I should probably throw in a debug flag for that output.


Awesome, updating from git then Smiley

Edit: you should also probably modify the readme to indicate password.py as the new location of the account info. Didn't take a substantial amount of brainpower to figure that one out but I've worked tech support enough to know that no matter how obviously wrong the directions are there will always be some idiot who will follow them and then complain when it didn't work  Grin
koopa
Member
**
Offline Offline

Activity: 61
Merit: 10



View Profile
July 11, 2011, 10:50:10 PM
 #96

Hi,

I am getting the following errors each time I start bithopper, or when it switches pools:

Code:
Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
  File "C:\path\to\bithopper\pool.py", line 383, in <module>
    main()
  File "C:\path\to\bithopper\pool.py", line 377, in main
    update_call.start(117)
  File "C:\Python27\lib\site-packages\twisted\internet\task.py", line 163, in start
    self()
  File "C:\Python27\lib\site-packages\twisted\internet\task.py", line 194, in __
call__
    d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 133, in m
aybeDeferred
    result = f(*args, **kw)
  File "C:\path\to\bithopper\pool.py", line 253, in update_servers
    d = getPage(info['api_address'])
  File "C:\Python27\lib\site-packages\twisted\web\client.py", line 547, in getPage
    *args, **kwargs).deferred
  File "C:\Python27\lib\site-packages\twisted\web\client.py", line 525, in _make
GetterFactory
    from twisted.internet import ssl
  File "C:\Python27\lib\site-packages\twisted\internet\ssl.py", line 42, in <mod
ule>
    from OpenSSL import SSL
exceptions.ImportError: No module named OpenSSL
Trying to delag

I'm running bithopper on windows xp, with the latest phoenix miner. I'm not exactly sure if these errors are effecting the performance of bithopper, as it continues to rum seemingly unaffected.

Is this bad?

Grin
enmaku
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile
July 12, 2011, 12:19:38 AM
 #97

it continues to rum seemingly unaffected.

That's my kind of script  Grin
c00w (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
July 12, 2011, 01:37:43 AM
 #98

Hi,

I am getting the following errors each time I start bithopper, or when it switches pools:

Code:
Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
  File "C:\path\to\bithopper\pool.py", line 383, in <module>
    main()
  File "C:\path\to\bithopper\pool.py", line 377, in main
    update_call.start(117)
  File "C:\Python27\lib\site-packages\twisted\internet\task.py", line 163, in start
    self()
  File "C:\Python27\lib\site-packages\twisted\internet\task.py", line 194, in __
call__
    d = defer.maybeDeferred(self.f, *self.a, **self.kw)
--- <exception caught here> ---
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 133, in m
aybeDeferred
    result = f(*args, **kw)
  File "C:\path\to\bithopper\pool.py", line 253, in update_servers
    d = getPage(info['api_address'])
  File "C:\Python27\lib\site-packages\twisted\web\client.py", line 547, in getPage
    *args, **kwargs).deferred
  File "C:\Python27\lib\site-packages\twisted\web\client.py", line 525, in _make
GetterFactory
    from twisted.internet import ssl
  File "C:\Python27\lib\site-packages\twisted\internet\ssl.py", line 42, in <mod
ule>
    from OpenSSL import SSL
exceptions.ImportError: No module named OpenSSL
Trying to delag

I'm running bithopper on windows xp, with the latest phoenix miner. I'm not exactly sure if these errors are effecting the performance of bithopper, as it continues to rum seemingly unaffected.

Is this bad?

Yes. You need to install the python OpenSSL libraries on windows. https://launchpad.net/pyopenssl. I'm adding it to the readme.


1HEmzeuVEKxBQkEenysV1yM8oAddQ4o2TX
c00w (OP)
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
July 12, 2011, 02:56:57 AM
Last edit: July 12, 2011, 03:39:30 AM by c00w
 #99

In case you haven't noticed I got Server Side LP working. And now my rejection rate is 0%. Which is pretty sweet.

EDIT: Actually Its not completely working. But it is a lot less broken.

1HEmzeuVEKxBQkEenysV1yM8oAddQ4o2TX
organofcorti
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1007


Poor impulse control.


View Profile WWW
July 12, 2011, 03:01:28 AM
 #100


4) Adding more pools and mine.co is now not poolhoppable?
I'll set it as a info pool. I'll add the other pools when I have the time. I'm not going to add slush's as a poolhopper pool because pool hopping seems to be mostly random chance.


I just read through the info on PPLNS, as used by mineco.in and I can't think of a way to get around their system. It's simple - proportional payout only for last 0.5*<difficulty> shares before the block is found. You could hop there after say 0.5*<difficulty> shares or even <difficulty> shares on the off chance that they'll find a block around normal difficulty, but with variance so huge and block shares competed in 0.5*<difficulty> or 2*<difficulty> being fairly common I get the idea that you lose out more than you'd gain.

I haven't done the math but it seems intuitively not to be profitably hoppable. Yay! Another pure prop pool converts.

Interestingly though (from Ekligius post on the matter, http://eligius.st/wiki/index.php/Pay_Per_Last_N_Shares):

Quote
If another block is found at share Y, where (Y-X)<N, the shares in both lookback windows wind up getting paid again. Thus, multiple quick hits can mean a single share is paid multiple times.

So I'd be interested in seeing if it's worth sacrificing a few shares at the very start of a round (which would mostly die) in case there are two short rounds in a row. Unlikely though.




Bitcoin network and pool analysis 12QxPHEuxDrs7mCyGSx1iVSozTwtquDB3r
follow @oocBlog for new post notifications
Pages: « 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ... 205 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!