2019-06-29 09:00:50 +02:00
|
|
|
# macOS Build Instructions and Notes
|
|
|
|
|
2016-06-02 10:45:11 +02:00
|
|
|
The commands in this guide should be executed in a Terminal application.
|
2019-06-29 09:00:50 +02:00
|
|
|
The built-in one is located in
|
|
|
|
```
|
|
|
|
/Applications/Utilities/Terminal.app
|
|
|
|
```
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
## Preparation
|
2018-06-05 15:47:25 +02:00
|
|
|
Install the macOS command line tools:
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
|
|
|
xcode-select --install
|
|
|
|
```
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2016-06-21 16:32:20 +02:00
|
|
|
When the popup appears, click `Install`.
|
|
|
|
|
2017-05-02 18:48:58 +02:00
|
|
|
Then install [Homebrew](https://brew.sh).
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
## Base build dependencies
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
2023-02-04 19:26:20 +01:00
|
|
|
brew install automake libtool pkg-config libnatpmp sqlite
|
2018-09-28 09:55:46 +02:00
|
|
|
```
|
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.
|
2020-02-20 13:32:31 +01:00
|
|
|
|
2018-10-28 11:41:40 +01:00
|
|
|
If you want to build the disk image with `make deploy` (.dmg / optional), you need RSVG:
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
2018-09-28 09:55:46 +02:00
|
|
|
brew install librsvg
|
|
|
|
```
|
2017-01-02 09:42:51 +01:00
|
|
|
|
2017-07-09 13:15:45 +02:00
|
|
|
If you run into issues, check [Homebrew's troubleshooting page](https://docs.brew.sh/Troubleshooting).
|
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
## Building
|
2017-01-02 09:42:51 +01:00
|
|
|
|
2021-03-12 20:40:05 +01:00
|
|
|
It's possible that your `PATH` environment variable contains some problematic strings, run
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
2021-03-12 20:40:05 +01:00
|
|
|
export PATH=$(echo "$PATH" | sed -e '/\\/!s/ /\\ /g') # fix whitespaces
|
|
|
|
```
|
|
|
|
|
|
|
|
Next, follow the instructions in [build-generic](build-generic.md)
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
## `disable-wallet` mode
|
|
|
|
When the intention is to run only a P2P node without a wallet, Dash Core may be
|
|
|
|
compiled in `disable-wallet` mode with:
|
|
|
|
```shell
|
|
|
|
./configure --disable-wallet
|
|
|
|
```
|
2018-09-07 14:24:19 +02:00
|
|
|
|
2023-02-04 19:26:20 +01:00
|
|
|
In this case there is no dependency on Berkeley DB 4.8 and SQLite.
|
2018-09-07 14:24:19 +02:00
|
|
|
|
|
|
|
Mining is also possible in disable-wallet mode using the `getblocktemplate` RPC call.
|
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
## Running
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2016-06-02 10:45:11 +02:00
|
|
|
Dash Core is now available at `./src/dashd`
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2018-10-28 11:41:40 +01:00
|
|
|
Before running, you may create an empty configuration file:
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
|
|
|
mkdir -p "/Users/${USER}/Library/Application Support/DashCore"
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
touch "/Users/${USER}/Library/Application Support/DashCore/dash.conf"
|
2019-04-15 14:39:37 +02:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
chmod 600 "/Users/${USER}/Library/Application Support/DashCore/dash.conf"
|
|
|
|
```
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
The first time you run dashd, it will start downloading the blockchain. This process could
|
|
|
|
take many hours, or even days on slower than average systems.
|
2016-06-02 10:45:11 +02:00
|
|
|
|
|
|
|
You can monitor the download process by looking at the debug.log file:
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
|
|
|
tail -f $HOME/Library/Application\ Support/DashCore/debug.log
|
|
|
|
```
|
2014-02-26 03:35:48 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
## Other commands:
|
2012-12-12 17:52:38 +01:00
|
|
|
|
2019-06-29 09:00:50 +02:00
|
|
|
```shell
|
|
|
|
./src/dashd -daemon # Starts the dash daemon.
|
|
|
|
./src/dash-cli --help # Outputs a list of command-line options.
|
|
|
|
./src/dash-cli help # Outputs a list of RPC commands when the daemon is running.
|
|
|
|
```
|