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.
Cross-check your config file
All upgrade types require you to double-check that your configuration files are up-to-date. You can do this by exporting the default configuration files from Lotus and comparing them to your configuration files.
To export the default configuration files from Lotus, run:
lotus-miner config default
This will output something like:
[API] # Binding address for the Lotus API # # type: string # env var: LOTUS_API_LISTENADDRESS #ListenAddress = "/ip4/127.0.0.1/tcp/2345/http" ...
If you would prefer to have Lotus export the default configuration to a file, run:
lotus-miner config default >> ~/default-lotus-miner-configuration.toml
Once you have the default configuration file, compare it with your configuration file and make sure that you’re not missing any sections. See the Lotus release notes for details on what new sections have been added.
- Safely shutdown your Lotus Miner as explained here.
- Shutdown any seal workers
- Shutdown your Lotus Node (
lotus daemon stopor
systemctl stop lotus-daemon)
- 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
- Start the Lotus daemon and wait for sync:
lotus daemon # or when using systemctl systemctl start lotus-daemon
lotus sync wait
- Start your miner and your workers
Upgrade with reset
- Backing up your Lotus wallets
- You may want to backup your Lotus Node and Miner configurations as well.
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.