<p>-dbcache: bitcoin is doing heavy disk I/O, you can reduce disk I/Os with increasing this parameter and thus increase memory usage</p>

<p>-par: if your system is so slow, you can't use it anymore, limit the number of threads or CPU/cores that are used</p>

<p>-pid: this is usually the process ID on your unixoide system. if you start a single instance, there is nothing to play with...</p>

<p>-bind: if you have several network cards in your system, you can bind the process to one of the many IP addresses in your system</p>

<p>-discover: discover IP addresses in the network. Set to 1, else set to 0, e.g. if you are using connections over TOR. </p>

<p>-upgradewallet: - someone else please :-)</p>

<p>-rpcbind: if your system is multihomed, and you want to talk from several networks to your machine, you can tell the bitcoin daemon, to listen to only a specific address for remote procedure calls</p>

<p>-rpcthreads: </p>

<blockquote>
  <p>how many connections can a thread afford?  </p>
</blockquote>

<p>good question, I don't know. Experts please. I was of the opinion, that one thread can handle one connection... </p>

<blockquote>
  <p>and how the connections counted?</p>
</blockquote>

<p>not sure what you mean by this - if you have 4 clients, that connect to your system, then you have 4 connections. Or 5... or 6 ... and you can have 4 different systems talk to your bitcoind.</p>

<blockquote>
  <p>is it per IP address or command?</p>
</blockquote>

<p>per IP address.</p>

<p>I know my answer is not 100%, so I am asking for additional help as well. </p>

CC BY-SA 3.0
2017-12-24T06:52:48.257Z
Thanks for sharing knowledge, waiting for the others to explain more. 
-discover: if you have a single network card, you're ok to use discover mode.
What discover mode is?
Tailer
CC BY-SA 4.0
2019-05-21T07:36:02.290Z
`-rpcthreads` and `-rpcworkqueue` etc are just going to be if you're interacting with the JSON-RPC interface, ie: querying to get a specific transaction hash, it doesn't affect normal bitcoind syncing. So if you set rpcthreads to 4, you can have 4 concurrent JSON-RPC calls into your node if you have need of such parallelization
xref
CC BY-SA 3.0
2017-12-23T16:16:33.967Z
2017-12-24T10:16:14.160Z
2017-12-24T10:16:14.160Z
pebwindkraft
<p>I'm just not understanding what does the following arguments do! </p>

<p>-dbcache : Set database cache size in megabytes (4 to 16384, default: 300)</p>

<blockquote>
  <p>which database is that? and what may happen if the file size excessed
  16384 megabytes.</p>
</blockquote>

<p>-par=N  Set the number of script verification threads (-2 to 16, 0 = auto, &lt;0 = leave that many cores free, default: 0)</p>

<blockquote>
  <p>What is script verifications threads? may this affect performance? </p>
</blockquote>

<p>-pid= Specify pid file (default: bitcoind.pid)</p>

<blockquote>
  <p>what is this for?</p>
</blockquote>

<p>-bind=    Bind to given address and always listen on it. Use [host]:port notation for IPv6</p>

<blockquote>
  <p>is this for RPC calls, so bitcoin core listens only to given IP address?</p>
</blockquote>

<p>-discover   Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)</p>

<blockquote>
  <p>what do they mean? </p>
</blockquote>

<pre><code>-upgradewallet  Upgrade wallet to latest format on startup
</code></pre>

<blockquote>
  <p>what is the wallet formats?</p>
</blockquote>

<pre><code>-rpcbind=&lt;addr&gt; Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)
</code></pre>

<blockquote>
  <p>when we Bind to IP address, will the software listens to this IP address only? </p>
</blockquote>

<pre><code>-rpcthreads=&lt;n&gt; Set the number of threads to service RPC calls (default: 4)
</code></pre>

<blockquote>
  <p>how many connections can a thread afford? and how the connections counted? is it per IP address or command? </p>
</blockquote>

CC BY-SA 3.0
2017-12-23T15:50:34.243Z
I think you are looking to optimize your system throughput? for the dbacache, there is a longer thread here: https://github.com/bitcoin/bitcoin/issues/10647, the majority of others are network related... maybe you can tell us, what you intend to do with them, or why you need to "get" them?
pebwindkraft
CC BY-SA 3.0
2017-12-23T15:57:26.533Z
I just would like to understand Bitcoin core and configure it right. Nothing more.
Tailer
CC BY-SA 3.0
2017-12-23T16:03:02.823Z
ok, there are several defaults in the distribution, which configures it correctly for the majority of use cases, so you don't have to play with it. On the other hand side, if you have very specific network setup and many processors/cores, then you would start to play with the parameters. I try to give some replies in answer field, asking for the experts to extend.
pebwindkraft
<bitcoind><bitcoin.conf>
Bitcoin core config explanation
Tailer
# Bitcoin core config explanation

(Asked by: username_0 on 2017-12-23)

I'm just not understanding what does the following arguments do!

-dbcache : Set database cache size in megabytes (4 to 16384, default: 300)

> which database is that? and what may happen if the file size excessed
> 16384 megabytes.

-par=N Set the number of script verification threads (-2 to 16, 0 = auto, <0 = leave that many cores free, default: 0)

> What is script verifications threads? may this affect performance?

-pid= Specify pid file (default: bitcoind.pid)

> what is this for?

-bind= Bind to given address and always listen on it. Use [host]:port notation for IPv6

> is this for RPC calls, so bitcoin core listens only to given IP address?

-discover Discover own IP addresses (default: 1 when listening and no -externalip or -proxy)

> what do they mean?

```
-upgradewallet  Upgrade wallet to latest format on startup

```

> what is the wallet formats?

```
-rpcbind=<addr> Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)

```

> when we Bind to IP address, will the software listens to this IP address only?

```
-rpcthreads=<n> Set the number of threads to service RPC calls (default: 4)

```

> how many connections can a thread afford? and how the connections counted? is it per IP address or command?

**Tags:** bitcoind, bitcoin.conf

> **Comments:**
> **username_1**: I think you are looking to optimize your system throughput? for the dbacache, there is a longer thread here: https://github.com/bitcoin/bitcoin/issues/10647, the majority of others are network related... maybe you can tell us, what you intend to do with them, or why you need to "get" them?  
> **username_0**: I just would like to understand Bitcoin core and configure it right. Nothing more.  
> **username_1**: ok, there are several defaults in the distribution, which configures it correctly for the majority of use cases, so you don't have to play with it. On the other hand side, if you have very specific network setup and many processors/cores, then you would start to play with the parameters. I try to give some replies in answer field, asking for the experts to extend.  

---

## 1 answers

### Answer by username_1 on 2017-12-23. Score: 1

-dbcache: bitcoin is doing heavy disk I/O, you can reduce disk I/Os with increasing this parameter and thus increase memory usage

-par: if your system is so slow, you can't use it anymore, limit the number of threads or CPU/cores that are used

-pid: this is usually the process ID on your unixoide system. if you start a single instance, there is nothing to play with...

-bind: if you have several network cards in your system, you can bind the process to one of the many IP addresses in your system

-discover: discover IP addresses in the network. Set to 1, else set to 0, e.g. if you are using connections over TOR.

-upgradewallet: - someone else please :-)

-rpcbind: if your system is multihomed, and you want to talk from several networks to your machine, you can tell the bitcoin daemon, to listen to only a specific address for remote procedure calls

-rpcthreads:

> how many connections can a thread afford?

good question, I don't know. Experts please. I was of the opinion, that one thread can handle one connection...

> and how the connections counted?

not sure what you mean by this - if you have 4 clients, that connect to your system, then you have 4 connections. Or 5... or 6 ... and you can have 4 different systems talk to your bitcoind.

> is it per IP address or command?

per IP address.

I know my answer is not 100%, so I am asking for additional help as well.

> **Comments:**
> **username_0**: Thanks for sharing knowledge, waiting for the others to explain more.  -discover: if you have a single network card, you're ok to use discover mode. What discover mode is?  
> **username_2**: `-rpcthreads` and `-rpcworkqueue` etc are just going to be if you're interacting with the JSON-RPC interface, ie: querying to get a specific transaction hash, it doesn't affect normal bitcoind syncing. So if you set rpcthreads to 4, you can have 4 concurrent JSON-RPC calls into your node if you have need of such parallelization  

---

