Skip to content

Tracking Issue: update go-libp2p to v0.25 #10199

@marten-seemann

Description

@marten-seemann

Checklist

  • This is not a new feature or an enhancement to the Filecoin protocol. If it is, please open an FIP issue.
  • This is not a new feature request. If it is, please file a feature request instead.
  • This is not brainstorming ideas. If you have an idea you'd like to discuss, please open a new discussion on the lotus forum and select the category as Ideas.
  • I have a specific, actionable, and well motivated improvement to propose.

Lotus component

  • lotus daemon - chain sync
  • lotus miner - mining and block production
  • lotus miner/worker - sealing
  • lotus miner - proving(WindowPoSt)
  • lotus miner/market - storage deal
  • lotus miner/market - retrieval deal
  • lotus miner/market - data transfer
  • lotus client
  • lotus JSON-RPC API
  • lotus message management (mpool)
  • Other

Improvement Suggestion

The next go-libp2p update will require some more work, since we'll need to completely get rid of the (now deprecated) go-libp2p-core. go-libp2p-core was moved into go-libp2p as part of our mono-repo consolidation effort. Due to subsequent changes made to the core interfaces, go build will now fail even if there's any (transitive or non-transitive) dependency on go-libp2p-core.
This means we'll need to update all Lotus dependencies to not use go-libp2p-core any more. This is a painful exercise, but it has to be done once. The good news is that updating go-libp2p in the future will be much easier since as a mono-repo, there are less failure points.

Updating to v0.25 will be required to build with Go 1.20.

This list is not complete yet. I'll add links to PRs here when they are created.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions