2018-06-04 12:54:22 +02:00
macOS Build Instructions and Notes
2012-12-12 17:52:38 +01:00
====================================
2016-05-09 10:30:27 +02:00
The commands in this guide should be executed in a Terminal application.
The built-in one is located in `/Applications/Utilities/Terminal.app` .
2012-12-12 17:52:38 +01:00
Preparation
-----------
2018-06-04 12:54:22 +02:00
Install the macOS command line tools:
2012-12-12 17:52:38 +01:00
2016-06-12 06:59:02 +02:00
`xcode-select --install`
2012-12-12 17:52:38 +01:00
2016-06-12 06:59:02 +02:00
When the popup appears, click `Install` .
2017-04-23 02:47:12 +02:00
Then install [Homebrew ](https://brew.sh ).
2012-12-12 17:52:38 +01:00
2016-05-09 10:30:27 +02:00
Dependencies
2012-12-12 17:52:38 +01:00
----------------------
2018-04-01 19:31:04 +02:00
brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode
2012-12-12 17:52:38 +01:00
2017-07-09 13:15:45 +02:00
See [dependencies.md ](dependencies.md ) for a complete overview.
2018-10-25 21:58:08 +02:00
If you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG:
2016-12-23 09:52:08 +01:00
brew install librsvg
2017-11-16 08:36:08 +01:00
Berkeley DB
-----------
It is recommended to use Berkeley DB 4.8. If you have to build it yourself,
2017-12-20 13:39:16 +01:00
you can use [the installation script included in contrib/ ](/contrib/install_db4.sh )
2018-10-25 21:58:08 +02:00
like so:
2017-11-16 08:36:08 +01:00
```shell
./contrib/install_db4.sh .
```
from the root of the repository.
2018-10-25 21:58:08 +02:00
**Note**: You only need Berkeley DB if the wallet is enabled (see [*Disable-wallet mode* ](/doc/build-osx.md#disable-wallet-mode )).
2017-11-16 08:36:08 +01:00
2016-05-09 10:30:27 +02:00
Build Bitcoin Core
------------------------
2012-12-12 17:52:38 +01:00
2018-10-25 21:58:08 +02:00
1. Clone the Bitcoin Core source code:
2012-12-12 17:52:38 +01:00
2016-05-09 10:30:27 +02:00
git clone https://github.com/bitcoin/bitcoin
2012-12-12 17:52:38 +01:00
cd bitcoin
2018-04-17 19:30:35 +02:00
2. Build Bitcoin Core:
2016-05-09 10:30:27 +02:00
2018-04-17 19:30:35 +02:00
Configure and build the headless Bitcoin Core binaries as well as the GUI (if Qt is found).
2016-05-09 10:30:27 +02:00
You can disable the GUI build by passing `--without-gui` to configure.
2012-12-12 17:52:38 +01:00
2013-11-11 04:11:33 +01:00
./autogen.sh
2015-11-17 15:14:36 +01:00
./configure
2013-11-11 04:11:33 +01:00
make
2012-12-12 17:52:38 +01:00
2016-05-09 10:30:27 +02:00
3. It is recommended to build and run the unit tests:
2012-12-12 17:52:38 +01:00
2013-12-11 23:11:21 +01:00
make check
2012-12-12 17:52:38 +01:00
2016-05-09 10:30:27 +02:00
4. You can also create a .dmg that contains the .app bundle (optional):
2012-12-12 17:52:38 +01:00
2016-05-09 10:30:27 +02:00
make deploy
2012-12-12 17:52:38 +01:00
2018-09-05 20:57:47 +02:00
Disable-wallet mode
--------------------
When the intention is to run only a P2P node without a wallet, Bitcoin Core may be compiled in
disable-wallet mode with:
./configure --disable-wallet
In this case there is no dependency on Berkeley DB 4.8.
2018-09-05 21:21:18 +02:00
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
2018-09-05 20:57:47 +02:00
2012-12-12 17:52:38 +01:00
Running
-------
2016-05-09 10:30:27 +02:00
Bitcoin Core is now available at `./src/bitcoind`
2012-12-12 17:52:38 +01:00
2018-10-25 21:58:08 +02:00
Before running, it's recommended that you create an RPC configuration file:
2012-12-12 17:52:38 +01:00
echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
2016-05-09 10:30:27 +02:00
2012-12-12 17:52:38 +01:00
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
2018-10-25 21:58:08 +02:00
The first time you run bitcoind, it will start downloading the blockchain. This process could take many hours, or even days on slower than average systems.
2016-05-09 10:30:27 +02:00
You can monitor the download process by looking at the debug.log file:
2014-02-26 03:35:48 +01:00
tail -f $HOME/Library/Application\ Support/Bitcoin/debug.log
2012-12-12 17:52:38 +01:00
Other commands:
2014-06-28 10:43:07 +02:00
-------
2012-12-12 17:52:38 +01:00
2016-05-09 10:30:27 +02:00
./src/bitcoind -daemon # Starts the bitcoin daemon.
./src/bitcoin-cli --help # Outputs a list of command-line options.
./src/bitcoin-cli help # Outputs a list of RPC commands when the daemon is running.
Notes
-----
2018-07-08 18:28:20 +02:00
* Tested on OS X 10.10 Yosemite through macOS 10.13 High Sierra on 64-bit Intel processors only.
2016-04-02 18:54:12 +02:00
2016-05-09 10:30:27 +02:00
* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714 ](https://github.com/bitcoin/bitcoin/issues/7714 )