<p>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.</p>

<p>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.</p>

CC BY-SA 3.0
2012-03-21T19:48:54.620Z
2012-03-21T19:48:54.620Z
Chris Moore
<p>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!</p>

<p>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!</p>

<json-rpc><mining-hardware><fpga>
Running Miner as embedded system (No OS) - Can it be done?
Adam
# Running Miner as embedded system (No OS) - Can it be done?

(Asked by: username_0 on 2012-03-21)

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!

**Tags:** json-rpc, mining-hardware, fpga


---

## 1 answers

### Answer by username_1 on 2012-03-21. Score: 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.


---

