github filecoin-project/lotus v1.28.1

latest releases: v1.29.0, v1.29.0-rc1, v1.28.2...
one month ago

This is the MANDATORY Lotus v1.28.1 release, which will deliver the Filecoin network version 23, codenamed Waffle 🧇. v1.28.1 is also the minimal version that supports nv23.
This release sets the Mainnet to upgrade at epoch 4154640, corresponding to 2024-08-06T12:00:00Z.

☢️ Upgrade Warnings ☢️

  • If you are running the v1.26.x version of Lotus, please go through the Upgrade Warnings section for the v1.27.* releases, before upgrading to this RC.
  • Note that v1.28.0 needed a bug fix and a feature enhancement to ensure a smooth support for nv23 and it was retracted. Please update your node to v1.28.1 or above before the nv23 upgrade!
  • This upgrade includes an additional migration to the events database. Node operators running Lotus with events turned on (off by default) may experience some delay in initial start-up of Lotus as a minor database migration takes place. See filecoin-project/lotus#12080 for full details.
  • All Storage Providers MUST finish onboarding all sectors that have deal IDs in the PreCommitSectors OnChainSectorInfos before upgrading the lotus miner OR THEY WILL BE WASTED. Please see more details in the next section.

The Filecoin network version 23 delivers the following FIPs:

Note that we are only doing a "soft launch"/"passive testing" for F3 (Fast Finality) i.e. FIP-0086 in NV23. Please see this doc for more details.

v14 Builtin Actor Bundle

Builtin actor v14.0.0 is used for supporting this upgrade. Make sure that your lotus actor bundle matches the v14 actors manifest by running the following cli after upgrading:

lotus state actor-cids --network-version=23
Network Version: 23
Actor Version: 14
Manifest CID: bafy2bzacecbueuzsropvqawsri27owo7isa5gp2qtluhrfsto2qg7wpgxnkba

Actor             CID  
account           bafk2bzacebr7ik7lng7vysm754mu5x7sakphwm4soqi6zwbox4ukpd6ndwvqy
cron              bafk2bzacecwn6eiwa7ysimmk6i57i5whj4cqzwijx3xdlxwb5canmweaez6xc
datacap           bafk2bzacecidw7ajvtjhmygqs2yxhmuybyvtwp25dxpblvdxxo7u4gqfzirjg
eam               bafk2bzaced2cxnfwngpcubg63h7zk4y5hjwwuhfjxrh43xozax2u6u2woweju
ethaccount        bafk2bzacechu4u7asol5mpcsr6fo6jeaeltvayj5bllupyiux7tcynsxby7ko
evm               bafk2bzacedupohbgwrcw5ztbbsvrpqyybnokr4ylegmk7hrbt3ueeykua6zxw
init              bafk2bzacecbbcshenkb6z2v4irsudv7tyklfgphhizhghix6ke5gpl4r5f2b6
multisig          bafk2bzaceajcmsngu3f2chk2y7nanlen5xlftzatytzm6hxwiiw5i5nz36bfc
paymentchannel    bafk2bzaceavslp27u3f4zwjq45rlg6assj6cqod7r5f6wfwkptlpi6j4qkmne
placeholder       bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
reward            bafk2bzacedvfnjittwrkhoar6n5xrykowg2e6rpur4poh2m572f7m7evyx4lc
storagemarket     bafk2bzaceaju5wobednmornvdqcyi6khkvdttkru4dqduqicrdmohlwfddwhg
storageminer      bafk2bzacea3f43rxzemmakjpktq2ukayngean3oo2de5cdxlg2wsyn53wmepc
storagepower      bafk2bzacedo6scxizooytn53wjwg2ooiawnj4fsoylcadnp7mhgzluuckjl42
system            bafk2bzacecak4ow7tmauku42s3u2yydonk4hx6ov6ov542hy7lcbji3nhrrhs
verifiedregistry  bafk2bzacebvyzjzmvmjvpypphqsumpy6rzxuugnehgum7grc6sv3yqxzrshb4

Migration

All node operators, including storage providers, should be aware that ONE pre-migration is being scheduled 120 epochs before the network upgrade. The migration for the NV23 upgrade is expected to be light with no heavy pre-migrations, here are some expected timings and resource consumption numbers:

  • Pre-migration is expected to take less than 1 minute.
  • The migration is expected to take less than 30 seconds on a node with an NVMe drive and a newer CPU. For nodes running on slower disks/CPU, it is still expected to take less than 1 minute.
  • Max memory usage during benchmarking the migration in "offline mode" (i.e., node not syncing) was 23GiB.
  • Max memory usage when benchmarking the migration in "online mode" (i.e., while the node is syncing) was 30GiB. Numbers here might vary depending on the load your node is under.
    More details on the migration benchmarking can be found in #12128

We recommend node operators (who haven't enabled splitstore discard mode) that do not care about historical chain states, to prune the chain blockstore by syncing from a snapshot 1-2 days before the upgrade.

For certain node operators, such as full archival nodes or systems that need to keep large amounts of state (RPC providers), we recommend skipping the pre-migration and running the non-cached migration (i.e., just running the migration at the network upgrade epoch), and scheduling some additional downtime. Operators of such nodes can read the How to disable premigration in network upgrade tutorial.

Fast Finality for Filecoin (f3) soft launch

We are one step closer to reduce Filecoin's finality from 7.5 hours to a minute or so, you can checkout the FIP for more details. Changing the consensus protocol is not trivial, and the f3 implementation team has designed a passive testing plan to verify the protocol and give time for client implementation teams to integrate and test F3 before it is fully activated in the network consensus. That said, the lotus team has implemented f3 & the manifest for passive testing in this release, and we would like to ask node operators, especially storage providers, to participate in the testing by participating in F3 on the mainnet (which is enabled by default in this release)! We will keep updating this discussion to capture "what can you expect" & testing status. If you notice any unexpected behaviour caused by f3, please do not hesitate to reach out to us in #fil-fast-finality.

F3 (Fast Finality) is experimental in this release. All the new F3 APIs are unstable and subject to until nv24 release (assuming f3 will be fully activated in this upgrade).

Exchanges and RPC providers are recommended to opt-out of F3 functionality for now. You can disable F3 by adding the LOTUS_DISABLE_F3 = 1 environment variable.

Dependencies

  • github.com/filecoin-project/go-state-types (v0.14.0-dev -> v0.14.0)
  • github.com/filecoin-project/filecoin-ffi (v1.27.0-rc2 -> v1.28.0)
  • github.com/filecoin-project/go-libp2p2 (v0.35.3 -> v0.35.4)
  • ref-fvm4 (as part of filecoin-ffi) (4.2.0 -> 4.3.1)
  • A new github.com/filecoin-project/go-f3 dependency for F3 soft launch (v0.0.5)

Others

  • Soft launch of F3 (#12119)
  • NI-PoRep changes (#12130)
  • Fixes for the ETH events API (#12080)
  • Support for legacy Ethereum transactions (#11969)
  • Ignore market balance after nv23 (#11976)
  • Add finality-related params for eth_getBlockByNumber (#12110)
  • rename Actor.Address to Actor.DelegatedAddress and only use it for f4 addresses (#12155)
  • feat:ec: integrate F3 dynamic manifest #12185
  • fix: f3: Fix F3 build parameters for testground target (#12189) (filecoin-project/lotus#12189)
  • fix: eth_getLogs: #12212
  • chore: lotus-shed: Add support for nv23 in migrate-state cmd #12172
  • feat: F3: Update go-f3, change the style of participation call #12196
  • chore: f3: Upgrade go mod F3 dependency to v0.0.3 tagged release #12216
  • fix: Eth Trace Block: nil access panic #12221
  • chore!: markets: remove stray unixfs constants, features and references #12217
  • chore: metrics: Upgrade to OpenTelemetry v1.28.0 #12223
  • fix: bug: Reduce log level in F3 message sending to Debug #12224
  • [skip changelog] chore: config: yet more lp2p removal from miner #12252
  • fix(store): correctly break weight ties based on smaller ticket #12253
  • fix: exchange bug #12275
  • chore: deps: Update GST, Filecoin-FFI and Actors to final versions NV23 #12276
  • metrics: f3: Set up otel metrics reporting to prometheus #12285
  • dep: f3: Update go-f3 to 0.0.7, enable it on mainnet
  • fix: lotus-miner: remove provecommit1 method #12251

Don't miss a new lotus release

NewReleases is sending notifications on new releases.