Inaba (OP)
Legendary
Offline
Activity: 1260
Merit: 1000
|
|
November 13, 2012, 10:07:52 PM |
|
That's weird... it's the same software and config on both systems!
|
If you're searching these lines for a point, you've probably missed it. There was never anything there in the first place.
|
|
|
punin
|
|
November 13, 2012, 10:18:17 PM |
|
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. Don't touch it damnit!! 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')
|
|
|
|
P_Shep
Legendary
Offline
Activity: 1795
Merit: 1208
This is not OK.
|
|
November 14, 2012, 08:01:58 AM |
|
so for stratum, I should enter: http://us2.eclipsemc.com:3333Cgminer doesn't seem to like that. coming up as dead.
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
November 14, 2012, 09:02:34 AM |
|
No, stratum isn't http. stratum+tcp://us2.eclipsemc.comCgminer 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.
|
|
|
|
mdude77
Legendary
Offline
Activity: 1540
Merit: 1001
|
|
November 14, 2012, 11:19:52 AM |
|
No, stratum isn't http. stratum+tcp://us2.eclipsemc.comCgminer 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
|
I mine at Kano's Pool because it pays the best and is completely transparent! Come join me!
|
|
|
Askit2
|
|
November 14, 2012, 11:40:35 AM |
|
No, stratum isn't http. stratum+tcp://us2.eclipsemc.comCgminer 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?
|
|
|
|
AndrewBUD
|
|
November 14, 2012, 01:04:45 PM |
|
No, stratum isn't http. stratum+tcp://us2.eclipsemc.comCgminer 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?
|
|
|
|
| 365 | TM | | | | EZ365 is a digital ecosystem that combines the best aspects of online gaming, cryptocurrency trading and blockchain education. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ | | ..WHITEPAPER.. ..INVESTOR PITCH..
| | | | .'M████▀▀██ ██ W█Ws'V██ ██▄▄███▀▀█ i█████m.~M████▀▀██ ███ d███████Ws'V██ ██████ ****M██████m.~███f~~__mW█ ██▀▀▀████████= Y██▀▀██W ,gm███████ g█████▄▄▄██ █A~`_WW Y█ ██!,████████ g▀▀▀███ ████▀▀`_m████i!████P W███ ██ _███▄▄▄██▀▀▀███Af`_m███ █W ███A ]███ ██ __ ~~~▀▀▀▀▄▄▄█*f_m██████ ██i!██!i███████ Y█████▄▄▄▄__. i██▀▀▀██████████ █!,██████ 8█ █▀▀█████.!██ ██████████i! █████ '█ █ █ █W M█▄▄▄██████ ██ !██ !███▄▄█ ██i'██████████ ██ Y███████████.]██████████████ █ ███████b ███ ██████ Y █ █▀▀█i!██ ████ V███ █ █W Y█████ ~~▀███▄▄▄█['███ ~~*██ | | Play | | | | │ │ ███ │ ███ │ ███ │ │ ███ ███ │ ███ ███ ███ ███ │ ███ ███ ███ ███ ███ ███ ███ ███ ███ │ │ ███ ███ │ │ │ │ │ | | Trade | | | | __▄▄████▄▄ __▄▄███████████████▄▄▄ _▄▄█████████▀▀~`,▄████████████▄▄▄ ~▀▀████▀▀~`,_▄▄███████████████▀▀▀ d█~ =▀███████████████▀▀ ]█! m▄▄ '~▀▀▀████▀▀~~ ,_▄▄ ,W█. *████▄▄__ ' __▄▄█████ !██P █████████████████████ W█. - ██████████████████▀ i██[ ~ ▀▀█████████▀▀▀ g███! Y███ | | Learn |
[/tabl
|
|
|
DobZombie
|
|
November 14, 2012, 01:05:44 PM |
|
So, how to I use stratum on EMC?
help?
Derp!
|
Tip Me if believe BTC1 will hit $1 Million by 2030 1DobZomBiE2gngvy6zDFKY5b76yvDbqRra
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
November 14, 2012, 01:12:33 PM |
|
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. Obviously the stratum proxy and/or poclbm should work fine too.
|
|
|
|
Inaba (OP)
Legendary
Offline
Activity: 1260
Merit: 1000
|
|
November 14, 2012, 03:37:55 PM |
|
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?
|
If you're searching these lines for a point, you've probably missed it. There was never anything there in the first place.
|
|
|
Askit2
|
|
November 14, 2012, 08:13:58 PM |
|
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. 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.
|
|
|
|
Inaba (OP)
Legendary
Offline
Activity: 1260
Merit: 1000
|
|
November 14, 2012, 08:26:52 PM |
|
I don't see any sense in limiting variable difficulty to integers. I'm interested in hearing your idea.
|
If you're searching these lines for a point, you've probably missed it. There was never anything there in the first place.
|
|
|
Askit2
|
|
November 14, 2012, 08:58:49 PM |
|
Well my idea was that it would be easy to accept whatever eclipse sends for difficulty, truncate it to an int add 1 (you can't be below difficulty) then use it as an int in CGMiner.
I realise that this isn't a great idea as if eclipse sent .5 difficulty I would only send difficulty 1 work. In theory losing a ton of valid shares. The closer the decimal got to 1 or 2 or any other int but stayed under it the less shares would be lost.
My other thought was a workaround on the first but it would require eclipse to change so that either CGMiner could ask for difficulty as an int, or CGMiner could tell eclipse what difficulty it actually worked on so as to avoid getting paid .5 for 1 difficulty work.
For the future I really can't imagine that the integer difficulties are that bad. 1-2 is a 100% increase but 2-3 is only 50%. At 10-11 is a 10% increase. 20-21 is a 5%. This does ignore the difficulty adjustment for block timing though. I do see the point in decimal difficulties at the really low end to some extent but the higher the sent difficulty the less difference it makes.
|
|
|
|
P_Shep
Legendary
Offline
Activity: 1795
Merit: 1208
This is not OK.
|
|
November 14, 2012, 09:13:56 PM |
|
I don't see any sense in limiting variable difficulty to integers. I'm interested in hearing your idea.
My argument to that would be: Why would such fine-grained difficulty be required?
|
|
|
|
Inaba (OP)
Legendary
Offline
Activity: 1260
Merit: 1000
|
|
November 14, 2012, 09:27:56 PM |
|
I don't know actually, it just seems offensive to me to limit a field to int when it doesn't need to be. In either case, CGMiner currently works with EMC Vardiff under Getwork, that should be no different for Stratum. I put in a pull request for cgminer with some very minor changes that make it work fine with floating point as opposed to integer (but still, of course, works with integer) so there's really no technical reason it can't be done. You can check out my fork and compile it and test it out if you want on Github.
|
If you're searching these lines for a point, you've probably missed it. There was never anything there in the first place.
|
|
|
P_Shep
Legendary
Offline
Activity: 1795
Merit: 1208
This is not OK.
|
|
November 14, 2012, 09:31:32 PM |
|
Sometimes 'good enough' is acceptable I'll try your patch when I get time, maybe tonight.
|
|
|
|
Luke-Jr
Legendary
Offline
Activity: 2576
Merit: 1186
|
|
November 14, 2012, 09:39:58 PM |
|
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. I agree that using real numbers here is not the best idea. Unfortunately, stratum's protocol defines this as a Number represending a multiple of bdiff 1 (difficulty 1 subject to bitcoin rounding rules), which cannot reasonably represent traditional pdiff targets (which are easier to check). Additionally, EclipseMC has been using fully variable targets anyway. I expect during stratum's BIP discussions, consensus will probably determine using a target as getwork and GBT do (without these problems) is the proper solution. Actually I have an idea on how to suggest handling it I may see what Con thinks. BFGMiner handles it by truncating the difficulty (with a special case of pdiff 1 for difficulties under bdiff 1) and letting the server reject shares that it doesn't think meet its target. This results in some degree of rejected "high-hash" shares, but it guarantees no valid ones are lost.
|
|
|
|
Inaba (OP)
Legendary
Offline
Activity: 1260
Merit: 1000
|
|
November 14, 2012, 09:44:29 PM |
|
I'm open to a change in EMCs way of doing it, but it seems like it's working fine in all the miners right now and it's just a JSON issue at the moment that can be fixed fairly easily one way or another.
|
If you're searching these lines for a point, you've probably missed it. There was never anything there in the first place.
|
|
|
streetuff
|
|
November 14, 2012, 09:46:07 PM |
|
Actually I have an idea on how to suggest handling it I may see what Con thinks. BFGMiner handles it by truncating the difficulty (with a special case of pdiff 1 for difficulties under bdiff 1) and letting the server reject shares that it doesn't think meet its target. This results in some degree of rejected "high-hash" shares, but it guarantees no valid ones are lost. [/quote] so its a HACK where mined shares will get lost... (in some cases)
|
|
|
|
P_Shep
Legendary
Offline
Activity: 1795
Merit: 1208
This is not OK.
|
|
November 14, 2012, 09:49:32 PM |
|
Actually I have an idea on how to suggest handling it I may see what Con thinks. BFGMiner handles it by truncating the difficulty (with a special case of pdiff 1 for difficulties under bdiff 1) and letting the server reject shares that it doesn't think meet its target. This results in some degree of rejected "high-hash" shares, but it guarantees no valid ones are lost. so its a HACK where mined shares will get lost... (in some cases) [/quote] Hack, yes, but no shares will be lost. The miner will just send shares which are under the pools target difficulty, so will be rejected. That is, they'll be rejected by the pool, rather then internally in the miner software.
|
|
|
|
|