22

This is a multi-part question, mainly do to contradictory information from different articles. It's got me all confused.

From my understanding, bitcoin-qt is just a GUI version of bitcoind - which was the original 'client' or 'node'. Is it true that bitcoind is actually built within bitcoin-qt, and runs in the background as a daemon (when the app is open)?

When I first started bitcoin-qt, it started downloading the block-chain. After that, I was curious about setting up a pool server, so I sought out information about that. I ended up going through a tutorial on installing Eloipool - they informed me that I had to have bitcoind setup and running as a daemon. That was interesting, because I thought that it was already running through bitcoin-qt?

This is where my confusion started. I even tried using the bitcoin-qt debug console; but it didn't have the same commands as bitcoind - specifically the rpc ones.

Where does this leave me? Am I doing something wrong? If I shutdown bitcoin-qt and start bitcoind -daemon, then it starts downloading another block-chain.

Do I really need both of these to make this work, or does the bitcoin-qt have access (somehow) to all the bitcoind commands?

Does bitcoin-qt use bitcoin.conf, the same as bitcoind? The reason I ask this, is for setting up the rpcuser and rpcpassword, amongst other things.

* UPDATE *

I did some more reading, and found out that most people just use bitcoind for more serious stuff. Is there not a way to configure bitcoin-qt to use a currently running instance of bitcoind, instead of spawning it's own daemon (when GUI is open).

2
  • ' did some more reading, and found out that most people just use bitcoind for more serious stuff' could you just explain which one?
    – archer
    Commented Apr 25, 2015 at 0:41
  • Explain what exactly? Bitcoind is essentially a daemon that runs in the background, and can be used as a command line interface, or for remote commands (from other apps). Bitcoin-qt is just a program that gives you a pretty interface; but in the background, it uses the core of bitcoind (not sure if it spawns its own version of bitcoind or not, or if it just uses core libraries from it), to do all the heavy lifting. I hope that explains it for you.
    – xil3
    Commented Apr 25, 2015 at 16:54

1 Answer 1

24

You can either run bitcoin-qt or bitcoind, not both at the same time (the Qt part is not just a frontend on top of the RPC code, it uses the core directly).

You can however run Bitcoin-Qt with the -server command-line switch, in which case it will also expose an RPC service (essentially functioning like bitcoind in addition to the GUI interface). The RPC console inside the GUI has the exact same functionality as the bitcoind RPC client.

PS: bitcoind is both an RPC server (when started without RPC command on the command-line) and an RPC client (when started with RPC command on the command-line), while Bitcoin-Qt only optionally runs an RPC server (when started with -server).

Update: In version 0.9, bitcoin-cli was added with just the RPC client functionality from bitcoind. In version 0.10, this functionality will be removed from bitcoind. This means that the following ways of interacting will be possible:

  • bitcoin-cli or an external RPC client talking to bitcoind.
  • bitcoin-cli or an external RPC client talking to bitcoin-qt -server.
  • Using the RPC console in bitcoin-qt.
2
  • at least on windows qt gives me another number of blocks downloaded than bitcoind. Is bitcoind downloading to another location as bitcoin-qt? I changed the folder during the installation
    – tobi
    Commented Feb 5, 2017 at 21:45
  • No, they should give you the same number. Commented Feb 5, 2017 at 23:37

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.