<blockquote>
<p><strong>I'm not sure what daemons should be used in this script and ...</strong></p>
</blockquote>
<p>You first run two bitcoind daemons locally and then specify their ports as arguments to the command along with other information such as authentication credentials:</p>
<pre><code># Example usage:
#  multisigsync.py \
   --connect1=http://abc:123@127.0.0.1:9000 \
   --connect2=http://abc:123@127.0.0.1:9001 \
   2MsrtHjVXGdT7RuTEiUWzec87Cik1rPpmyD
</code></pre>
<p>In this example one bitcoind has been configured to listen on port 9000 the other is listening on port 9001</p>
<p>It looks like this should also work with remote bitcoind instances.</p>
<hr />
<blockquote>
<p><strong>... how it all works.</strong></p>
</blockquote>
<p>It isn't clear what part you want help with.</p>
<p>The ServiceProxy stuff seems to be described at <a href="https://www.jsonrpc.org/archive_json-rpc.org/python-json-rpc.html" rel="nofollow noreferrer">https://www.jsonrpc.org/archive_json-rpc.org/python-json-rpc.html</a></p>

CC BY-SA 4.0
2021-02-20T11:54:08.083Z
2021-02-20T11:54:08.083Z
RedGrittyBrick
<p>In order to set up a multisig transaction, your bitcoind needs to know the public keys that make up that multisig address, and the order that those public keys are listed in. The address itself doesn't contain this information. If you already have 1 bitcoind set up with this information, you can use this script to copy that information to a second bitcoind.</p>
<p>Then, once you do that, you can craft a multisig transaction, then distribute that transaction to each of the signers.</p>

CC BY-SA 4.0
2021-02-20T12:01:43.810Z
2021-02-20T12:01:43.810Z
ieatpizza
<p>I understand what the multisig wallets are but I need help understanding what exactly this script does:</p>
<p><a href="https://gist.github.com/gavinandresen/3882537" rel="nofollow noreferrer">https://gist.github.com/gavinandresen/3882537</a></p>
<p>If I understand correctly, bitcoinds are bitcoin daemons but I'm not sure what daemons should be used in this script and how it all works.</p>

<bitcoind><json-rpc><multi-signature><synchronization>
Multisig synchronization
Marko
# Multisig synchronization

(Asked by: username_0 on 2021-02-20)

I understand what the multisig wallets are but I need help understanding what exactly this script does:

<https://gist.github.com/gavinandresen/3882537>

If I understand correctly, bitcoinds are bitcoin daemons but I'm not sure what daemons should be used in this script and how it all works.

**Tags:** bitcoind, json-rpc, multi-signature, synchronization


---

## 2 answers

### Answer by username_1 on 2021-02-20. Score: 0

> **I'm not sure what daemons should be used in this script and ...**

You first run two bitcoind daemons locally and then specify their ports as arguments to the command along with other information such as authentication credentials:

```
# Example usage:
#  multisigsync.py \
   --connect1=http://abc:123@127.0.0.1:9000 \
   --connect2=http://abc:123@127.0.0.1:9001 \
   2MsrtHjVXGdT7RuTEiUWzec87Cik1rPpmyD

```

In this example one bitcoind has been configured to listen on port 9000 the other is listening on port 9001

It looks like this should also work with remote bitcoind instances.

---

> **... how it all works.**

It isn't clear what part you want help with.

The ServiceProxy stuff seems to be described at <https://www.jsonrpc.org/archive_json-rpc.org/python-json-rpc.html>


---

### Answer by username_2 on 2021-02-20. Score: 0

In order to set up a multisig transaction, your bitcoind needs to know the public keys that make up that multisig address, and the order that those public keys are listed in. The address itself doesn't contain this information. If you already have 1 bitcoind set up with this information, you can use this script to copy that information to a second bitcoind.

Then, once you do that, you can craft a multisig transaction, then distribute that transaction to each of the signers.


---

