# Lotus Miner: upgrades

This guide covers how to safely upgrade Lotus when running a miner.

The are two types of upgrades. The upgrade in-place is the default procedure and just updates the software. The upgrade with reset removes all the data and starts from scratch:

# Upgrade in-place

  1. Safely shutdown your Lotus Miner as explained here.
  2. Shutdown any seal workers
  3. Shutdown your Lotus Node (lotus daemon stop or systemctl stop lotus-daemon)
  4. Pull the new version and rebuild. For more information read the Lotus installation guide again:
export RUSTFLAGS="-C target-cpu=native -g"
export FFI_BUILD_FROM_SOURCE=1
git pull
git checkout <tag_or_branch>
git submodule update
make clean
make all
make install
  1. Start the Lotus daemon and wait for sync:
lotus daemon
# or when using systemctl
systemctl start lotus-daemon
lotus sync wait
  1. Start your miner and your workers
lotus-miner run
lotus-worker run

# Upgrade with reset

WARNING

This upgrade procedure should only be used as a last resort or when the chain has been upgraded and requires such action to be taken.

It is similar to re-installing everything from scratch, so you can follow the usual installation and miner-setup guides after it. Before you do this, consider:

Once you are ready, stop everything and delete the data folders (or rename them):

# Assuming you are using the default data folders
rm -rf ~/.lotus
rm -rf ~/.lotusminer
rm -rf ~/.lotusworker

After that Lotus applications will start from scratch.