user56114: How to store full blockchain on server and run Bitcoin Core as client only?
I want to run Core wallets on 2 or 3 or even more computers on my local network. The best way to store the full blockchain is to put it on one server on my local network.
I want the Core client to read only the blockchain data and listen for changes from the server but not write anything to the server, like a read-only directory. The server should be the only one allowed to write updates to the blockchain data.
The Core client should write private data to %AppData%\Bitcoin as usual but segregate the blockchain data onto the server.
How do I do this?

user208: This is not supported.
What is supported:

Run Bitcoin Core in pruning mode (which means it still has a local blockchain, but only recent blocks are kept.
Run lightweight software as client, and make it only connect to your (clearly trusted) server. This way you get a fully validated chain, without the resource usage.


user75001: It is possible to configure your server/clients as follows, although it is not exactly what you have described. I presume that you still want each client to have its own separate wallet.

On your server, make a full installation of Bitcoin Core.


In the config file set bind=<internal network IP>.
Set any other options, for example to enable incoming peers from the internet.
Restart server node for config to take effect.

On each client make a full installation of Bitcoin Core.


In your config file set connect=<server IP>.
In your config file set prune=<n> where n is greater than 550MiB. This will limit storage requirements.
Set any other options.
Restart client node for config to take effect.


Using connect= disables automatic connections so, your nodes will only connect to the server.

56114: <p><strong>How to store full blockchain on server and run Bitcoin Core as client only?</strong></p>

<p>I want to run Core wallets on 2 or 3 or even more computers on my local network. The best way to store the full blockchain is to put it on one server on my local network.</p>

<p>I want the Core client to read only the blockchain data and listen for changes from the server but not write anything to the server, like a read-only directory. The server should be the only one allowed to write updates to the blockchain data.</p>

<p>The Core client should write private data to <code>%AppData%\Bitcoin</code> as usual but segregate the blockchain data onto the server.</p>

<p>How do I do this?</p>
 208: <p>This is not supported.</p>

<p>What is supported:</p>

<ul>
<li>Run Bitcoin Core in pruning mode (which means it still has a local blockchain, but only recent blocks are kept.</li>
<li>Run lightweight software as client, and make it only connect to your (clearly trusted) server. This way you get a fully validated chain, without the resource usage.</li>
</ul>
 75001: <p>It is possible to configure your server/clients as follows, although it is not exactly what you have described. I presume that you still want each client to have its own separate wallet.</p>

<ol>
<li>On your server, make a full installation of Bitcoin Core.

<ol>
<li>In the config file set <code>bind=&lt;internal network IP&gt;</code>.</li>
<li>Set any other options, for example to enable incoming peers from the internet.</li>
<li>Restart server node for config to take effect.</li>
</ol></li>
<li>On each client make a full installation of Bitcoin Core.

<ol>
<li>In your config file set <code>connect=&lt;server IP&gt;</code>.</li>
<li>In your config file set <code>prune=&lt;n&gt;</code> where n is greater than 550MiB. This will limit storage requirements.</li>
<li>Set any other options.</li>
<li>Restart client node for config to take effect.</li>
</ol></li>
</ol>

<p>Using <code>connect=</code> disables automatic connections so, your nodes will only connect to the server.</p>
