diff --git a/CHANGELOG.md b/CHANGELOG.md index 03836c83080..460cfff502b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,21 +19,24 @@ - feat: Add trace filter API supporting RPC method `trace_filter` ([filecoin-project/lotus#12123](https://github.com/filecoin-project/lotus/pull/12123)). Configuring `EthTraceFilterMaxResults` sets a limit on how many results are returned in any individual `trace_filter` RPC API call. -# v1.28.0 / 2024-07-23 -This is the MANDATORY Lotus v1.28.0 release, which will deliver the Filecoin network version 23, codenamed Waffle 🧇. +# v1.28.1 / 2024-07-24 -**This release sets the Mainnet to upgrade at epoch 4154640, corresponding to 2024-08-06T12:00:00Z.** +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](https://github.com/filecoin-project/lotus/pull/12080) for full details. +- All **Storage Providers MUST finish onboarding all sectors that have deal IDs in the `PreCommitSectors` `OnChainSectorInfo`s** 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: - [FIP-0065: Ignore built-in market locked balance in circulating supply calculation](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0065.md) - [FIP-0079: Add BLS Aggregate Signatures to FVM](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0079.md) - [FIP-0084: Remove Storage Miner Actor Method ProveCommitSectors](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0084.md) + - :warning: Please note that onboarding via `ProveCommitSectors` is deprecated in favor of `ProveCommitSectors3`, which was introduced in FIP-0076 and activated in the last network upgrade (NV22). `ProveCommitSectors3` will reject the activation of sectors that were precommitted with deal IDs. + Storage Providers should ensure that their pipeline is updated to adopt the `ProveCommitSector3` flow as soon as possible. Otherwise, they risk losing deal collateral, PCD, and sealing work for sectors that were not fully committed on-chain before the upgrade yet have deal IDs in the precommitted sector on-chain info. This release removes the deprecated `ProveCommitSectors` pipeline, and the new pipeline is fully supported. Prior to this release, the onboarding pipeline would still prefer to use `ProveCommitSectors` for sectors containing deals. If you have any questions, please don't hesitate to reach out in #fil-curio-dev. - [FIP-0085: Convert f090 Mining Reserve Actor to Keyless Account Actor](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0085.md) - [FIP-0091: Add support for legacy Ethereum transactions](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0091.md) - [FIP-0092: NI-PoRep](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0092.md) @@ -78,7 +81,7 @@ All node operators, including storage providers, should be aware that ONE pre-mi - 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 https://github.com/filecoin-project/lotus/issues/12128 + More details on the migration benchmarking can be found in https://github.com/filecoin-project/lotus/issues/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. @@ -86,7 +89,7 @@ For certain node operators, such as full archival nodes or systems that need to ## 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](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0086.md) 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](https://github.com/filecoin-project/go-f3/issues/213) 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](https://github.com/filecoin-project/lotus/discussions/12287) 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. +We are one step closer to reduce Filecoin's finality from 7.5 hours to a minute or so, you can checkout the [FIP](https://github.com/filecoin-project/FIPs/blob/master/FIPS/fip-0086.md) 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](https://github.com/filecoin-project/go-f3/issues/213) 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](https://github.com/filecoin-project/lotus/discussions/12287) 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). @@ -124,7 +127,13 @@ Exchanges and RPC providers are recommended to opt-out of F3 functionality for n - 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 -- Upgrade to go-f3 v0.0.5 #12279 +- dep: f3: Update go-f3 to 0.0.7, enable it on mainnet +- fix: lotus-miner: remove provecommit1 method #12251 + +# v1.28.0 / 2024-07-23 + +Update on 2027-07-24 +This release is retracted, please refer to v1.28.1 for more details # v1.27.2 / 2024-07-17 diff --git a/build/bootstrap/butterflynet.pi b/build/bootstrap/butterflynet.pi index a8f5d50b374..7289b5d95f8 100644 --- a/build/bootstrap/butterflynet.pi +++ b/build/bootstrap/butterflynet.pi @@ -1,2 +1,2 @@ -/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWL5bactqSPNTw5tqyWgaAFDFXBF4vskdcPHZDTQSsqPVY -/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWD4LgpLFUmHdjABn3sdXMYJ6we1H65hKTGwA9XWbgd3hx +/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWGW6xMTpjEBqndYkqytbu8PWfJmpK4wKLLLNSkXL2QZtD +/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWFGz9HegR3Rjrtm8b9WXTM6E3kN1sdd6X1JztuCgQaZSB diff --git a/build/genesis/butterflynet.car b/build/genesis/butterflynet.car index fd94559d2d3..910e7629156 100644 Binary files a/build/genesis/butterflynet.car and b/build/genesis/butterflynet.car differ diff --git a/build/openrpc/full.json b/build/openrpc/full.json index 6e935944299..6c9b478fd70 100644 --- a/build/openrpc/full.json +++ b/build/openrpc/full.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.1-dev" + "version": "1.28.2-dev" }, "methods": [ { @@ -6546,7 +6546,7 @@ [ { "ID": 1000, - "Power": 0, + "Power": "0", "PubKey": "Bw==" } ] @@ -6629,7 +6629,7 @@ [ { "ID": 1000, - "Power": 0, + "Power": "0", "PubKey": "Bw==" } ] diff --git a/build/openrpc/gateway.json b/build/openrpc/gateway.json index bdcd6028fe5..ef3f8f79571 100644 --- a/build/openrpc/gateway.json +++ b/build/openrpc/gateway.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.1-dev" + "version": "1.28.2-dev" }, "methods": [ { diff --git a/build/openrpc/miner.json b/build/openrpc/miner.json index b618266598a..a2a5ae75af3 100644 --- a/build/openrpc/miner.json +++ b/build/openrpc/miner.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.1-dev" + "version": "1.28.2-dev" }, "methods": [ { diff --git a/build/openrpc/worker.json b/build/openrpc/worker.json index 0149f30d624..ed08b043887 100644 --- a/build/openrpc/worker.json +++ b/build/openrpc/worker.json @@ -2,7 +2,7 @@ "openrpc": "1.2.6", "info": { "title": "Lotus RPC API", - "version": "1.28.1-dev" + "version": "1.28.2-dev" }, "methods": [ { diff --git a/build/version.go b/build/version.go index f9bc78f5f54..49749e4ad5b 100644 --- a/build/version.go +++ b/build/version.go @@ -7,7 +7,7 @@ import ( ) // NodeBuildVersion is the local build version of the Lotus daemon -const NodeBuildVersion string = "1.28.1-dev" +const NodeBuildVersion string = "1.28.2-dev" func NodeUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { @@ -18,7 +18,7 @@ func NodeUserVersion() BuildVersion { } // MinerBuildVersion is the local build version of the Lotus miner -const MinerBuildVersion = "1.28.1-dev" +const MinerBuildVersion = "1.28.2-dev" func MinerUserVersion() BuildVersion { if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" { diff --git a/chain/lf3/ec.go b/chain/lf3/ec.go index baa483e16e6..69095bab8d3 100644 --- a/chain/lf3/ec.go +++ b/chain/lf3/ec.go @@ -172,7 +172,7 @@ func (ec *ecWrapper) getPowerTableLotusTSK(ctx context.Context, tsk types.TipSet pe := gpbft.PowerEntry{ ID: gpbft.ActorID(id), - Power: claim.QualityAdjPower.Int, + Power: claim.QualityAdjPower, } act, err := state.GetActor(minerAddr) diff --git a/documentation/en/api-v1-unstable-methods.md b/documentation/en/api-v1-unstable-methods.md index 86b50801bcd..9c11eb8f0bd 100644 --- a/documentation/en/api-v1-unstable-methods.md +++ b/documentation/en/api-v1-unstable-methods.md @@ -2304,7 +2304,7 @@ Response: [ { "ID": 1000, - "Power": 0, + "Power": "0", "PubKey": "Bw==" } ] @@ -2335,7 +2335,7 @@ Response: [ { "ID": 1000, - "Power": 0, + "Power": "0", "PubKey": "Bw==" } ] diff --git a/documentation/en/cli-lotus-miner.md b/documentation/en/cli-lotus-miner.md index 159149fa7f3..c9e56114e02 100644 --- a/documentation/en/cli-lotus-miner.md +++ b/documentation/en/cli-lotus-miner.md @@ -7,7 +7,7 @@ USAGE: lotus-miner [global options] command [command options] [arguments...] VERSION: - 1.28.1-dev + 1.28.2-dev COMMANDS: init Initialize a lotus miner repo diff --git a/documentation/en/cli-lotus-worker.md b/documentation/en/cli-lotus-worker.md index 0fb8db8df09..b7f09454651 100644 --- a/documentation/en/cli-lotus-worker.md +++ b/documentation/en/cli-lotus-worker.md @@ -7,7 +7,7 @@ USAGE: lotus-worker [global options] command [command options] [arguments...] VERSION: - 1.28.1-dev + 1.28.2-dev COMMANDS: run Start lotus worker diff --git a/documentation/en/cli-lotus.md b/documentation/en/cli-lotus.md index caded8fa767..32e5b773496 100644 --- a/documentation/en/cli-lotus.md +++ b/documentation/en/cli-lotus.md @@ -7,7 +7,7 @@ USAGE: lotus [global options] command [command options] [arguments...] VERSION: - 1.28.1-dev + 1.28.2-dev COMMANDS: daemon Start a lotus daemon process diff --git a/go.mod b/go.mod index 36162a63626..dffa69771d3 100644 --- a/go.mod +++ b/go.mod @@ -6,6 +6,8 @@ retract v1.14.0 // Accidentally force-pushed tag, use v1.14.1+ instead. retract v1.20.2 // Wrongfully cherry picked PR, use v1.20.2+ instead. +retract v1.28.0 // misses some bug fixes and features, use v1.28.1+ instead + replace github.com/filecoin-project/test-vectors => ./extern/test-vectors // provided via a git submodule replace github.com/filecoin-project/filecoin-ffi => ./extern/filecoin-ffi // provided via a git submodule @@ -41,7 +43,7 @@ require ( github.com/filecoin-project/go-commp-utils v0.1.3 github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082a837 github.com/filecoin-project/go-crypto v0.0.1 - github.com/filecoin-project/go-f3 v0.0.6 + github.com/filecoin-project/go-f3 v0.0.7 github.com/filecoin-project/go-fil-commcid v0.1.0 github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0 github.com/filecoin-project/go-jsonrpc v0.3.2 diff --git a/go.sum b/go.sum index fd12fcfd3c8..e901fe5e0ad 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082 github.com/filecoin-project/go-crypto v0.0.0-20191218222705-effae4ea9f03/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= github.com/filecoin-project/go-crypto v0.0.1 h1:AcvpSGGCgjaY8y1az6AMfKQWreF/pWO2JJGLl6gCq6o= github.com/filecoin-project/go-crypto v0.0.1/go.mod h1:+viYnvGtUTgJRdy6oaeF4MTFKAfatX071MPDPBL11EQ= -github.com/filecoin-project/go-f3 v0.0.6 h1:j+HfGT8OMxq/Y7GhT2B7FTcM4ci7i5AV27OFog5sIwI= -github.com/filecoin-project/go-f3 v0.0.6/go.mod h1:oO+Ch7aa6GRp9xRRLbdQBsrte0oGg7+hsA8PZ9Zy6xc= +github.com/filecoin-project/go-f3 v0.0.7 h1:dqmxtQXfX1r3hhFZvCszqryg80MZJmfcPFL3nhyHCVA= +github.com/filecoin-project/go-f3 v0.0.7/go.mod h1:ihW5IGLBEuW8pVc9t5MQiAhdzv95EBBfnnrGfMfEbTY= github.com/filecoin-project/go-fil-commcid v0.0.0-20201016201715-d41df56b4f6a/go.mod h1:Eaox7Hvus1JgPrL5+M3+h7aSPHc0cVqpSxA+TxIEpZQ= github.com/filecoin-project/go-fil-commcid v0.1.0 h1:3R4ds1A9r6cr8mvZBfMYxTS88OqLYEo6roi+GiIeOh8= github.com/filecoin-project/go-fil-commcid v0.1.0/go.mod h1:Eaox7Hvus1JgPrL5+M3+h7aSPHc0cVqpSxA+TxIEpZQ=