Setting up Lotus on MacOS

Documenting working with Lotus Filecoin client on MacOS. This is for chain syncing, development on testnet, and as a client, not for mining

I’ve done an initial setup of Lotus on MacOS. The install docs list minimal requirements.

My desktop machine specs are as follows:

  • Mac Mini (2018), bought Q3 2020 – upgraded with 32GB of RAM, “regular” internal SSD 512GB
  • 3.2GHz 6-core Intel Core i7 (recommended minimum is 8-core)
  • External eGPU with AMD Radeon EX 5700 XT 8GB

I read a bit about whether or not big GPUs help, and the answer is “it depends”. I have noticed the fan in my eGPU powering up when working with the chain, so the GPU appears to be doing something!

For storage, I have a Thunderbolt external NVMe case with 2TB, which is where I’m storing mainnet and testnet for now. I have some external SSD enclosures that I may save state on as well in the future.

I followed the MacOS setup instructions.

I used Homebrew to install and everything completed all the way through to the end of make all and sudo make install, which installed in /usr/local/bin, so the lotus command was globally available to my shell.

I ran the daemon to import a snapshot, reading chain management - syncing from trusted snapshot.

~/.lotus was created in my home dir on my main drive, and I let it download the snapshot of about 40GB in two runs. Pleasantly surprised to see that this resumes no problem.

This was all in my home directory, so before going any further I copied the entire ~/.lotus directory to the external NVMe drive. /Volumes/Corsair/Filecoin/Lotus/mainnet (mainnet folder contains .lotus contents)

I then looked at the advanced options - environment variables to find the LOTUS_PATH variable.

Running as follows:

LOTUS_PATH=/Volumes/Corsair/Filecoin/Lotus/mainnet lotus daemon

Confirmed by time stamps that this started syncing / storing into the mainnet folder in the external drive.

I turned this into a file, lotusmain.sh, with the following contents:

#!/bin/sh
LOTUS_PATH=/Volumes/Corsair/Filecoin/Lotus/mainnet /usr/local/bin/lotus daemon

Next:

  • setup testnet
  • figure out wallets
  • get faucet funds from testnet
2 Likes