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?
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It only takes a minute to sign up.Sign up to join this community
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