Pages:
Author

Topic: New stratum/getwork proxy with Web-based GUI and pools management - page 20. (Read 120906 times)

full member
Activity: 201
Merit: 100
ah okay..i thought the pool would count the submitted difficulty .. my pool shoes submitted difficulty in the share overview.. so it would make sense.. at least he would need it to show the actual hashrate, or can he count it only with shares?

but i think you are mixing something up.. the target has to be low, thats right.. in principle we are guessing a random number, which has to be below the target.  but a low target means a high difficulty... ( difficulty = difficulty_1_target / current_target ).. so i would expect a pool with d=1024 would call a d=512-share as "above target" .. it would be very bad for the pool if he would reject very good solutions for his problem Smiley

again on nicehash: maybe it is company policy to deliver "bad" hashrate... it says "you only pay for accepted shares" .. so they are proxyfying everything, without cheching the content.. and if you have "bad miners" who want to manipulate the system, they will not be stopped.. but the pool then decides which hashes are good or bad..

maybe i will publish my solution soon.. Smiley but still working on it!

by the way: can you recommend a good documentation for the stratum protocol? the official document ( https://mining.bitcoin.cz/stratum-mining ) is not very extensive..
full member
Activity: 217
Merit: 100
2014-10-13 22:19:01,129 INFO    Pool-coint-Thread:strat.mining.stratum.proxy.worker.StratumWorkerConnection - REJECTED share (diff: 78.91852393) from 1111@/107.170.50.27:8878 on coint. Booo !!!!. Error: JsonRpcError code=20, message=incorrect size of extranonce2, traceback=null
The rejections with the bad extranonce2 size comes from a bug in cgminer3.7.2. This bug is fixed in cgminer4.x, all versions of sgminer and some cgminer3.7.2 forks. Some ASICs miners also have this problem (if their firmware is not up to date). This bug does not allow to use stratum proxies (mine, slush0 one, bfgminer...)
There is a simple solution to this: I programmed a little proxy for myself.. it takes every command from client and server and sends it to each other ( my aim: some commands get deleted, like "stratum.reconnect". my proxy then does the reconnect ). Problem: you can only have 1 client instead of 10 clients ( as extranonce2 is not changed, two clients could produce duplicate shares ).. but when multiple clients show up, i simply open new connections to the same server ( so every client has it's own extranonce1 )
This is indeed a solution, but it is not the one used for this proxy for several reasons:
-This approach is only useful (AFAIK) as a (partial) workaround for the cgminer 3.7.2 extranonce2 size bug and I consider that cgminer version as deprecated. If this version is really needed, getwork can be used behind the proxy instead of stratum. I said partial, since it will not work for some pools which have an extranonce2size > 4 (like Nicehash).
-The support of getwork with this approach is more painful (even if not impossible)
-The pool switching is a bit more complicated since several pool connections have to be managed at the same time.

I do not know if you want to release your proxy for everyone, but it would be nice. Users would have more choices and could find a proxy that matches their needs.  Smiley (You can post here the link to your proxy if it is already open-source)

Quote
anyways: as a proxy you could simply change the pool diff.. of course you could not lower it.. but if the server accepts >1024 , it should be no problem if every client sends >2048 !? ( 2048 is alway bigger than 1024 ). so you could increase the diff, and so lower network traffic, without loosing hashrate!? ( if the client is fast enough for one 2048-share /second of course... )


For the difficulty management by the proxy, I could indeed change the pool difficulty on the fly (it is in the TODO list, but not enough time, as usual). But, I can only DECREASE it, not increase it:
(Reminder: the pool take into account the number of shares sumbitted and the pool difficulty, not the real share difficulty)

-If the proxy decrease the difficulty (let's say diff1024 sent by the pool, and the proxy accept diff512 shares), the miners will sumbit twice the number of shares to the proxy. The proxy will have to check the real share difficulty sent by miners and submit to the pool only shares with diff>=1024 (else, there would be a lots of rejects with "Share above target" error). So, the hashrate estimated by the proxy will be more accurate for miners and profit will not be impacted since the pool receives the same number of shares with at least a diff of 1024.

-But if the pool increase the difficulty (let's say diff1024 sent by the pool, and the proxy accepts diff2048 shares), miners will submit only half the number of shares. So the profit will be divided by 2 since the pool receives less shares, even if the shares have diff >= 2048.

full member
Activity: 201
Merit: 100
2014-10-13 22:19:01,129 INFO    Pool-coint-Thread:strat.mining.stratum.proxy.worker.StratumWorkerConnection - REJECTED share (diff: 78.91852393) from 1111@/107.170.50.27:8878 on coint. Booo !!!!. Error: JsonRpcError code=20, message=incorrect size of extranonce2, traceback=null
The rejections with the bad extranonce2 size comes from a bug in cgminer3.7.2. This bug is fixed in cgminer4.x, all versions of sgminer and some cgminer3.7.2 forks. Some ASICs miners also have this problem (if their firmware is not up to date). This bug does not allow to use stratum proxies (mine, slush0 one, bfgminer...)
There is a simple solution to this: I programmed a little proxy for myself.. it takes every command from client and server and sends it to each other ( my aim: some commands get deleted, like "stratum.reconnect". my proxy then does the reconnect ). Problem: you can only have 1 client instead of 10 clients ( as extranonce2 is not changed, two clients could produce duplicate shares ).. but when multiple clients show up, i simply open new connections to the same server ( so every client has it's own extranonce1 )

anyways: as a proxy you could simply change the pool diff.. of course you could not lower it.. but if the server accepts >1024 , it should be no problem if every client sends >2048 !? ( 2048 is alway bigger than 1024 ). so you could increase the diff, and so lower network traffic, without loosing hashrate!? ( if the client is fast enough for one 2048-share /second of course... )
member
Activity: 112
Merit: 10
ok, thanks!


It is one of the main problem of renting system : you do not know which mining software is used by the miner.

The rejections with the bad extranonce2 size comes from a bug in cgminer3.7.2. This bug is fixed in cgminer4.x, all versions of sgminer and some cgminer3.7.2 forks. Some ASICs miners also have this problem (if their firmware is not up to date). This bug does not allow to use stratum proxies (mine, slush0 one, bfgminer...)

Before renting a rig, you should ask the miner owner which mining software he uses (and the version).
full member
Activity: 217
Merit: 100
If we can't control the difficulty then can we control the hashing period?

What do you want to mean by "hashing period" ?
full member
Activity: 217
Merit: 100
It is one of the main problem of renting system : you do not know which mining software is used by the miner.

The rejections with the bad extranonce2 size comes from a bug in cgminer3.7.2. This bug is fixed in cgminer4.x, all versions of sgminer and some cgminer3.7.2 forks. Some ASICs miners also have this problem (if their firmware is not up to date). This bug does not allow to use stratum proxies (mine, slush0 one, bfgminer...)

Before renting a rig, you should ask the miner owner which mining software he uses (and the version).
member
Activity: 112
Merit: 10
i have a problem whit miningrental

if mining with my local miner no problem, if use miningrental i have this error




2014-10-13 22:19:01,129 INFO    Pool-coint-Thread:strat.mining.stratum.proxy.worker.StratumWorkerConnection - REJECTED share (diff: 78.91852393) from 1111@/107.170.50.27:8878 on coint. Booo !!!!. Error: JsonRpcError code=20, message=incorrect size of extranonce2, traceback=null

i have only rejected

what do I do ?
sr. member
Activity: 279
Merit: 250
If we can't control the difficulty then can we control the hashing period?
full member
Activity: 217
Merit: 100
If the difficulty increases, the difficulty of your pool is not static. (The proxy is not able to modify the pool difficulty)
sr. member
Activity: 279
Merit: 250
when using nicehash miners to connect to pool I see very random change in diifficulty.Is there a way to set static difficulty for the pool say 128?


The difficulty is managed by the pool and the proxy can not override this value. If your pool implements Vardiff, the difficulty will often change.

The current proxy version does not allow to fix the difficulty.

the pool has a static difficulty but the as soon as i connect nicehash miners to the proxy the difficulty gradually increases.
I don't understand this.
full member
Activity: 217
Merit: 100
when using nicehash miners to connect to pool I see very random change in diifficulty.Is there a way to set static difficulty for the pool say 128?


The difficulty is managed by the pool and the proxy can not override this value. If your pool implements Vardiff, the difficulty will often change.

The current proxy version does not allow to fix the difficulty.
sr. member
Activity: 279
Merit: 250
when using nicehash miners to connect to pool I see very random change in diifficulty.Is there a way to set static difficulty for the pool say 128?
sr. member
Activity: 279
Merit: 250
I'm having problem adding workers from the web interface.
whenever i append workers the hashes vanishes from the pool.
full member
Activity: 217
Merit: 100
Could you share the whole proxy log file (%TEMP%/stratum-proxy.log on windows) ? Thanx
full member
Activity: 201
Merit: 100
Thank you for your fast support  Smiley
Yes, in the log everything is a duplicate share.. very little duplicate from miningrigrentals ( see picture )

Code:
[{"remoteHost":"/159.8.2.67","authorizedUsers":["nicehash.38"],"acceptedHashesPerSeconds":69345826,"rejectedHashesPerSeconds":8947848,"isActiveSince":"12-10-14 18:09:30 +0200","poolName":"ProHashing","isExtranonceNotificationSupported":false,"connectionType":"tcp+stratum"},{"remoteHost":"/107.170.196.237","authorizedUsers":["test"],"acceptedHashesPerSeconds":15658734,"rejectedHashesPerSeconds":0,"isActiveSince":"12-10-14 18:13:28 +0200","poolName":"ProHashing","isExtranonceNotificationSupported":false,"connectionType":"tcp+stratum"}]


http://s2.postimg.org/78qvlzdvd/127_0_0_1_8888_Stratum_Proxy_by_Stratehm_2014_10.png
full member
Activity: 217
Merit: 100
Are all the error Duplicate shares ? Do you have duplicate shares from miningrigrentals too ? Could you post the result of the following URL : http://proxyIp:8888/proxy/connection/list

I have to check if extranonce1 are different for the both connections (miningrigrental and nicehash).
full member
Activity: 201
Merit: 100
ah okay.. now i got a rented client from miningrigrentals.com running ( 20 mhash )



renting hashrate from nicehash.com ( 50 mhash ) does not seem to be a godd idea.. much rejection here..
what could be the problem? pool has no problem with mrr, but problem with nicehash? ( i have only one pool definied, both clients are on it )

Quote
2014-10-12 18:22:02,989 INFO  [Pool-ProHashing-Thread]: [WorkerConnection]    REJECTED share (diff: 2048.0) from nicehash.38@/159.8.2.67:44051 on ProHashing. Booo !!!!. Error: JsonRpcError [ code=-2, message=Duplicate share, traceback=null]

full member
Activity: 217
Merit: 100
As far as I know, only Nicehash uses the extranonce stratum extension. This option should be disabled for all other pools. This extension is only useful for pool switching (not coin switching).

By the way, on the miner side, the extranonce stratum extension can be really useful if your miner supports it (but it does not need any configuration on the proxy, it is automatically enabled if your miner supports it).
full member
Activity: 201
Merit: 100
ah great. Thank you. should of course be 44000 .. got confused by number of zeros ^^ now works:

Quote
2014-10-12 15:13:22,689 INFO  [StratumProxyManagerSeverSocketListener]: [ProxyManager]    New connection on /0.0.0.0:44000 from /127.0.0.1:54736.
2014-10-12 15:13:22,721 INFO  [/127.0.0.1:54736-Thread]: [ProxyManager]    New WorkerConnection /127.0.0.1:54736 subscribed. 1 connections active on pool ProHashing.

i heard about extranonce .. it allows to change extranonce1 and so the client does not need to reconnect on pool ( coin ) change.. should be no problem when not supported, pool will reconnect us.. but you are right, i will disable it!
full member
Activity: 217
Merit: 100
Indeed, you should set enableExtranonceSubscribe to false in your pool configuration.
Pages:
Jump to: