The commands in this guide should be executed in a Terminal application.
The built-in one is located in /Applications/Utilities/Terminal.app
.
xcode-select --install
When the popup appears, click Install
.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install the required dependencies using Homebrew:
brew install automake berkeley-db4 libtool boost miniupnpc openssl protobuf python qt libevent qrencode python-setuptools m4
In case you want to build the disk image with make deploy
(.dmg / optional), you need RSVG:
brew install librsvg
m4
is FoundAfter installing m4
, it is important to note that m4
is a keg-only
formula in Homebrew. This means it is not symlinked into /usr/local
by default. To make sure m4
is available in your PATH, you’ll need to link it manually with the --force
flag:
brew link m4 --force
You can verify that m4
is properly linked and available by running:
which m4
This should output the path to the m4
binary, typically /opt/homebrew/bin/m4
on Apple Silicon Macs. If you do not use the --force
flag, which m4
will likely output /usr/bin/m4
, which is the system version and not the one installed via Homebrew.
m4
IssuesIf m4
is not found even after installation and linking with --force
, you may need to install Xcode to ensure that m4
is recognized:
It is recommended to use Berkeley DB 4.8. If you have to build it yourself, you can use the installation script included in contrib/ like so:
./contrib/install_db4.sh
from the root of the repository.
Note: You only need Berkeley DB if the wallet is enabled (see Disable-wallet mode).
Before building, download the Firo source code:
git clone https://github.com/firoorg/firo
cd firo
cd depends
make
cd ..
./autogen.sh
./configure --prefix=`pwd`/depends/`depends/config.guess`
make
./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-tests
make check
make deploy
Firo Core is now available at ./src/firod
Before running, it’s recommended you create an RPC configuration file.
echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/firo/firo.conf"
chmod 600 "/Users/${USER}/Library/Application Support/firo/firo.conf"
The first time you run firod, it will start downloading the blockchain. This process could take several hours.
You can monitor the download process by looking at the debug.log file:
tail -f $HOME/Library/Application\ Support/firo/debug.log
./src/firod -daemon # Starts the Firo daemon.
./src/firo-cli --help # Outputs a list of command-line options.
./src/firo-cli help # Outputs a list of RPC commands when the daemon is running.
You can use Qt Creator as an IDE, for bitcoin development. Download and install the community edition of Qt Creator. Uncheck everything except Qt Creator during the installation process.
./configure --prefix=`pwd`/depends/`depends/config.guess` --enable-debug
src/qt
as locationTested on macOS 10.11 through 10.14 on 64-bit Intel processors, and on macOS 14.5 on an M2 chip.
Building with downloaded Qt binaries is not officially supported. See the notes in #7714