Bitcoin Forum

Bitcoin => Mining software (miners) => Topic started by: shakaru on October 07, 2011, 08:58:23 AM



Title: [Bounty] Proxy software with requirements
Post by: shakaru on October 07, 2011, 08:58:23 AM
Ok, so here is what I am looking for.
A proxy similar to bithop without the hopping support.
The ability to point hashing power to the proxy and then config proxy to forward a specific amount of hashing power to a specific pool.  (ex. If i have 20ghs in house and point it at the proxy, and I have the proxy set to divide that cording to 3ghs to pool A, 7ghs to pool B, and 4 to pool C with remainder to pool D)

Also, if possible, same conditions as the example above, but lets say pool A,B and D are up but C is down. In that case I would like a backup pool configured for the down pool. (Ex, Pools A,B and D are still pointing work to their correct pool, but pool C is now switched to Deepbit until the original pool for C is back up)

If you want to do this, message me with a quote or post here. Looking for an immediate start.


Title: Re: [Bounty] Proxy software with requirements
Post by: urstroyer on October 07, 2011, 09:28:06 AM
I like the idea.

This could be a good start:
https://github.com/cdhowie/Bitcoin-mining-proxy

Afaik it doesn't support that load balancing to each pool but right now the failover works well.

Maybe cdhowie is going to improve it according to your needs for the bounty.


Title: Re: [Bounty] Proxy software with requirements
Post by: kripz on October 08, 2011, 06:56:12 AM
cdhowie stopped development a long time ago afaik.

Perhaps you can use cgminer and one of the current methods for multipool or message conman himself.

Quote
FAILOVER STRATEGIES WITH MULTIPOOL:
A number of different strategies for dealing with multipool setups are
available. Each has their advantages and disadvantages so multiple strategies
are available by user choice, as per the following list:

FAILOVER:
The default strategy is failover. This means that if you input a number of
pools, it will try to use them as a priority list, moving away from the 1st
to the 2nd, 2nd to 3rd and so on. If any of the earlier pools recover, it will
move back to the higher priority ones.

ROUND ROBIN:
This strategy only moves from one pool to the next when the current one falls
idle and makes no attempt to move otherwise.

ROTATE:
This strategy moves at user-defined intervals from one active pool to the next,
skipping pools that are idle.

LOAD BALANCE:
This strategy sends work in equal amounts to all the pools specified. If any
pool falls idle, the rest will take up the slack keeping the miner busy.

https://bitcointalk.org/index.php?topic=28402.0

Perhaps you could specify (3*100/20)% of 1 hour to A, (7*100/20)% of 1 hour to B and so on using ROTATE. If this doesnt do what you want it shouldnt be too much difficulty for him to modify the last two.


EDIT:

Sorry misread, you want to point random machines of random hashing power to the one location which then splits it. This is not possible using cgminer (as it's not a proxy) but you could run cgminer on each computer all using the same config with the above values and it would do what you want.


Title: Re: [Bounty] Proxy software with requirements
Post by: shads on October 08, 2011, 07:17:23 AM
Ok, so here is what I am looking for.
A proxy similar to bithop without the hopping support.
The ability to point hashing power to the proxy and then config proxy to forward a specific amount of hashing power to a specific pool.  (ex. If i have 20ghs in house and point it at the proxy, and I have the proxy set to divide that cording to 3ghs to pool A, 7ghs to pool B, and 4 to pool C with remainder to pool D)

poolserverj will do this with some minor mods to use LP and a fairly specific config setup.  It currently can split amongst pools using a weighting factor.  yr above example you would configure 4 sources with weightings 3, 7, 4, 6.  The final weighting per pool is it's portion of the total weightings.  e.g. for pool one 3 / (3+7+4+6) * 100 %

In the instance one or more pools are down it will split amongst the remaining pools whilst still maintaining their respective weightings.  Weightings are calculated based on work in that block.  If a failed pool comes back online it will be temporarily favoured until weighting distribution has been restored.  As a fallback if anything has gone wrong it will revert to any pool that is able to provide it with work.

Quote
Also, if possible, same conditions as the example above, but lets say pool A,B and D are up but C is down. In that case I would like a backup pool configured for the down pool. (Ex, Pools A,B and D are still pointing work to their correct pool, but pool C is now switched to Deepbit until the original pool for C is back up)

If you want to do this, message me with a quote or post here. Looking for an immediate start.

failover url's and accounts could be added and I'd estimate it would double the dev time over making the mods to achieve the first parts.

In terms of robustness and scalability it's currently the backend of BTC Guild so it shouldn't have any problems in yr scenario.

If you're interested PM me a bounty offer.