Author

Topic: create a transaction offline and sign it offline (redeemScript) (Read 1013 times)

full member
Activity: 232
Merit: 101
Stratege, berechnend
using this code:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\",\"redeemScript\":\"\"}]" '["xxx"]' "ALL"

it shows:

Code:
error: {"code":-8,"message":"redeemScript must be hexadecimal string (not '')"}

What should I use as value for redeemScript?
redeemScript should be blank. Also, you need the amount field, I forgot about that.

Something's wrong with your command. I need to look a bit into it some more.

Edit: I found the problem. The scriptPubKey is the scriptPubKey of the output that you are spending from, not the one you are spending to. It should be 76a90ddfd0dee20dbe590f70298817810acc0c3c955888ac

This

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"76a90ddfd0dee20dbe590f70298817810acc0c3c955888ac\",\"redeemScript\":\"\"}]" '["xxx"]' "ALL"

 now returns:

Code:
{
    "hex" : "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000",
    "complete" : false,
    "errors" : [
        {
            "txid" : "6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164",
            "vout" : 1,
            "scriptSig" : "",
            "sequence" : 4294967295,
            "error" : "Operation not valid with the current stack size"
        }
    ]
}

What did I wrong this time Sad?
staff
Activity: 3458
Merit: 6793
Just writing some code
using this code:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\",\"redeemScript\":\"\"}]" '["xxx"]' "ALL"

it shows:

Code:
error: {"code":-8,"message":"redeemScript must be hexadecimal string (not '')"}

What should I use as value for redeemScript?
redeemScript should be blank. Also, you need the amount field, I forgot about that.

Something's wrong with your command. I need to look a bit into it some more.

Edit: I found the problem. The scriptPubKey is the scriptPubKey of the output that you are spending from, not the one you are spending to. It should be 76a90ddfd0dee20dbe590f70298817810acc0c3c955888ac
full member
Activity: 232
Merit: 101
Stratege, berechnend
Oops. Forgot a bracket. This should work.

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\"}]" '[""]' "ALL"

using this code:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\",\"redeemScript\":\"\"}]" '["xxx"]' "ALL"

it shows:

Code:
error: {"code":-8,"message":"redeemScript must be hexadecimal string (not '')"}

What should I use as value for redeemScript?
staff
Activity: 3458
Merit: 6793
Just writing some code
Oops. Forgot a bracket. This should work.

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\"}]" '[""]' "ALL"
full member
Activity: 232
Merit: 101
Stratege, berechnend
I updated to:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" "ALL"

What is missing now and where to insert?

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" '[""]' "ALL"
where is the private key.

Also, protip. Use a single quote to wrap all the JSON stuff and you won't need to escape the double quotes since they are all read as literals.

still the same problem:


You have an unclosed quote somewhere.

Edit: This is your fixed command:
Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\"]" '[""]' "ALL"

This now shows:

Code:
error: Error parsing JSON:[{"txid":"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164","vout":1,"scriptPubKey":"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87"]
staff
Activity: 3458
Merit: 6793
Just writing some code
I updated to:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" "ALL"

What is missing now and where to insert?

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" '[""]' "ALL"
where is the private key.

Also, protip. Use a single quote to wrap all the JSON stuff and you won't need to escape the double quotes since they are all read as literals.

still the same problem:


You have an unclosed quote somewhere.

Edit: This is your fixed command:
Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\"]" '[""]' "ALL"
full member
Activity: 232
Merit: 101
Stratege, berechnend
I updated to:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" "ALL"

What is missing now and where to insert?

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" '[""]' "ALL"
where is the private key.

Also, protip. Use a single quote to wrap all the JSON stuff and you won't need to escape the double quotes since they are all read as literals.

still the same problem:

staff
Activity: 3458
Merit: 6793
Just writing some code
I updated to:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" "ALL"

What is missing now and where to insert?

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" '[""]' "ALL"
where is the private key.

Also, protip. Use a single quote to wrap all the JSON stuff and you won't need to escape the double quotes since they are all read as literals.
full member
Activity: 232
Merit: 101
Stratege, berechnend
sign it:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"XXX\", ,\"redeemScript\":\""]" "ALL"
This is incorrect. The scriptPubkey is not the private key. The scriptPubKey is the hex of the output script that you are spending from. You are also missing the parameter for the private key array that goes right before the sighash parameter. Even if you don't need that parameter (i.e the key is in your wallet), you still need to specify it if you are going to have the sighash parameter as well.

If the transaction you are spending from is in your wallet, you do not need anything except the hex of the unsigned transaction. The rest will be automatically filled in for you.

I updated to:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87\", ,\"redeemScript\":\""]" "ALL"

What is missing now and where to insert?
staff
Activity: 3458
Merit: 6793
Just writing some code
sign it:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"XXX\", ,\"redeemScript\":\""]" "ALL"
This is incorrect. The scriptPubkey is not the private key. The scriptPubKey is the hex of the output script that you are spending from. You are also missing the parameter for the private key array that goes right before the sighash parameter. Even if you don't need that parameter (i.e the key is in your wallet), you still need to specify it if you are going to have the sighash parameter as well.

If the transaction you are spending from is in your wallet, you do not need anything except the hex of the unsigned transaction. The rest will be automatically filled in for you.
full member
Activity: 232
Merit: 101
Stratege, berechnend
how to sign this transaction offline?

Bitcoins received from:

https://www.blocktrail.com/tBTC/tx/6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164

TXID= 6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164
amount: 10
received to address: mgnKCYotzvX9gK36vZEd86WJMN8bdtB1sF

Code:
createrawtransaction '[{"txid":"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164","vout":1}]' '{"2N4ofFPCXk7NMRduBc59bPnM2CksXdk9964":0.1}'

returns:

Code:
010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000

decode it (to get vout hex)

Code:
decoderawtransaction 010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000

returns:

Code:
{
     "txid" : "04c557d38051d1450ff501520b1d7895c127543b435ee34e8bb76da4139f2e4b",
     "version" : 1,
     "locktime" : 0,
     "vin" : [
         {
             "txid" : "6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164",
             "vout" : 1,
             "scriptSig" : {
                 "asm" : "",
                 "hex" : ""
             },
             "sequence" : 4294967295
         }
     ],
     "vout" : [
         {
             "value" : 0.10000000,
             "n" : 0,
             "scriptPubKey" : {
                 "asm" : "OP_HASH160 7ecbc7d9cbb793ffb9a2905876c49f19cef8f75a OP_EQUAL",
                 "hex" : "a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a87",
                 "reqSigs" : 1,
                 "type" : "scripthash",
                 "addresses" : [
                     "2N4ofFPCXk7NMRduBc59bPnM2CksXdk9964"
                 ]
             }
         }
     ]
 }

get private key of address

Code:
dumpprivkey mgnKCYotzvX9gK36vZEd86WJMN8bdtB1sF

returns:

Code:
XXX

sign it:

Code:
signrawtransaction "010000000164518c0612559b8b47af331be4b33741ebed40298ce1df557e99e8955c0371690100000000ffffffff01809698000000000017a9147ecbc7d9cbb793ffb9a2905876c49f19cef8f75a8700000000" "[{\"txid\":\"6971035c95e8997e55dfe18c2940edeb4137b3e41b33af478b9b5512068c5164\",\"vout\":1,\"scriptPubKey\":\"XXX\", ,\"redeemScript\":\""]" "ALL"

Running this returns all the time just an input on my server. When I hit enter nothing happens:
Jump to: