Pages:
Author

Topic: [1200 TH] EMC: 0 Fee DGM. Anonymous PPS. US & EU servers. No Registration! - page 39. (Read 499791 times)

hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.
Wow, I'm calling BS!

Stratum works fine on Ozcoin.  I'd say Stratum implementation on Eclipse is broken..
Some HTML 4 webpages work fine in MSIE 5. But that doesn't mean HTML 4 in general works fine in MSIE 5.

I found Con's implementation of stratum had 3 problems with regard to working on Eclipse:
  • It assumes all difficulties set are integers. JSON treats all Numbers as the same type, and stratum doesn't restrict the range to integer values. Every stratum client implementation except Con's correctly handles real number difficulties. EclipseMC has an unrestricted vardiff range, and more often than not uses a real number.
  • It assumes the server will send a notify (or at least some message) every 90 seconds. Stratum makes no such guarantees.
  • It gives up on authorizations if a response is not received basically instantly.

Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.
According to the wikki on Ver 2.0

id: An identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null [1] and Numbers SHOULD NOT contain fractional parts [2]

It seems like luke-jr misunderstands what a client is. The client is CGminer. Also in no example I have found in the documentation was id anything but an integer. This doesn't mean it has to be but if every example has it being so then it seems like a precedent. It seems like id is used instead of method. Shouldn't it be like this?
{"jsonrpc": "2.0", "method": "auth", "id": (whatever the client sent)}

According to the Stratum Documentation.

Response
    Every response contains following parts
◦message ID - same ID as in request, for pairing request-response together
◦result - any json-encoded result object (number, string, list, array, …)
◦error - null or list (error code, error message)

While true it says that any string, number or NULL value is required, it also stated it is selected by the client. I am not 100% positive on the rest I didn't write the specs or anything. I just read them. I really don't see why a person wouldn't want authorized before they get a difficulty.

As I see it and maybe I am totally wrong but I want to try stratum on EMC. Since authorize can come at any time why can't it come before subscribing?
The whole "id isn't an integer" thing is presumably about how BFGMiner (the client) implements stratum authorization in git (in part to fix the problems at hand). I found every stratum server, including EclipseMC, to properly respond with the same id sent by the client. And they all send responses to commands in the order those commands were received; Con's implementation (as well as the stratum examples) requests the subscription (work and difficulty) before it authorizes - it also works fine with them coming back in the same order, as long as it's instantaneous and recognized as valid (which non-integer difficulties aren't).

So, how to I use stratum on EMC?

help?
I'll plan to release a BFGMiner with the fixes sometime soon... but it should be noted that GBT is still better. Wink

Obviously the stratum proxy and/or poclbm should work fine too.

I suppose the second addendum to the numbers was glossed over slightly. It says this:

[2] Fractional parts may be problematic, since many decimal fractions cannot be represented exactly as binary fractions.

That would seem to indicate that it is better to use Integers then decimals or other real numbers. At least since they may not get the same value that the server sends.

Actually I have an idea on how to suggest handling it I may see what Con thinks.
legendary
Activity: 1260
Merit: 1000
It was my understanding subscribe can come at anytime, but authorize has to come are a more specific time (beginning of the session), is that wrong?
legendary
Activity: 2576
Merit: 1186
Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.
Wow, I'm calling BS!

Stratum works fine on Ozcoin.  I'd say Stratum implementation on Eclipse is broken..
Some HTML 4 webpages work fine in MSIE 5. But that doesn't mean HTML 4 in general works fine in MSIE 5.

I found Con's implementation of stratum had 3 problems with regard to working on Eclipse:
  • It assumes all difficulties set are integers. JSON treats all Numbers as the same type, and stratum doesn't restrict the range to integer values. Every stratum client implementation except Con's correctly handles real number difficulties. EclipseMC has an unrestricted vardiff range, and more often than not uses a real number.
  • It assumes the server will send a notify (or at least some message) every 90 seconds. Stratum makes no such guarantees.
  • It gives up on authorizations if a response is not received basically instantly.

Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.
According to the wikki on Ver 2.0

id: An identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null [1] and Numbers SHOULD NOT contain fractional parts [2]

It seems like luke-jr misunderstands what a client is. The client is CGminer. Also in no example I have found in the documentation was id anything but an integer. This doesn't mean it has to be but if every example has it being so then it seems like a precedent. It seems like id is used instead of method. Shouldn't it be like this?
{"jsonrpc": "2.0", "method": "auth", "id": (whatever the client sent)}

According to the Stratum Documentation.

Response
    Every response contains following parts
◦message ID - same ID as in request, for pairing request-response together
◦result - any json-encoded result object (number, string, list, array, …)
◦error - null or list (error code, error message)

While true it says that any string, number or NULL value is required, it also stated it is selected by the client. I am not 100% positive on the rest I didn't write the specs or anything. I just read them. I really don't see why a person wouldn't want authorized before they get a difficulty.

As I see it and maybe I am totally wrong but I want to try stratum on EMC. Since authorize can come at any time why can't it come before subscribing?
The whole "id isn't an integer" thing is presumably about how BFGMiner (the client) implements stratum authorization in git (in part to fix the problems at hand). I found every stratum server, including EclipseMC, to properly respond with the same id sent by the client. And they all send responses to commands in the order those commands were received; Con's implementation (as well as the stratum examples) requests the subscription (work and difficulty) before it authorizes - it also works fine with them coming back in the same order, as long as it's instantaneous and recognized as valid (which non-integer difficulties aren't).

So, how to I use stratum on EMC?

help?
I'll plan to release a BFGMiner with the fixes sometime soon... but it should be noted that GBT is still better. Wink

Obviously the stratum proxy and/or poclbm should work fine too.
hero member
Activity: 896
Merit: 532
Former curator of The Bitcoin Museum
So, how to I use stratum on EMC?

help?

Derp!
hero member
Activity: 1078
Merit: 502
so for stratum, I should enter:

http://us2.eclipsemc.com:3333
No, stratum isn't http. stratum+tcp://us2.eclipsemc.com

Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.


last few versions of cgminer have worked perfect with stratum mining on btcguild...



What's this crap about Luke?
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
so for stratum, I should enter:

http://us2.eclipsemc.com:3333
No, stratum isn't http. stratum+tcp://us2.eclipsemc.com

Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.

According to the wikki on Ver 2.0

id: An identifier established by the Client that MUST contain a String, Number, or NULL value if included. If it is not included it is assumed to be a notification. The value SHOULD normally not be Null [1] and Numbers SHOULD NOT contain fractional parts [2]

It seems like luke-jr misunderstands what a client is. The client is CGminer. Also in no example I have found in the documentation was id anything but an integer. This doesn't mean it has to be but if every example has it being so then it seems like a precedent. It seems like id is used instead of method. Shouldn't it be like this?
{"jsonrpc": "2.0", "method": "auth", "id": (whatever the client sent)}

According to the Stratum Documentation.

Response
    Every response contains following parts
◦message ID - same ID as in request, for pairing request-response together
◦result - any json-encoded result object (number, string, list, array, …)
◦error - null or list (error code, error message)

While true it says that any string, number or NULL value is required, it also stated it is selected by the client. I am not 100% positive on the rest I didn't write the specs or anything. I just read them. I really don't see why a person wouldn't want authorized before they get a difficulty.

As I see it and maybe I am totally wrong but I want to try stratum on EMC. Since authorize can come at any time why can't it come before subscribing?
legendary
Activity: 1540
Merit: 1001
so for stratum, I should enter:

http://us2.eclipsemc.com:3333
No, stratum isn't http. stratum+tcp://us2.eclipsemc.com

Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.

Wow, I'm calling BS!

Stratum works fine on Ozcoin.  I'd say Stratum implementation on Eclipse is broken..

M
legendary
Activity: 2576
Merit: 1186
so for stratum, I should enter:

http://us2.eclipsemc.com:3333
No, stratum isn't http. stratum+tcp://us2.eclipsemc.com

Cgminer doesn't seem to like that. coming up as dead.
cgminer's stratum implementation is broken. I've got some fixes in BFGMiner git, but I hear Con's making excuses.
legendary
Activity: 1795
Merit: 1208
This is not OK.
so for stratum, I should enter:

http://us2.eclipsemc.com:3333

Cgminer doesn't seem to like that. coming up as dead.
hero member
Activity: 560
Merit: 500
That's weird... it's the same software and config on both systems!
That's exactly what people usually say before they go into finding out WHY. Cheesy Don't touch it damnit!! Cheesy

Got some errors also tho, but otherwise it's working ok now.:

2012-11-13 22:13:24,696 INFO proxy getwork_listener._on_submit # [178ms] Share from 'kimitobo_Fury' accepted, diff 3
2012-11-13 22:13:25,873 INFO proxy jobs.submit # Submitting 09b88f5d
2012-11-13 22:13:26,051 INFO proxy getwork_listener._on_submit # [177ms] Share from 'kimitobo_Fury' accepted, diff 3
2012-11-13 22:13:27,471 INFO proxy jobs.submit # Submitting 5767cbd9
2012-11-13 22:13:28,445 INFO proxy getwork_listener._on_submit_failure # [972ms] Share from 'kimitobo_Fury' REJECTED: (20, u"'data'", u'Traceback (most recent call last):\n  File "./eloipool.py", line 525, in receiveShare\n    checkShare(share)\n  File "./eloipool.py", line 386, in checkShare\n    MWL = workLog[None]\nKeyError: None\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File "/opt/eloipool/stratumserver.py", line 76, in found_terminator\n    rv = getattr(self, funcname)(*rpc[\'params\'])\n  File "/opt/eloipool/stratumserver.py", line 159, in _stratum_mining_submit\n    self.server.receiveShare(share)\n  File "./eloipool.py", line 533, in receiveShare\n    share[\'solution\'] = b2a_hex(swap32(share[\'data\'])).decode(\'utf8\')\nKeyError: \'data\'\n')
legendary
Activity: 1260
Merit: 1000
That's weird... it's the same software and config on both systems!
hero member
Activity: 560
Merit: 500
Running nicely now! Don't touch it!! Smiley
hero member
Activity: 560
Merit: 500
Strangely enough, it works on us2.eclipsemc.com:

root@5-1:~/stratum-mining-proxy# ./mining_proxy.py -o 69.195.155.226 -p 3333 -rt -v
2012-11-13 21:22:07,199 INFO proxy jobs. # C extension for midstate not available. Using default implementation instead.
2012-11-13 21:22:07,201 INFO proxy mining_proxy.main # Stratum proxy version: 1.1.1
2012-11-13 21:22:07,201 INFO proxy mining_proxy.main # Trying to connect to Stratum pool at 69.195.155.226:3333
2012-11-13 21:22:07,410 INFO stats stats.print_stats # 1 peers connected, state changed 1 times
2012-11-13 21:22:07,410 INFO proxy mining_proxy.on_connect # Connected to Stratum pool at 69.195.155.226:3333
2012-11-13 21:22:07,410 INFO proxy mining_proxy.on_connect # Subscribing for mining jobs
2012-11-13 21:22:07,590 INFO proxy mining_proxy.main # -----------------------------------------------------------------------
2012-11-13 21:22:07,591 INFO proxy mining_proxy.main # PROXY IS LISTENING ON ALL IPs ON PORT 3333 (stratum) AND 8332 (getwork)
2012-11-13 21:22:07,591 INFO proxy mining_proxy.main # -----------------------------------------------------------------------
2012-11-13 21:22:07,766 INFO proxy client_service.handle_event # Setting new difficulty: 0.999984741211
2012-11-13 21:22:07,767 INFO proxy client_service.handle_event # New job 1352841638 671 for prevhash 3a4de09d, clean_jobs=False
legendary
Activity: 1260
Merit: 1000
I'm not familiar with the proxy... looking into it now.
hero member
Activity: 560
Merit: 500
Ah... makes sense.  What are you using? 
I'm using the solo mining software my FPGA cluster came with, and I'm pointing it to Stratum Proxy.

Here's what happens when I try to connect to EMC compared to Slush's pool:

EMC:
root@5-1:~/stratum-mining-proxy# ./mining_proxy.py -o 208.110.68.114 -p 3333 -v
2012-11-13 19:18:58,067 INFO proxy jobs. # C extension for midstate not available. Using default implementation instead.
2012-11-13 19:18:58,069 INFO proxy mining_proxy.main # Stratum proxy version: 1.1.1
2012-11-13 19:18:58,070 INFO proxy mining_proxy.main # Trying to connect to Stratum pool at 208.110.68.114:3333
2012-11-13 19:18:58,278 INFO stats stats.print_stats # 1 peers connected, state changed 1 times
2012-11-13 19:18:58,278 INFO proxy mining_proxy.on_connect # Connected to Stratum pool at 208.110.68.114:3333
2012-11-13 19:18:58,279 INFO proxy mining_proxy.on_connect # Subscribing for mining jobs
2012-11-13 19:18:58,502 INFO proxy mining_proxy.on_disconnect # Disconnected from Stratum pool at 208.110.68.114:3333
2012-11-13 19:18:58,502 INFO stats stats.print_stats # 0 peers connected, state changed 1 times
^C2012-11-13 19:19:00,793 INFO proxy mining_proxy.on_shutdown # Shutting down proxy...

Slush:
root@5-1:~/stratum-mining-proxy# ./mining_proxy.py -v
2012-11-13 19:19:07,355 INFO proxy jobs. # C extension for midstate not available. Using default implementation instead.
2012-11-13 19:19:07,357 INFO proxy mining_proxy.main # Stratum proxy version: 1.1.1
2012-11-13 19:19:07,357 INFO proxy mining_proxy.main # Trying to connect to Stratum pool at api-stratum.bitcoin.cz:3333
2012-11-13 19:19:07,487 INFO stats stats.print_stats # 1 peers connected, state changed 1 times
2012-11-13 19:19:07,487 INFO proxy mining_proxy.on_connect # Connected to Stratum pool at api-stratum.bitcoin.cz:3333
2012-11-13 19:19:07,488 INFO proxy mining_proxy.on_connect # Subscribing for mining jobs
2012-11-13 19:19:07,594 INFO proxy mining_proxy.main # -----------------------------------------------------------------------
2012-11-13 19:19:07,594 INFO proxy mining_proxy.main # PROXY IS LISTENING ON ALL IPs ON PORT 3333 (stratum) AND 8332 (getwork)
2012-11-13 19:19:07,595 INFO proxy mining_proxy.main # -----------------------------------------------------------------------
2012-11-13 19:19:07,598 INFO proxy client_service.handle_event # New job 1117e for prevhash dcf34271, clean_jobs=True
legendary
Activity: 1260
Merit: 1000
Ah... makes sense.  What are you using? 
hero member
Activity: 560
Merit: 500
I need to use the proxy, cgminer doesn't support my miner. And neither does BFGMiner
legendary
Activity: 1260
Merit: 1000
Do you still need to use the proxy with up to date version of cgminer?  You should be able to put stratum+tcp:// as your protocol in the pool options.
hero member
Activity: 560
Merit: 500
./mining_proxy.py -o 208.110.68.114 -p 3333 -v
legendary
Activity: 1260
Merit: 1000
Pages:
Jump to: