2018-06-04 12:54:22 +02:00
macOS Build Instructions and Notes
2012-12-12 11:52:38 -05:00
====================================
2016-05-09 16:30:27 +08: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 11:52:38 -05:00
Preparation
-----------
2018-06-04 12:54:22 +02:00
Install the macOS command line tools:
2012-12-12 11:52:38 -05:00
2016-06-12 12:59:02 +08:00
`xcode-select --install`
2012-12-12 11:52:38 -05:00
2016-06-12 12:59:02 +08:00
When the popup appears, click `Install` .
2017-04-23 08:47:12 +08:00
Then install [Homebrew ](https://brew.sh ).
2012-12-12 11:52:38 -05:00
2016-05-09 16:30:27 +08:00
Dependencies
2012-12-12 11:52:38 -05:00
----------------------
2018-04-01 10:31:04 -07:00
brew install automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf python qt libevent qrencode
2012-12-12 11:52:38 -05: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-15 23:36:08 -08: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-15 23:36:08 -08: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-15 23:36:08 -08:00
2016-05-09 16:30:27 +08:00
Build Bitcoin Core
------------------------
2012-12-12 11:52:38 -05:00
2018-10-25 21:58:08 +02:00
1. Clone the Bitcoin Core source code:
2012-12-12 11:52:38 -05:00
2016-05-09 16:30:27 +08:00
git clone https://github.com/bitcoin/bitcoin
2012-12-12 11:52:38 -05:00
cd bitcoin
2018-04-17 13:30:35 -04:00
2. Build Bitcoin Core:
2016-05-09 16:30:27 +08:00
2018-04-17 13:30:35 -04:00
Configure and build the headless Bitcoin Core binaries as well as the GUI (if Qt is found).
2016-05-09 16:30:27 +08:00
You can disable the GUI build by passing `--without-gui` to configure.
2012-12-12 11:52:38 -05:00
2013-11-10 21:11:33 -06:00
./autogen.sh
2015-11-17 22:14:36 +08:00
./configure
2013-11-10 21:11:33 -06:00
make
2012-12-12 11:52:38 -05:00
2016-05-09 16:30:27 +08:00
3. It is recommended to build and run the unit tests:
2012-12-12 11:52:38 -05:00
2013-12-11 14:11:21 -08:00
make check
2012-12-12 11:52:38 -05:00
2016-05-09 16:30:27 +08:00
4. You can also create a .dmg that contains the .app bundle (optional):
2012-12-12 11:52:38 -05:00
2016-05-09 16:30:27 +08:00
make deploy
2012-12-12 11:52:38 -05:00
2018-09-05 13:57:47 -05: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 14:21:18 -05:00
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
2018-09-05 13:57:47 -05:00
2012-12-12 11:52:38 -05:00
Running
-------
2016-05-09 16:30:27 +08:00
Bitcoin Core is now available at `./src/bitcoind`
2012-12-12 11:52:38 -05:00
2016-06-29 07:13:00 -04:00
Before running, you may create an empty configuration file:
2012-12-12 11:52:38 -05:00
2016-06-29 07:13:00 -04:00
touch "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
2016-05-09 16:30:27 +08:00
2012-12-12 11:52:38 -05: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 16:30:27 +08:00
You can monitor the download process by looking at the debug.log file:
2014-02-25 21:35:48 -05:00
tail -f $HOME/Library/Application\ Support/Bitcoin/debug.log
2012-12-12 11:52:38 -05:00
Other commands:
2014-06-28 16:43:07 +08:00
-------
2012-12-12 11:52:38 -05:00
2016-05-09 16:30:27 +08: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-09 00:28:20 +08: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 16:30:27 +08:00
* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714 ](https://github.com/bitcoin/bitcoin/issues/7714 )