<blockquote>
  <p>How can I attached this signature to the transaction so that I can
  broadcast it to network?</p>
</blockquote>

<p>This is more agnostic to any particular wallet software, but I hope it's helpful. When you sign a <a href="https://en.bitcoin.it/wiki/Transaction#General_format_of_a_Bitcoin_transaction_.28inside_a_block.29" rel="nofollow noreferrer">transaction</a>, you then put the signatures in the <code>scriptSig</code> field of the <a href="https://en.bitcoin.it/wiki/Transaction#General_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin" rel="nofollow noreferrer"><code>input</code></a> it corresponds to (the tx may have multiple inputs).</p>

<p>For a m-of-n multisig transaction, the <code>scriptSig</code> format is:</p>

<p><code>0 &lt;sig1&gt; ... OP_m &lt;pubKey1&gt; ... OP_n OP_CHECKMULTISIG</code></p>

<p>To broadcast it to the network, you can use the <a href="http://docs.electrum.org/en/latest/coldstorage_cmdline.html#broadcast-the-transaction" rel="nofollow noreferrer">broadcast</a> command in electrum:</p>

<pre><code>cat signed.txn | electrum broadcast -

If successful, the command will return the ID of the transaction.
</code></pre>

<p>Alternatively you can use the <a href="https://bitcoincore.org/en/doc/0.16.2/rpc/rawtransactions/sendrawtransaction/" rel="nofollow noreferrer"><code>sendrawtransaction</code></a> <code>RPC</code> on a node running Bitcoin core.</p>

<p><strong>sendrawtransaction "hexstring" ( allowhighfees )</strong></p>

<pre><code>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
&gt; bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
Sign the transaction, and get back the hex
&gt; bitcoin-cli signrawtransaction "myhex"

Send the transaction (signed hex)
&gt; bitcoin-cli sendrawtransaction "signedhex"

As a json rpc call
&gt; 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/
</code></pre>

CC BY-SA 4.0
2018-09-17T14:23:13.367Z
2018-09-17T14:23:13.367Z
JBaczuk
<p>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.</p>

<client><raw-transaction><signature><multi-signature>
How to add a signature to a transaction which I can broadcast
Sunny
# How to add a signature to a transaction which I can broadcast

(Asked by: username_0 on 2018-09-17)

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.

**Tags:** client, raw-transaction, signature, multi-signature


---

## 1 answers

### Answer by username_1 on 2018-09-17. Score: 1 | Accepted answer

> 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](https://en.bitcoin.it/wiki/Transaction#General_format_of_a_Bitcoin_transaction_.28inside_a_block.29), you then put the signatures in the `scriptSig` field of the [`input`](https://en.bitcoin.it/wiki/Transaction#General_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin) 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](http://docs.electrum.org/en/latest/coldstorage_cmdline.html#broadcast-the-transaction) 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`](https://bitcoincore.org/en/doc/0.16.2/rpc/rawtransactions/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/

```


---

