As there are a couple endiannesses used by Bitcoin, what is the proper way to encode the data parameter for a getmemorypool JSON API call?


The "data" is not a number (only numbers have endian issues), but the raw byte data of a valid block. You may wish to read over BIP 22, which is the Draft-status standard detailing the getmemorypool protocol.


Do you mean the data response for a getwork call? Because getmemorypool only returns version, previousblockhash, transactions, coinbasevalue, coinbaseflags, time, mintime, curtime, and bits.

If so, I answered that here.

  • No, I'm specifically referring to getmemorypool call's data field, as in a whole, solved block, rather than just a block header. Maybe I shouldn't have called it "response", but a "parameter".
    – ThePiachu
    Feb 26 '12 at 5:37
  • 2
    In that case: it's a byte-per-byte encoding in hex of the serialized block, the same way it would be serialized on disk in blk0001.dat or on the network. Mar 6 '12 at 0:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.