Dependency Build Instructions
sudo apt-get install build-essential libtool autotools-dev automake
pkg-config bsdmainutils python3
Now, you can either build from self-compiled depends or install the required dependencies:
sudo dnf install libevent-devel boost-devel
Berkeley DB is required for the wallet:
sudo dnf install libdb4-devel libdb4-cxx-devel
Newer Fedora releases, since Fedora 33, have only libdb-devel[ direction] and libdb-cxx-devel packages, but these will install Berkeley DB 5.3 or later. This will break binary wallet compatibility with the distributed executables, which are based on Berkeley DB 4.8. If you do not care about wallet compatibility, pass –with-incompatible-bdb to configure.
Otherwise, you can build Berkeley DB yourself.
SQLite is required for the descriptor wallet:
sudo dnf install sqlite-devel
To build Bitcoin Core without wallet, see Disable-wallet mode
Optional port mapping libraries (see: –with-miniupnpc , –enable-upnp-default , and –with-natpmp , –enable-natpmp-default ):
sudo dnf install miniupnpc-devel libnatpmp-devel
ZMQ dependencies (provides ZMQ API):
sudo dnf install zeromq-devel
User-Space, Statically Defined Tracing (USDT) dependencies:
sudo dnf install systemtap
If you want to build bitcoin-qt, make sure that the required packages for Qt development are installed. Qt 5 is necessary to build the GUI. To build without GUI pass –without-gui.
To build with Qt 5 you need the following:
sudo dnf install qt5-qttools-devel qt5-qtbase-devel
libqrencode (optional) can be installed with:
sudo dnf install qrencode-devel
Once these are installed, they will be found by configure and a bitcoin-qt executable will be built by default.
The release is built with GCC and then “strip bitcoind” to strip the debug symbols, which reduces the executable size by about 90%.