1

I want to execute a simple series of instructions to implement a bitcoin script in java using bitcoinj API. All I am looking for is performing arithmetic operations for negative integers or integers greater than 128. An example bitcoin script for the task would look like this:

150 120 OP_ADD 270 OP_CHECKNUMEQUAL

This script should return True eventually. To implement this in java, to push integer values like 150, 270 etc i have to first convert them to byte arrays. I have followed answers given in https://stackoverflow.com/questions/1936857/convert-integer-into-byte-array-java but none of them works in here probably because of differently defined arithmetic operations in bitcoinj API script. Can anyone please help me in this.

  • Can you post the code you have so far? – Nate Eldredge Oct 12 '17 at 13:18
1

you should use Litte-endian encoding. if the highest bit is set (range 128-255, 32768-65535 and so on) you should append the zero byte to mark these bytes as positive number.

So, 150(dec) will be encoded as 9600

270(dec) will be encoded as 0e01

| improve this answer | |

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.