2

According to this

You can specify the amount of bitcoin with an (apparently) 16 alphanumeric hex representation. It is stated you must specify the bitcoin you want to send in units of Satoshi.

Here is the quote:

We then write an 8-byte field (64 bit integer) containing the amount we want to redeem from the specified output. I will set this to the total amount available in the output minus a fee of 0.001 BTC (0.999 BTC, or 99900000 Satoshis): 605af40500000000

How did they get 605af40500000000 from '99900000 Satoshis' when that hex code = 6943130077857054720? I can find no conversion calculator online which demonstrates what they are switching it from or to.

I got the hex code from https://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html

1 Answer 1

3

99900000 in hex is 5F45A60. Padded out to be a 64-bit integer makes it 0000000005F45A60. But Bitcoin uses little endian for most things, so this will need to be converted to little endian by byteswapping. So the final value put into a transaction is 605AF40500000000.

4
  • Congrats on your 200th answer. :)
    – Murch
    Commented Aug 11, 2017 at 22:29
  • Thank you again. You wouldn't, by chance, know of a website for doing that conversion easily would you? It looks self explanatory but I could swear I've seen some byteswaps in bitcoin that change a hex number/letter sometimes in addition to moving them around. Speaking of which, yours even added a "0" between the 4 and the 5. Yes! I'm not crazy!
    – Mine
    Commented Aug 11, 2017 at 22:30
  • Byteswapping will not add characters. Bytes are represented with 2 characters, so to byte swap, you reverse the string in 2 character chunks. This means that the last 2 characters become the first two, the second 2 characters becomes the second 2, and so on. So if you look carefully at the byteswapped string, where you see 05 is actually the 05 that was at the beginning of the hex originally. The 4 is part of F4. So it used to look like F45A, but now swapped they are 5AF4 which makes you think a 0 was added between the 5 and 4, but it's really a different byte that you are seeing.
    – Ava Chow
    Commented Aug 11, 2017 at 22:55
  • So I'm not crazy, but I'm still wrong, lol. Thank you
    – Mine
    Commented Aug 11, 2017 at 23:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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