Author

Topic: How mining pools break apart a work? (Read 1114 times)

sr. member
Activity: 490
Merit: 250
August 06, 2013, 02:34:53 PM
#6
Search for getmemorypool as well.

I couldnt find that method in litecoind, does scrypt coins use different approach?
hero member
Activity: 938
Merit: 501
August 06, 2013, 11:44:32 AM
#5
Search for getmemorypool as well.
sr. member
Activity: 490
Merit: 250
August 06, 2013, 11:33:36 AM
#4
no, getwork RPC is already the smallest work. you should learn to use getblocktemplate to generate work.

would u explain more please?
full member
Activity: 140
Merit: 100
July 31, 2013, 02:15:32 AM
#3
no, getwork RPC is already the smallest work. you should learn to use getblocktemplate to generate work.
sr. member
Activity: 359
Merit: 250
July 30, 2013, 10:33:15 PM
#2
Probably not as detailed of an answer as you're looking for, but I don't think a getwork pool breaks up the individual getwork jobs.  I'm assuming a getwork pool keeps calling getwork and passes each piece of work along to one of its miners.  The pool tells the miners what difficulty shares it will accept, and only accepts shares based on the work that was given to each miner, i.e., miner B couldn't submit a share based on the work given to miner A.

The mining program each miner is running doesn't know the difference between solo mining and pool mining; the hashing is done exactly the same way.  The difference is that your mining program tells your local bitcoind when it finds a share greater than or equal to the requested difficulty (i.e., Bitcoin network difficulty) when solo mining, and tells the pool's bitcoind when it finds a share greater than or equal to pool's requested difficulty (varies based on pool, but is always less than current network difficulty.  This is how pools keep track of your mining rate and therefore your payout).  Your local bitcoind submits any blocks found to the bitcoin network and you are then rewarded with the block reward + tx fees if the block isn't orphaned or stale.  You found the block on your own, so you keep the whole thing.  The pool server submits any blocks found (i.e., miner-submitted shares with a difficulty >= current bitcoin network difficulty) to the bitcoin network and the pool is rewarded the block reward + tx fees.  The pool server then distributes this reward to its miners based on the pool's payout method.  (PPS, PPLNS, DGM, etc)
sr. member
Activity: 490
Merit: 250
July 29, 2013, 11:37:51 PM
#1
Suppose that I want to write an experimental pool software myself, I know that bitcoind have an RPC command named "GetWork". I can getwork from it, but how should i break it to small part's for distribute among mining pool users?

I know this could be very technical question, I'm technical man too, but i couldn't figure how mining pools works. So if you can provide me a simple real example, that should enlightened me up, I would be thankful.

Jump to: