Running Miner as embedded system (No OS) - Can it be done?

3

I've been messing about with TCP/IP stacks on some fairly powerful MCU's lately (mostly the ARM M4 series), and this sort of led to the crazy idea, that I could somehow create an embedded platform specifically for mining (using FPGA's as co-processors). I've dabbled in pool mining just for fun, but came to the realization I actually have no idea how it works, protocol wise. I already have the hardware scattered around my house somewhere, so it could be a fun (ie, time consuming) project!

I understand the bitcoin client does several things, such as validation of all blocks, handling transactions, address, wallets etc. But for an embedded miner solely involved in a pool operation, what exactly would be the minimum functionality? As I understand it, the pool largely handles everything, and all you are required to do is receive/send data through JSON-RPC and process it. Is that really all there is to it? Or am I missing something absurdly important? Any clarifications would be awesome!

Adam

Posted 2012-03-21T18:26:18.797

Reputation: 31

Answers

2

That's about all there is to it. You don't need to handle the Bitcoin protocol or worry about the blockchain, the mining pool does all that for you. Just issue a request for 'work' to the pool using the JSON-RPC interface. Hash the supplied work with different nonces over and over until you get a hash less than the given target, and use the JSON-RPC interface to submit successes.

You might want to poll for new work in a separate thread, so you know when the block you're working on has been found by someone else.

Chris Moore

Posted 2012-03-21T18:26:18.797

Reputation: 13 952