How to add a signature to a transaction which I can broadcast

0

I am using ledger and multi sig to sign a transaction I got signature hash where both party signed the transaction. How can I attached this signature to the transaction so that I can broadcast it to network? any code reference will be welcome. Currently I am referencing electrum code.

Sunny

Posted 2018-09-17T07:24:45.773

Reputation: 115

Answers

1

How can I attached this signature to the transaction so that I can broadcast it to network?

This is more agnostic to any particular wallet software, but I hope it's helpful. When you sign a transaction, you then put the signatures in the scriptSig field of the input it corresponds to (the tx may have multiple inputs).

For a m-of-n multisig transaction, the scriptSig format is:

0 <sig1> ... OP_m <pubKey1> ... OP_n OP_CHECKMULTISIG

To broadcast it to the network, you can use the broadcast command in electrum:

cat signed.txn | electrum broadcast -

If successful, the command will return the ID of the transaction.

Alternatively you can use the sendrawtransaction RPC on a node running Bitcoin core.

sendrawtransaction "hexstring" ( allowhighfees )

Submits raw transaction (serialized, hex-encoded) to local node and network.

Also see createrawtransaction and signrawtransaction calls.

Arguments:
1. "hexstring"    (string, required) The hex string of the raw transaction)
2. allowhighfees    (boolean, optional, default=false) Allow high fees

Result:
"hex"             (string) The transaction hash in hex

Examples:

Create a transaction
> bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
Sign the transaction, and get back the hex
> bitcoin-cli signrawtransaction "myhex"

Send the transaction (signed hex)
> bitcoin-cli sendrawtransaction "signedhex"

As a json rpc call
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "sendrawtransaction", "params": ["signedhex"] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/

JBaczuk

Posted 2018-09-17T07:24:45.773

Reputation: 6 172