4

Can someone please give a brief explanation on these? I'm getting very confused with the differences, and every tutorial article I read uses these terms interchangeably (I'm trying to set up a pruned node...)

  • bitcoin-qt
  • bitcoin-cli
  • bitcoind
  • bitcoin-rpc
  • daemon

Thank you!

Michael Folkson
  • 14,337
  • 3
  • 11
  • 45
2523454
  • 311
  • 2
  • 11

2 Answers2

8

All of those things are part of the same program, Bitcoin Core.

bitcoin-qt: The GUI version of Bitcoin Core. Most users will use this as it provides a nice Graphical User Interface that uses the Qt framework. It does all of Bitcoin Core's functionality, including being a full node and handling your private keys and transactions.

bitcoind: The Bitcoin daemon. It is the version of Bitcoin Core which can run in the background. It still does all of the full node and wallet things that bitcoin-qt does but is harder to access. bitcoind is primarily used for machines without a GUI (e.g. headless server). It can be accessed and interacted with using the JSON-RPC protocol.

bitcoin-cli: A tool that you can use to interact with bitcoind. It speaks the JSON-RPC protocol that bitcoind uses and lets you send commands to bitcoind and get the results back.

bitcoin-rpc: The Bitcoin Core RPC server. This is part of bitcoind and bitcoin-qt (it must be set explicitly to be enabled in bitcoin-qt). This is the interface that bitcoin-cli interacts with.

daemon: A daemon is any service which runs in the background. bitcoind is a daemon, and so are many other software which run in the background and have no GUI.

Andrew Chow
  • 67,209
  • 5
  • 76
  • 149
3

All belongs to same application (bitcoin-core) You can download it from bitcoin.org

bitcoin-qt Qt is a cross-platform application and UI framework for developers using C++. It's is used for UI in Bitcoin-Qt. See http://qt-project.org/.

bitcoin-cli

cli: Command line interface

bitcoind

Bitcoind is a headless daemon, and also bundles a testing tool for the same daemon. It provides a JSON-RPC interface, allowing it to be controlled locally or remotely which makes it useful for integration with other software or in larger payment systems

bitcoin-rpc

Remote Procedure Call (RPC) is a protocol that one program can use to request a service from a program located in another computer on a network without having to understand the network's details. A procedure call is also sometimes known as a function call or a subroutine call.

daemon Running Bitcoin in background mode (daemon mode)

Adam
  • 3,639
  • 1
  • 12
  • 36