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?

  • I think you are looking to optimize your system throughput? for the dbacache, there is a longer thread here: 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? Dec 23, 2017 at 15:50
  • I just would like to understand Bitcoin core and configure it right. Nothing more.
    – Tailer
    Dec 23, 2017 at 15:57
  • 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. Dec 23, 2017 at 16:03

1 Answer 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


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.

  • 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
    Dec 24, 2017 at 6:52
  • -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
    May 21, 2019 at 7:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.