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