This guide will walk through how to update the most common dependencies in Lotus. These are the dependencies this guide currently covers:
Updating these dependencies in Lotus is usually related to network upgrades. See building a network upgrade skeleton in Lotus context for information on the versions and relationships at play.
-
The Ref-FVM dependency is updated through Filecoin-FFI. So, if you need to update Ref-FVM, you would need create a Filecoin-FFI PR similar to this: PR updating Ref-FVM in Filecoin-FFI
-
After the PR has been merged you would need to create a new Filecoin-FFI release.
-
After the Filecoin-FFI release is out, you can follow the process outlined in Filecoin-FFI.
-
In Lotus´s go.mod file, search for
filecoin-ffi
and update the version to your wanted version. -
Run
go mod tidy
, and commit your changes. -
In your
lotus
directory,cd extern/filecoin-ffi
. -
git fetch
to ensure you have the latests changes for filecoin-ffi. -
git checkout vX.Y.Z
to checkout the version you want to update to. -
Then commit the update to your Lotus branch and open a PR for updating Filecoin-FFI.
👉 Example of a PR updating Filecoin-FFI
👉 If you need to create a Filecoin-FFI release, you can follow the release process.
-
In Lotus´s go.mod file, search for
go-state-types
and update the version to your wanted version. -
Run
go mod tidy
, and commit your changes.
👉 Example of a PR updating Go-State-Types
👉 If you need to create a Go-State-Types release, you can follow the steps to create a new Go-State-Types release.
-
In your
lotus
directory,cd build/actors
. -
Run this script
./pack.sh vXX vX.Y.Z-rcX
to pull in the builtin-actors bundle into your Lotus repo.
vXX
is the network version you are bundling this builtin-actors for.vX.Y.Z-rcX
is the builtin-actors release you are bundling.
👉 Example of a PR updating Builtin-Actors bundle
👉 If you need to create a Builtin-Actors release, you can follow the steps to create a new Builtin-Actors release.