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.

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/

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.