# Setting up a Bitcoin node & Ord client on MacOS ## Prerequisites - Mac OS X Yosemite 10.10.x+ - 8GB+ RAM (recommended) - 1TB+ M.2 or SSD (internal or external) :::warning If the SDD is not APFS (check in Disk Utility) then it will need to be erased and reformatted. ::: :::danger Hardware related errors are likely with external HDDs. ::: ## Bitcoin node 1. Go to the [Bitcoin Core download page](https://bitcoin.org/en/download) and download the installer for your operating system (x86_64 for Intel chip, arm64 for Apple silicon) 2. After downloading, open the installer and drag Bitcoin Core to your Applications folder ![Screenshot 2024-03-16 at 5.32.06 PM](https://hackmd.io/_uploads/r1viFH7AT.png) 3. If using external SSD, open Disk Utility and find the drive. If it's not already an APFS Volume, then click "Erase" and select APFS as the format. Erase and reformat. 4. Create a "Bitcoin" directory where you want to store the data 5. Open Terminal and navigate to that directory (replace with your actual path): `cd /Volumes/NameOfDisk/Bitcoin` 5. Create a `bitcoin.conf` file in that directory: `nano bitcoin.conf` 6. Paste in the following: ``` txindex=1 server=1 rest=1 ``` 7. Save the file (CTRL+O, Return, CTRL+X) 8. Navigate to Bitcoin Core app: `cd /Applications/Bitcoin-Qt.app/Contents/MacOS` 9. Run the app (Bitcoin-Qt is the graphical user interface app that comes bundled with Bitcoin Core): `./Bitcoin-Qt -txindex=1` 10. Select "Use a custom data directory" and choose the one you previously created 11. Click "Okay" and Bitcoin Core will begin to download the blockchain data (this may take several days depending on your internet speed) ![Screenshot 2024-03-17 at 10.22.47 AM](https://hackmd.io/_uploads/BkYKUNNRT.png) 12. If you need to shut down your computer, shut down Bitcoin Core first (CTRL+C in Terminal); it should pick up where it left off next time you run it. 13. After download is complete, you may use Bitcoin Core as your wallet. ![Screenshot 2024-03-16 at 6.05.14 PM](https://hackmd.io/_uploads/HkDD-UQRT.png) ## Ord client 1. Wait for your Bitcoin node to finish syncing 2. If you don't already have [Homebrew](https://brew.sh/), install that first in a new Terminal session (alternatively you can download the installer from the [Ord releases page](https://github.com/ordinals/ord/releases), but Homebrew is my personal preference since it simplifies installing/updating software into a one-line command): `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` 3. Now install Ord: `brew install ord` 4. Create a directory called "Ord" where you want to store the Ordinals index file 5. Download [the latest snapshot of the index (without sats is fine)](https://ordstuff.info/Downloads/indexes/) and unzip it in your "Ord" directory 6. In Terminal, run the Ord client (replace with your actual paths to the Bitcoin directory and the Ord directory): `ord --bitcoin-data-dir /Volumes/NameOfDisk/Bitcoin --data-dir /Volumes/NameOfDisk/Ord server` 7. The Ord client will now (slowly) index only the most recent blocks that weren't included in the snapshot 8. If you need to shut down your computer, shut down your Bitcoin node and Ord client first (CTRL+C in both Terminal sessions); both will resume from the current position when restarted.