Skip to content

Commit

Permalink
backport: f3: Upgrade to go-f3 v0.0.5 (#12279) (#12288)
Browse files Browse the repository at this point in the history
* chore: f3: Upgrade to go-f3 `v0.0.5` (#12279)

* Upgrade to go-f3 `v0.0.5`

Upgrade to the latest version of go-f3 with initial power table storage with far enough lookback, and dynamic manifest persistence.

---------

Co-authored-by: Jakub Sztandera <oss@kubuxu.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Steven Allen <steven@stebalien.com>

* remove unwanted changelog

* fix import

* Revert "chore!: markets: remove deal constants"

This reverts commit d045ccb.

* Revert "chore: config: yet more lp2p removal from miner"

This reverts commit 70400c9.

* fix eth trace panic

* Update CHANGELOG.md

Co-authored-by: Jakub Sztandera <oss@kubuxu.com>

* Update CHANGELOG.md

---------

Co-authored-by: Masih H. Derkani <m@derkani.org>
Co-authored-by: Jakub Sztandera <oss@kubuxu.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Phi <orjan.roren@gmail.com>
Co-authored-by: aarshkshah1992 <aarshkshah1992@gmail.com>
  • Loading branch information
6 people authored Jul 24, 2024
1 parent 12ca19a commit abd9c56
Show file tree
Hide file tree
Showing 18 changed files with 786 additions and 602 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,14 @@ We recommend node operators (who haven't enabled splitstore discard mode) that d

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.](https://lotus.filecoin.io/kb/disable-premigration/)

## 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.

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 `DISABLE_F3 = 1` environment variable, which will output a log saying that F3 has been disabled.

## Dependencies

- github.com/filecoin-project/go-state-types (`v0.14.0-dev` -> `v0.14.0`)
Expand Down Expand Up @@ -97,6 +105,7 @@ For certain node operators, such as full archival nodes or systems that need to
- 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

# v1.27.1 / 2024-06-24

Expand Down
8 changes: 6 additions & 2 deletions api/api_full.go
Original file line number Diff line number Diff line change
Expand Up @@ -862,6 +862,8 @@ type FullNode interface {
// This is an EXPERIMENTAL API and may be subject to change.
SubscribeActorEventsRaw(ctx context.Context, filter *types.ActorEventFilter) (<-chan *types.ActorEvent, error) //perm:read

//*********************************** ALL F3 APIs below are not stable & subject to change ***********************************

// F3Participate should be called by a storage provider to participate in signing F3 consensus.
// Calling this API gives the lotus node a lease to sign in F3 on behalf of given SP.
// The lease should be active only on one node. The lease will expire at the newLeaseExpiration.
Expand All @@ -879,8 +881,10 @@ type FullNode interface {
F3GetCertificate(ctx context.Context, instance uint64) (*certs.FinalityCertificate, error) //perm:read
// F3GetLatestCertificate returns the latest finality certificate
F3GetLatestCertificate(ctx context.Context) (*certs.FinalityCertificate, error) //perm:read
// F3GetPowerTable returns a F3 specific power table for use in standalone F3 nodes.
F3GetPowerTable(ctx context.Context, tsk types.TipSetKey) (gpbft.PowerEntries, error) //perm:read
// F3GetECPowerTable returns a F3 specific power table for use in standalone F3 nodes.
F3GetECPowerTable(ctx context.Context, tsk types.TipSetKey) (gpbft.PowerEntries, error) //perm:read
// F3GetF3PowerTable returns a F3 specific power table.
F3GetF3PowerTable(ctx context.Context, tsk types.TipSetKey) (gpbft.PowerEntries, error) //perm:read
}

// reverse interface to the client, called after EthSubscribe
Expand Down
41 changes: 28 additions & 13 deletions api/mocks/mock_full.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

37 changes: 25 additions & 12 deletions api/proxy_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions build/bootstrap/butterflynet.pi
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWNwAkUtWuLtKCyyFP2vBzmpTHSrQao7KQx7Xfa8YvSg1N
/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWPn8BDeNcctAcAGuxxiic8uMw2pAi3G5vgdFtfgRs5zBu
/dns4/bootstrap-0.butterfly.fildev.network/tcp/1347/p2p/12D3KooWFDd8o5vxQ191fquVqMcXjT2Gc1uYPmgfD3ZF5VHhRXQ9
/dns4/bootstrap-1.butterfly.fildev.network/tcp/1347/p2p/12D3KooWM51uUDv1MkR3LduP27pvXPUFD4HuBa1UjBQEVKFg4yM2
Binary file modified build/genesis/butterflynet.car
Binary file not shown.
Loading

0 comments on commit abd9c56

Please sign in to comment.