Skip to content

v1.25.1-rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@rjan90 rjan90 released this 05 Dec 21:54
· 1314 commits to master since this release
2d75cc5

This is the first release candidate of the upcoming optional release of Lotus v1.25.1. This feature release includes numerous improvements and enhancements for node operators, ETH RPC-providers and storage providers.

☢️ Upgrade Warnings ☢️

There are no upgrade warnings as of this first release candidate.

⭐️ Highlights ⭐️

Lotus-Provider

The feature release ships the alpha release of the new Lotus-Provider binary, together with its initial features - High Availability of WindowPoSt and WinningPoSt.

Over the next couple of days, we will build up a catalogue of documentation for how you can test out Lotus-Provider. Once out, they will be linked in this section here, and sent as an update in the relevant Slack channels. If you are interested in testing out Lotus-Provider in your setup on the Calibration network feel free to reach out to us in the #fil-lotus-dev channel.

So what is so exciting about Lotus-Provider:

High Availability

  • You can run as many Lotus-Provider instances as you want for both WindowPoSt and WinningPOSt.
  • You can connect them to as many clustered Yugabyte instances as you want to. This allows for an NxN configuration where all instances can communicate with all others.
  • You have the option to connect different instances to different chain daemons.

Simplicity

  • Once the configuration is in the database, setting up a new machine with Lotus-Provider is straightforward. Simply start the binary with the correct flags to find YugabyteDB and specify which configuration layers it should use.

Durability

  • Lotus-Provider is designed with robustness in mind. Updates to the system are handled seamlessly, ensuring that performance and stability are maintained when taking down machines in your cluster for updates.

External PC2-binaries

In this release candidate, storage providers have the ability to call external PC2-binaries during the sealing process. This allows storage providers to leverage the SupraSeal PC2 binary, which has been shown to improve sealing speed in the PC2-phase. For instance, our current benchmarks show that an NVIDIA RTX A5000 card was able to complete PC2 in approximately 2.5 minutes.

We have verified that SupraSeal PC2 functions properly with Committed Capacity (CC) sectors that are non-Synthetic, and with SyntheticPoReps that is introduced in the upcoming nv21-version.

However, we have encountered errors when using SupraSeal PC2 with deal sectors. As a result, we advise against using SupraSeal PC2 through the lotus-worker with deal sectors in the sealing pipeline, except in testing environments. We plan to update this guideline in future release candidates, once we have a fix for deal sectors.

For more information on how to use SupraSeal PC2 with your lotus-worker, as well as how to perform benchmarks using this feature, please refer to the documentation.

New features

  • feat: sturdypost work branch (filecoin-project/lotus#11405)
    • Adds the Lotus-Provider binary, and the HarmonyDB framework.
  • feat: worker: Support delegating precommit2 to external binary (filecoin-project/lotus#11185)
    • Allows for delegating PreCommit2 to an exteranl binary.
  • feat: build: Add SupraSeal-PC2 binary script (filecoin-project/lotus#11430)
    • Adds a script for building the SupraSeal-PC2 binary easily.
  • Feat: daemon: Auto remove existing chain if importing chain file or snapshot (filecoin-project/lotus#11277)
    • Auto removes the existing chain when importing a snapshot.
  • feat: Add ETA to lotus sync wait (#11211) (filecoin-project/lotus#11211)
    • Adds a ETA indicator to lotus sync wait, so you can get an estimate for how long until sync is completed.
  • feat: mpool/wdpost: Maximize feecap config (filecoin-project/lotus#9746)
    • Adds a Maximixe FeeCap Config
  • feat: Add lotus-bench cli option to stress test any binary (filecoin-project/lotus#11270)
    • Enables the Lotus-Bench to run any binary and analyze their latency and histogram distribution, track most common errors, perform stress testing under different concurrency levels and see how it works under different QPS.
  • feat: chain import: don't walk to genesis - 2-3x faster snapshot import (#11446) (filecoin-project/lotus#11446)
    • Improves Snapshot import speed, by not walking back to genesis on import.
  • feat: metric: export Mpool message count (filecoin-project/lotus#11361)
    • Adds the mpool count as a prometheus metric.
  • feat: bench: flag to output GenerateWinningPoStWithVanilla params (filecoin-project/lotus#11460)

Improvements

Dependencies

Others

Contributors

Contributor Commits Lines ± Files Changed
Andrew Jackson (Ajax) 161 +24328/-12464 4148
Łukasz Magiera 99 +5238/-2690 260
Shrenuj Bansal 27 +3402/-1265 76
Fridrik Asmundsson 15 +1148/-307 58
Steven Allen 15 +674/-337 35
Ian Norden 1 +625/-3 4
Aarsh Shah 4 +227/-167 14
Phi 19 +190/-183 32
Aayush Rajasekaran 3 +291/-56 16
Mikers 2 +76/-262 19
Aayush 14 +111/-59 21
Friðrik Ásmundsson 1 +101/-1 2
Alejandro Criado-Pérez 1 +36/-36 27
Jie Hou 5 +36/-10 5
Florian RUEN 2 +24/-19 5
Phi-rjan 3 +20/-8 3
Icarus9913 1 +11/-11 6
Jiaying Wang 3 +8/-7 5
guangwu 1 +3/-10 2
Marten Seemann 1 +6/-6 2
simlecode 1 +0/-6 2
GlacierWalrus 2 +0/-5 2
Anton Evangelatov 1 +2/-2 1
Ales Dumikau 3 +2/-2 3
renran 1 +2/-1 1
Volker Mische 1 +1/-1 1
Icarus Wu 1 +1/-1 1
Hubert 1 +1/-1 1
Aloxaf 1 +1/-1 1
Alejandro 1 +1/-1 1
lazavikmaria 1 +1/-0 1