It is not necessary to build wallet functionality to run bitcoind or the GUI. To enable legacy wallets, you must install `db5`. To enable [descriptor wallets](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md), `sqlite3` is required. Skip `db5` if you intend to *exclusively* use descriptor wallets
###### Legacy Wallet Support
`db5` is required to enable support for legacy wallets. Skip if you don't intend to use legacy wallets
```bash
pkg install db5
```
It is not necessary to build wallet functionality to run either `bitcoind` or `bitcoin-qt`.
###### Descriptor Wallet Support
`sqlite3` is required to enable support for descriptor wallets. Skip if you don't intend to use descriptor wallets.
`sqlite3` is required to support [descriptor wallets](descriptors.md).
Skip if you don't intend to use descriptor wallets.
``` bash
pkg install sqlite3
```
###### Legacy Wallet Support
`db5` is only required to support legacy wallets.
Skip if you don't intend to use legacy wallets.
```bash
pkg install db5
```
---
#### GUI Dependencies
@ -79,8 +81,17 @@ pkg install python3
### 1. Configuration
There are many ways to configure Bitcoin Core, here are a few common examples:
##### Wallet (BDB + SQlite) Support, No GUI:
This explicitly enables legacy wallet support and disables the GUI. If `sqlite3` is installed, then descriptor wallet support will be built.
##### Descriptor Wallet and GUI:
This explicitly enables the GUI and disables legacy wallet support, assuming `sqlite` and `qt` are installed.
@ -89,12 +100,6 @@ This explicitly enables legacy wallet support and disables the GUI. If `sqlite3`
MAKE=gmake
```
##### Wallet (only SQlite) and GUI Support:
This explicitly enables the GUI and disables legacy wallet support. If `qt5` is not installed, this will throw an error. If `sqlite3` is installed then descriptor wallet functionality will be built. If `sqlite3` is not installed, then wallet functionality will be disabled.