I built a miner, got a hash block, now what? Where do I send it?

4

2

So as an exercise I want to build a mining client, just because I'm curious.

I understand that I'm supposed to create a hash, but once I have the hash, where do I send it?

How do I submit it back to the block chain?

ghostJago

Posted 2013-03-03T11:54:24.797

Reputation: 143

You can look at bitcoind sources if you want https://github.com/bitcoin/bitcoin

o0'. 2013-03-03T12:24:03.953

Answers

5

To submit a valid block to the block chain you don't use the hash, just the block. That's the block header plus the transactions.

Use bitcoind's submitblock RPC call.

> bitcoind help submitblock
submitblock <hex data> [optional-params-obj]
[optional-params-obj] parameter is currently ignored.
Attempts to submit new block to network.
See https://en.bitcoin.it/wiki/BIP_0022 for full specification.

So you hex encode the block and send it as lone parameter to submitblock. That's all.

As the help text says, submitblock is further documented in BIP22

Dr.Haribo

Posted 2013-03-03T11:54:24.797

Reputation: 7 823

So the hash you create is just part of the overall block?ghostJago 2013-03-06T09:04:05.153

The hash is not part of the block. The block is the block header + transactions. There are many hashes used in bit coin, but the one you mine is the hash of the block header. It's not part of the block, but derived from it. What is in the block header though is the hash of the previous block. That's how the blocks are linked together in a chain.Dr.Haribo 2013-03-06T12:21:39.213