Skip to content

Releases: filecoin-project/lotus

v1.31.1

27 Jan 16:20
5103a2e
Compare
Choose a tag to compare

This Lotus release introduces several new features and improvements, including JSON output for tipsets in lotus chain list cmd, enhanced logging during network upgrade migrations, and additional Bootstrap nodes. It also includes a refactored Ethereum API implementation into smaller, more manageable modules in a new github.com/filecoin-project/lotus/node/impl/eth package, as well as adding network name as a tag in most metrics - making it easier to create Graphana Dashboards for multiple networks. Please review the upgrade warnings and documentation for any important changes affecting RPC providers, node operators, and storage providers.

☢️ Upgrade Warnings ☢️

  • If you are running the v1.30.x version of Lotus, please go through the Upgrade Warnings section for the v1.30.* releases and v1.31.* before upgrading to this release.

⭐ Feature/Improvement Highlights:

🐛 Bug Fix Highlights

  • Remove IPNI advertisement relay over pubsub via Lotus node as it now has been deprecated. (filecoin-project/lotus#12768
  • Make EthTraceFilter / trace_filter skip null rounds instead of erroring. (filecoin-project/lotus#12702)
  • Event APIs (GetActorEventsRaw, SubscribeActorEventsRaw, eth_getLogs, eth_newFilter, etc.) will now return an error when a request matches more than MaxFilterResults (default: 10,000) rather than silently truncating the results. Also apply an internal event matcher for eth_getLogs (etc.) to avoid builtin actor events on database query so as not to include them in MaxFilterResults calculation. (filecoin-project/lotus#12671)
  • ChainIndexer#GetMsgInfo returns an ErrNotFound when there are no rows. (filecoin-project/lotus#12680)
  • Gracefully handle EAM CreateAccount failures in EthTraceBlock (trace_block) and EthTraceTransaction (trace_transaction) calls. (filecoin-project/lotus#12730)
  • Make f3 gen power command being non-deterministic (filecoin-project/lotus#12764)
  • Resolve a bug in sync by preventing checkpoint expansion (filecoin-project/lotus#12747)
  • Fix issue in backfillIndex where error handling could lead to a potential panic (filecoin-project/lotus#12813)

📝 Changelog

For the full set of changes since the last stable node release:

v1.31.0...v1.31.1

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Rod Vagg 26 +13687/-11008 146
Masih H. Derkani 19 +2492/-1506 59
Aryan Tikarya 2 +2120/-1407 45
Krishang Shah 1 +3214/-117 66
Steven Allen 4 +1317/-1632 22
Jakub Sztandera 10 +935/-1203 176
Łukasz Magiera 2 +949/-467 33
Phi-rjan 9 +369/-339 43
Piotr Galar 4 +586/-106 12
Viraj Bhartiya 3 +219/-63 16
caseylove 1 +71/-67 1
asamuj 2 +39/-43 14
ZenGround0 2 +73/-1 3
XiaoBei 2 +15/-15 7
wmjae 2 +9/-9 7
taozui472 1 +9/-9 6
dependabot[bot] 2 +9/-9 4
huajin tong 1 +6/-6 6
Phi 1 +6/-6 6
Andi 1 +6/-6 2
root 1 +5/-5 4
chuangjinglu 1 +3/-3 3
wgyt 1 +2/-2 1
parthshah1 1 +2/-2 1
leo 1 +2/-2 2
pinglanlu 1 +1/-1 1

v1.31.1-rc1

21 Jan 09:20
b81f548
Compare
Choose a tag to compare
v1.31.1-rc1 Pre-release
Pre-release

This Lotus release candidate introduces several new features and improvements, including JSON output for tipsets in lotus chain list cmd, enhanced logging during network upgrade migrations, and additional Bootstrap nodes. It also includes a refactored Ethereum API implementation into smaller, more manageable modules in a new github.com/filecoin-project/lotus/node/impl/eth package, as well as adding network name as a tag in most metrics - making it easier to create Graphana Dashboards for multiple networks.

Please review the upgrade warnings and documentation for any important changes affecting RPC providers, node operators, and storage providers.

☢️ Upgrade Warnings ☢️

  • If you are running the v1.30.x version of Lotus, please go through the Upgrade Warnings section for the v1.30.* releases and v1.31.* before upgrading to this release.

⭐ Feature/Improvement Highlights:

🐛 Bug Fix Highlights

  • Remove IPNI advertisement relay over pubsub via Lotus node as it now has been deprecated. (filecoin-project/lotus#12768
  • Make EthTraceFilter / trace_filter skip null rounds instead of erroring. (filecoin-project/lotus#12702)
  • Event APIs (GetActorEventsRaw, SubscribeActorEventsRaw, eth_getLogs, eth_newFilter, etc.) will now return an error when a request matches more than MaxFilterResults (default: 10,000) rather than silently truncating the results. Also apply an internal event matcher for eth_getLogs (etc.) to avoid builtin actor events on database query so as not to include them in MaxFilterResults calculation. (filecoin-project/lotus#12671)
  • ChainIndexer#GetMsgInfo returns an ErrNotFound when there are no rows. (filecoin-project/lotus#12680)
  • Gracefully handle EAM CreateAccount failures in EthTraceBlock (trace_block) and EthTraceTransaction (trace_transaction) calls. (filecoin-project/lotus#12730)
  • Make f3 gen power command being non-deterministic (filecoin-project/lotus#12764)
  • Resolve a bug in sync by preventing checkpoint expansion (filecoin-project/lotus#12747)
  • Fix issue in backfillIndex where error handling could lead to a potential panic (filecoin-project/lotus#12813)

📝 Changelog

For the full set of changes since the last stable node release:

v1.31.0...v1.31.1

v1.32.0-rc2

13 Dec 09:06
a9718c8
Compare
Choose a tag to compare
v1.32.0-rc2 Pre-release
Pre-release

This release candidate cancels the upgrade epoch for the Calibration network, orginially planned to happen on 2024-12-16T23:00:00Z. Please read the full announcement here.

Calibration network node operators that has already upgraded to Lotus v1.32.0-rc1, need to update to the Lotus v1.32.0-rc2 by 2024-12-16T23:00:00Z. Node. Calibration network node operators that has not upgraded to the Lotus v1.32.0-rc1, can stay on the release that they are already on.

Note

  1. This release candidate unsets the Calibration network upgrade epoch, originally planned to happen on 2024-12-16T23:00:00Z.
  2. This release candidate does NOT set the mainnet network upgrade epoch. It will be added in the final release (expected December 18th).

☢️ Upgrade Warnings ☢️

  • If you have EnableEthRPC set to true in your config.toml, you need to ensure that EnableIndexer in the new ChainIndexer configuration section is also set to true. Failing to do so will result in an error during node initialization. You can read more about the new improved ChainIndexer feature in the documentation for it here.
  • If you are running the v1.30.x version of Lotus, please go through the Upgrade Warnings section for the v1.30.* releases and v1.31.* before upgrading to this release.

🏛️ Filecoin network version 25 FIPs

  • TBD

📦 v16 Builtin Actor Bundle

This release candidate uses the v16.0.0-rc1

🚚 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 NV25 upgrade is expected to be light with no heavy pre-migrations:

  • Pre-Migration is expected to take less then 1 minute.
  • The migration on the upgrade epoch is expected to take less than 30 seconds on a node with a NVMe-drive and a newer CPU. For nodes running on slower disks/CPU, it is still expected to take less then 1 minute.

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 run the non-cached migration (i.e., just running the migration at the network upgrade epoch), and schedule for some additional downtime. Operators of such nodes can read the How to disable premigration in network upgrade tutorial.

New Features highlight

Improvements

Bug Fixes

  • Make EthTraceFilter / trace_filter skip null rounds instead of erroring. (filecoin-project/lotus#12702)
  • Event APIs (GetActorEventsRaw, SubscribeActorEventsRaw, eth_getLogs, eth_newFilter, etc.) will now return an error when a request matches more than MaxFilterResults (default: 10,000) rather than silently truncating the results. Also apply an internal event matcher for eth_getLogs (etc.) to avoid builtin actor events on database query so as not to include them in MaxFilterResults calculation. (filecoin-project/lotus#12671)
  • ChainIndexer#GetMsgInfo returns an ErrNotFound when there are no rows. (filecoin-project/lotus#12680)
  • Gracefully handle EAM CreateAccount failures in EthTraceBlock (trace_block) and EthTraceTransaction (trace_transaction) calls. (filecoin-project/lotus#12730)
  • Make f3 gen power command being non-deterministic (filecoin-project/lotus#12764)

📝 Changelog

For the set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Masih H. Derkani 17 +2480/-1075 47
Krishang Shah 1 +3214/-117 66
Steven Allen 4 +1317/-1632 22
Rod Vagg 13 +1164/-307 56
Łukasz Magiera 1 +945/-467 31
Phi-rjan 7 +328/-323 35
Jakub Sztandera 3 +308/-12 7
Aryan Tikarya 1 +281/-2 5
Viraj Bhartiya 1 +29/-14 3
Phi 1 +9/-9 8
huajin tong 1 +6/-6 6
ZenGround0 1 +9/-1 2
chuangjinglu 1 +3/-3 3
pinglanlu 1 +1/-1 1
Piotr Galar 1 +1/-1 1

miner/v1.32.0-rc2

13 Dec 09:06
a9718c8
Compare
Choose a tag to compare
miner/v1.32.0-rc2 Pre-release
Pre-release

This release candidate cancels the upgrade epoch for the Calibration network, orginially planned to happen on 2024-12-16T23:00:00Z. Please read the full announcement here.

Calibration network node operators that has already upgraded to Lotus v1.32.0-rc1, need to update to the Lotus v1.32.0-rc2 by 2024-12-16T23:00:00Z. Node. Calibration network node operators that has not upgraded to the Lotus v1.32.0-rc1, can stay on the release that they are already on.

Note

  1. This release candidate unsets the Calibration network upgrade epoch, originally planned to happen on 2024-12-16T23:00:00Z.
  2. This release candidate does NOT set the mainnet network upgrade epoch. It will be added in the final release (expected December 18th).

☢️ Upgrade Warnings ☢️

  • If you have EnableEthRPC set to true in your config.toml, you need to ensure that EnableIndexer in the new ChainIndexer configuration section is also set to true. Failing to do so will result in an error during node initialization. You can read more about the new improved ChainIndexer feature in the documentation for it here.
  • If you are running the v1.30.x version of Lotus, please go through the Upgrade Warnings section for the v1.30.* releases and v1.31.* before upgrading to this release.

🏛️ Filecoin network version 25 FIPs

  • TBD

📦 v16 Builtin Actor Bundle

This release candidate uses the v16.0.0-rc1

🚚 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 NV25 upgrade is expected to be light with no heavy pre-migrations:

  • Pre-Migration is expected to take less then 1 minute.
  • The migration on the upgrade epoch is expected to take less than 30 seconds on a node with a NVMe-drive and a newer CPU. For nodes running on slower disks/CPU, it is still expected to take less then 1 minute.

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 run the non-cached migration (i.e., just running the migration at the network upgrade epoch), and schedule for some additional downtime. Operators of such nodes can read the How to disable premigration in network upgrade tutorial.

New Features highlight

Improvements

Bug Fixes

  • Make EthTraceFilter / trace_filter skip null rounds instead of erroring. (filecoin-project/lotus#12702)
  • Event APIs (GetActorEventsRaw, SubscribeActorEventsRaw, eth_getLogs, eth_newFilter, etc.) will now return an error when a request matches more than MaxFilterResults (default: 10,000) rather than silently truncating the results. Also apply an internal event matcher for eth_getLogs (etc.) to avoid builtin actor events on database query so as not to include them in MaxFilterResults calculation. (filecoin-project/lotus#12671)
  • ChainIndexer#GetMsgInfo returns an ErrNotFound when there are no rows. (filecoin-project/lotus#12680)
  • Gracefully handle EAM CreateAccount failures in EthTraceBlock (trace_block) and EthTraceTransaction (trace_transaction) calls. (filecoin-project/lotus#12730)
  • Make f3 gen power command being non-deterministic (filecoin-project/lotus#12764)

📝 Changelog

For the set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Masih H. Derkani 17 +2480/-1075 47
Krishang Shah 1 +3214/-117 66
Steven Allen 4 +1317/-1632 22
Rod Vagg 13 +1164/-307 56
Łukasz Magiera 1 +945/-467 31
Phi-rjan 7 +328/-323 35
Jakub Sztandera 3 +308/-12 7
Aryan Tikarya 1 +281/-2 5
Viraj Bhartiya 1 +29/-14 3
Phi 1 +9/-9 8
huajin tong 1 +6/-6 6
ZenGround0 1 +9/-1 2
chuangjinglu 1 +3/-3 3
pinglanlu 1 +1/-1 1
Piotr Galar 1 +1/-1 1

v1.32.0-rc1

05 Dec 09:42
8e1223e
Compare
Choose a tag to compare
v1.32.0-rc1 Pre-release
Pre-release

This is the first release candidate of the upcoming MANDATORY Lotus v1.32.0 release, which will deliver the Filecoin network version 25, codenamed “Teep” 🦵.

This release candidate sets the upgrade epoch for the calibration network to Epoch 2235454 - 2024-12-16T23:00:00Z. This should be the equivalent to:

  • 15:00 in Los-Angeles
  • 23:00 in London
  • 07:00 in Beijing (NB: 2024-12-17 in CST)

You can follow this release issue for keeping up with the other expected release dates, epochs, and updates: (filecoin-project/lotus#12750)

Note

  1. This release candidate does NOT set the mainnet network upgrade epoch. It will be added in the final release (expected December 18th).

☢️ Upgrade Warnings ☢️

  • If you are running the v1.30.x version of Lotus, please go through the Upgrade Warnings section for the v1.30.* releases and v1.31.* before upgrading to this release.

🏛️ Filecoin network version 25 FIPs

  • FIP-0086: Fast Finality in Filecoin (F3)

📦 v16 Builtin Actor Bundle

This release candidate uses the v16.0.0-rc1

🚚 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 NV25 upgrade is expected to be light with no heavy pre-migrations:

  • Pre-Migration is expected to take less then 1 minute.
  • The migration on the upgrade epoch is expected to take less than 30 seconds on a node with a NVMe-drive and a newer CPU. For nodes running on slower disks/CPU, it is still expected to take less then 1 minute.

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 run the non-cached migration (i.e., just running the migration at the network upgrade epoch), and schedule for some additional downtime. Operators of such nodes can read the How to disable premigration in network upgrade tutorial.

New Features highlight

Improvements

  • The miner actor builtin QAPowerForWeight no longer accepts the unused "dealWeight" parameter, the function signature now only takes 3 arguments: sectorSize, sectorDuration, verifiedWeight. (filecoin-project/lotus#12445)
  • Fix checkpointed tipsets being expanded (filecoin-project/lotus#12747)

Bug Fixes

  • Make EthTraceFilter / trace_filter skip null rounds instead of erroring. (filecoin-project/lotus#12702)
  • Event APIs (GetActorEventsRaw, SubscribeActorEventsRaw, eth_getLogs, eth_newFilter, etc.) will now return an error when a request matches more than MaxFilterResults (default: 10,000) rather than silently truncating the results. Also apply an internal event matcher for eth_getLogs (etc.) to avoid builtin actor events on database query so as not to include them in MaxFilterResults calculation. (filecoin-project/lotus#12671)
  • ChainIndexer#GetMsgInfo returns an ErrNotFound when there are no rows. (filecoin-project/lotus#12680)
  • Gracefully handle EAM CreateAccount failures in EthTraceBlock (trace_block) and EthTraceTransaction (trace_transaction) calls. (filecoin-project/lotus#12730)

📝 Changelog

For the set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Masih H. Derkani 17 +2480/-1075 47
Krishang Shah 1 +3214/-117 66
Steven Allen 4 +1317/-1632 22
Rod Vagg 13 +1164/-307 56
Łukasz Magiera 1 +945/-467 31
Phi-rjan 7 +328/-323 35
Jakub Sztandera 3 +308/-12 7
Aryan Tikarya 1 +281/-2 5
Viraj Bhartiya 1 +29/-14 3
Phi 1 +9/-9 8
huajin tong 1 +6/-6 6
ZenGround0 1 +9/-1 2
chuangjinglu 1 +3/-3 3
pinglanlu 1 +1/-1 1
Piotr Galar 1 +1/-1 1

miner/v1.32.0-rc1

05 Dec 09:42
8e1223e
Compare
Choose a tag to compare
miner/v1.32.0-rc1 Pre-release
Pre-release

This is the first release candidate of the upcoming MANDATORY Lotus v1.32.0 release, which will deliver the Filecoin network version 25, codenamed “Teep” 🦵.

This release candidate sets the upgrade epoch for the calibration network to Epoch 2235454 - 2024-12-16T23:00:00Z. This should be the equivalent to:

  • 15:00 in Los-Angeles
  • 23:00 in London
  • 07:00 in Beijing (NB: 2024-12-17 in CST)

You can follow this release issue for keeping up with the other expected release dates, epochs, and updates: (filecoin-project/lotus#12750)

Note

  1. This release candidate does NOT set the mainnet network upgrade epoch. It will be added in the final release (expected December 18th).

☢️ Upgrade Warnings ☢️

  • If you are running the v1.30.x version of Lotus, please go through the Upgrade Warnings section for the v1.30.* releases and v1.31.* before upgrading to this release.

🏛️ Filecoin network version 25 FIPs

  • FIP-0086: Fast Finality in Filecoin (F3)

📦 v16 Builtin Actor Bundle

This release candidate uses the v16.0.0-rc1

🚚 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 NV25 upgrade is expected to be light with no heavy pre-migrations:

  • Pre-Migration is expected to take less then 1 minute.
  • The migration on the upgrade epoch is expected to take less than 30 seconds on a node with a NVMe-drive and a newer CPU. For nodes running on slower disks/CPU, it is still expected to take less then 1 minute.

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 run the non-cached migration (i.e., just running the migration at the network upgrade epoch), and schedule for some additional downtime. Operators of such nodes can read the How to disable premigration in network upgrade tutorial.

New Features highlight

Improvements

  • The miner actor builtin QAPowerForWeight no longer accepts the unused "dealWeight" parameter, the function signature now only takes 3 arguments: sectorSize, sectorDuration, verifiedWeight. (filecoin-project/lotus#12445)
  • Fix checkpointed tipsets being expanded (filecoin-project/lotus#12747)

Bug Fixes

  • Make EthTraceFilter / trace_filter skip null rounds instead of erroring. (filecoin-project/lotus#12702)
  • Event APIs (GetActorEventsRaw, SubscribeActorEventsRaw, eth_getLogs, eth_newFilter, etc.) will now return an error when a request matches more than MaxFilterResults (default: 10,000) rather than silently truncating the results. Also apply an internal event matcher for eth_getLogs (etc.) to avoid builtin actor events on database query so as not to include them in MaxFilterResults calculation. (filecoin-project/lotus#12671)
  • ChainIndexer#GetMsgInfo returns an ErrNotFound when there are no rows. (filecoin-project/lotus#12680)
  • Gracefully handle EAM CreateAccount failures in EthTraceBlock (trace_block) and EthTraceTransaction (trace_transaction) calls. (filecoin-project/lotus#12730)

📝 Changelog

For the set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Masih H. Derkani 17 +2480/-1075 47
Krishang Shah 1 +3214/-117 66
Steven Allen 4 +1317/-1632 22
Rod Vagg 13 +1164/-307 56
Łukasz Magiera 1 +945/-467 31
Phi-rjan 7 +328/-323 35
Jakub Sztandera 3 +308/-12 7
Aryan Tikarya 1 +281/-2 5
Viraj Bhartiya 1 +29/-14 3
Phi 1 +9/-9 8
huajin tong 1 +6/-6 6
ZenGround0 1 +9/-1 2
chuangjinglu 1 +3/-3 3
pinglanlu 1 +1/-1 1
Piotr Galar 1 +1/-1 1

v1.31.0

02 Dec 07:47
198ee01
Compare
Choose a tag to compare

The Lotus v1.31.0 release introduces the new ChainIndexer subsystem, enhancing the indexing of Filecoin chain state for improved RPC performance. Several bug fixes in the block production loop are also included. Please review the upgrade warnings and documentation for any important changes affecting RPC providers, node operators and storage providers.

☢️ Upgrade Warnings ☢️

  • The introduction of the new ChainIndexer subsystem replaces the existing MsgIndex, EthTxHashLookup, and EventIndex implementations. This change may affect RPC providers and node operators who use or expose Ethereum and/or events APIs. It is crucial to review the ChainIndexer documentation for operators to understand how to enable, configure, and use the new Indexer.

⭐ New Feature Highlights:

  • New ChainIndexer subsystem to index Filecoin chain state such as tipsets, messages, events and ETH transactions for accurate and faster RPC responses. The ChainIndexer replaces the existing MsgIndex, EthTxHashLookup and EventIndex implementations in Lotus, which suffer from a multitude of known problems. If you are an RPC provider or a node operator who uses or exposes Ethereum and/or events APIs, please refer to the ChainIndexer documentation for operators for information on how to enable, configure and use the new Indexer. While there is no automated data migration and one can upgrade and downgrade without backups, there are manual steps that need to be taken to backfill data when upgrading to this Lotus version, or downgrading to the previous version without ChainIndexer. Please be aware that that this feature removes some options in the Lotus configuration file, if these have been set, Lotus will report an error when starting. See the documentation for more information
  • lotus chain head now supports a --height flag to print just the epoch number of the current chain head (filecoin-project/lotus#12609)
  • Implement EthGetTransactionByBlockNumberAndIndex (eth_getTransactionByBlockNumberAndIndex) and EthGetTransactionByBlockHashAndIndex (eth_getTransactionByBlockHashAndIndex) methods. (filecoin-project/lotus#12618)
  • lotus-shed indexes inspect-indexes now performs a comprehensive comparison of the event index data for each message by comparing the AMT root CID from the message receipt with the root of a reconstructed AMT. Previously inspect-indexes simply compared event counts. Comparing AMT roots instead confirms all the event data is byte-perfect. (filecoin-project/lotus#12570)
  • Return a "data" field on the "error" returned from RPC when eth_call and eth_estimateGas APIs encounter execution reverted errors. This is a standard expectation of Ethereum RPC tooling and may improve compatibility in some cases. (filecoin-project/lotus#12553)
  • Improve ETH-filter performance for nodes serving many clients. (filecoin-project/lotus#12603)
  • Implement F3 utility CLIs to list the power table for a given instance and sum the proportional power of a set of actors that participate in a given instance. (filecoin-project/lotus#12698)

🐛 Bug Fix Highlights

  • Add logic to check if the miner's owner address is delegated (f4 address). If it is delegated, the lotus-shed sectors termination-estimate command now sends the termination state call using the worker ID. This fix resolves the issue where termination-estimate did not function correctly for miners with delegated owner addresses. (filecoin-project/lotus#12569)
  • The Lotus Miner will now always mine on the latest chain head returned by lotus, even if that head has less "weight" than the previously seen head. This is necessary because F3 may end up finalizing a tipset with a lower weight, although this situation should be rare on the Filecoin mainnet. (filecoin-project/lotus#12659) and (filecoin-project/lotus#12690)
  • Make the ordering of event output for eth_ APIs and GetActorEventsRaw consistent, sorting ascending on: epoch, message index, event index and original event entry order. (filecoin-project/lotus#12623)
  • Return a consistent error when encountering null rounds in ETH RPC method calls. (filecoin-project/lotus#12655)
  • Correct erroneous sector QAP-calculation upon sector extension in lotus-miner cli. (filecoin-project/lotus#12698)

📝 Changelog

For the full set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Aarsh Shah 2 +6725/-5410 84
Masih H. Derkani 13 +1924/-867 61
Viraj Bhartiya 6 +2048/-703 41
Steven Allen 25 +1394/-404 53
Rod Vagg 13 +502/-272 39
Phi-rjan 8 +175/-64 20
Jakub Sztandera 7 +107/-66 15
aarshkshah1992 1 +61/-30 5
Steve Loeppky 1 +78/-2 4
Krishang Shah 1 +7/-17 1
Łukasz Magiera 1 +9/-10 3
Phi 1 +9/-9 8
Danial Ahn 1 +14/-1 2
hanabi1224 1 +7/-6 1
web3-bot 1 +1/-1 1
asamuj 1 +1/-1 1
Andrew Jackson (Ajax) 1 +2/-0 1

miner/v1.31.0

02 Dec 07:47
198ee01
Compare
Choose a tag to compare

The Lotus v1.31.0 release introduces the new ChainIndexer subsystem, enhancing the indexing of Filecoin chain state for improved RPC performance. Several bug fixes in the block production loop are also included. Please review the upgrade warnings and documentation for any important changes affecting RPC providers, node operators and storage providers.

☢️ Upgrade Warnings ☢️

  • The introduction of the new ChainIndexer subsystem replaces the existing MsgIndex, EthTxHashLookup, and EventIndex implementations. This change may affect RPC providers and node operators who use or expose Ethereum and/or events APIs. It is crucial to review the ChainIndexer documentation for operators to understand how to enable, configure, and use the new Indexer.

⭐ New Feature Highlights:

  • New ChainIndexer subsystem to index Filecoin chain state such as tipsets, messages, events and ETH transactions for accurate and faster RPC responses. The ChainIndexer replaces the existing MsgIndex, EthTxHashLookup and EventIndex implementations in Lotus, which suffer from a multitude of known problems. If you are an RPC provider or a node operator who uses or exposes Ethereum and/or events APIs, please refer to the ChainIndexer documentation for operators for information on how to enable, configure and use the new Indexer. While there is no automated data migration and one can upgrade and downgrade without backups, there are manual steps that need to be taken to backfill data when upgrading to this Lotus version, or downgrading to the previous version without ChainIndexer. Please be aware that that this feature removes some options in the Lotus configuration file, if these have been set, Lotus will report an error when starting. See the documentation for more information
  • lotus chain head now supports a --height flag to print just the epoch number of the current chain head (filecoin-project/lotus#12609)
  • Implement EthGetTransactionByBlockNumberAndIndex (eth_getTransactionByBlockNumberAndIndex) and EthGetTransactionByBlockHashAndIndex (eth_getTransactionByBlockHashAndIndex) methods. (filecoin-project/lotus#12618)
  • lotus-shed indexes inspect-indexes now performs a comprehensive comparison of the event index data for each message by comparing the AMT root CID from the message receipt with the root of a reconstructed AMT. Previously inspect-indexes simply compared event counts. Comparing AMT roots instead confirms all the event data is byte-perfect. (filecoin-project/lotus#12570)
  • Return a "data" field on the "error" returned from RPC when eth_call and eth_estimateGas APIs encounter execution reverted errors. This is a standard expectation of Ethereum RPC tooling and may improve compatibility in some cases. (filecoin-project/lotus#12553)
  • Improve ETH-filter performance for nodes serving many clients. (filecoin-project/lotus#12603)
  • Implement F3 utility CLIs to list the power table for a given instance and sum the proportional power of a set of actors that participate in a given instance. (filecoin-project/lotus#12698)

🐛 Bug Fix Highlights

  • Add logic to check if the miner's owner address is delegated (f4 address). If it is delegated, the lotus-shed sectors termination-estimate command now sends the termination state call using the worker ID. This fix resolves the issue where termination-estimate did not function correctly for miners with delegated owner addresses. (filecoin-project/lotus#12569)
  • The Lotus Miner will now always mine on the latest chain head returned by lotus, even if that head has less "weight" than the previously seen head. This is necessary because F3 may end up finalizing a tipset with a lower weight, although this situation should be rare on the Filecoin mainnet. (filecoin-project/lotus#12659) and (filecoin-project/lotus#12690)
  • Make the ordering of event output for eth_ APIs and GetActorEventsRaw consistent, sorting ascending on: epoch, message index, event index and original event entry order. (filecoin-project/lotus#12623)
  • Return a consistent error when encountering null rounds in ETH RPC method calls. (filecoin-project/lotus#12655)
  • Correct erroneous sector QAP-calculation upon sector extension in lotus-miner cli. (filecoin-project/lotus#12698)

📝 Changelog

For the full set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Aarsh Shah 2 +6725/-5410 84
Masih H. Derkani 13 +1924/-867 61
Viraj Bhartiya 6 +2048/-703 41
Steven Allen 25 +1394/-404 53
Rod Vagg 13 +502/-272 39
Phi-rjan 8 +175/-64 20
Jakub Sztandera 7 +107/-66 15
aarshkshah1992 1 +61/-30 5
Steve Loeppky 1 +78/-2 4
Krishang Shah 1 +7/-17 1
Łukasz Magiera 1 +9/-10 3
Phi 1 +9/-9 8
Danial Ahn 1 +14/-1 2
hanabi1224 1 +7/-6 1
web3-bot 1 +1/-1 1
asamuj 1 +1/-1 1
Andrew Jackson (Ajax) 1 +2/-0 1

v1.31.0-rc1

12 Nov 16:56
6cd7982
Compare
Choose a tag to compare
v1.31.0-rc1 Pre-release
Pre-release

This Lotus release candidate introduces the new ChainIndexer subsystem, enhancing the indexing of Filecoin chain state for improved RPC performance. Several bug fixes in the block production loop are also included. Please review the upgrade warnings and documentation for any important changes affecting RPC providers, node operators and storage providers.

☢️ Upgrade Warnings ☢️

  • The introduction of the new ChainIndexer subsystem replaces the existing MsgIndex, EthTxHashLookup, and EventIndex implementations. This change may affect RPC providers and node operators who use or expose Ethereum and/or events APIs. It is crucial to review the ChainIndexer documentation for operators to understand how to enable, configure, and use the new Indexer.

⭐ New Feature Highlights:

  • New ChainIndexer subsystem to index Filecoin chain state such as tipsets, messages, events and ETH transactions for accurate and faster RPC responses. The ChainIndexer replaces the existing MsgIndex, EthTxHashLookup and EventIndex implementations in Lotus, which suffer from a multitude of known problems. If you are an RPC provider or a node operator who uses or exposes Ethereum and/or events APIs, please refer to the ChainIndexer documentation for operators for information on how to enable, configure and use the new Indexer. While there is no automated data migration and one can upgrade and downgrade without backups, there are manual steps that need to be taken to backfill data when upgrading to this Lotus version, or downgrading to the previous version without ChainIndexer. Please be aware that that this feature removes some options in the Lotus configuration file, if these have been set, Lotus will report an error when starting. See the documentation for more information
  • lotus chain head now supports a --height flag to print just the epoch number of the current chain head (filecoin-project/lotus#12609)
  • Implement EthGetTransactionByBlockNumberAndIndex (eth_getTransactionByBlockNumberAndIndex) and EthGetTransactionByBlockHashAndIndex (eth_getTransactionByBlockHashAndIndex) methods. (filecoin-project/lotus#12618)
  • lotus-shed indexes inspect-indexes now performs a comprehensive comparison of the event index data for each message by comparing the AMT root CID from the message receipt with the root of a reconstructed AMT. Previously inspect-indexes simply compared event counts. Comparing AMT roots instead confirms all the event data is byte-perfect. (filecoin-project/lotus#12570)
  • Reduce size of embedded genesis CAR files by removing WASM actor blocks and compressing with zstd. This reduces the lotus binary size by approximately 10 MiB. (filecoin-project/lotus#12439)

🐛 Bug Fix Highlights

  • Add logic to check if the miner's owner address is delegated (f4 address). If it is delegated, the lotus-shed sectors termination-estimate command now sends the termination state call using the worker ID. This fix resolves the issue where termination-estimate did not function correctly for miners with delegated owner addresses. (filecoin-project/lotus#12569)
  • The mining loop will now correctly "stick" to the same upstream lotus node for all operations pertaining to mining a single block (filecoin-project/lotus#12665).
  • The Lotus Miner will now always mine on the latest chain head returned by lotus, even if that head has less "weight" than the previously seen head. This is necessary because F3 may end up finalizing a tipset with a lower weight, although this situation should be rare on the Filecoin mainnet. (filecoin-project/lotus#12659)
  • Make the ordering of event output for eth_ APIs and GetActorEventsRaw consistent, sorting ascending on: epoch, message index, event index and original event entry order. (filecoin-project/lotus#12623)
  • Event APIs (Eth events and actor events) should only return reverted events if client queries by specific block hash / tipset. Eth and actor event subscription APIs should always return reverted events to enable accurate observation of real-time changes. (filecoin-project/lotus#12585)
  • Fix a bug in the lotus-shed indexes backfill-events command that may result in either duplicate events being backfilled where there are existing events (such an operation should be idempotent) or events erroneously having duplicate logIndex values when queried via ETH APIs. (filecoin-project/lotus#12567)

📝 Changelog

For the full set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Aarsh Shah 2 +6725/-5410 84
Masih H. Derkani 13 +1924/-867 61
Viraj Bhartiya 6 +2048/-703 41
Steven Allen 25 +1394/-404 53
Rod Vagg 13 +502/-272 39
Phi-rjan 8 +175/-64 20
Jakub Sztandera 7 +107/-66 15
aarshkshah1992 1 +61/-30 5
Steve Loeppky 1 +78/-2 4
Krishang Shah 1 +7/-17 1
Łukasz Magiera 1 +9/-10 3
Phi 1 +9/-9 8
Danial Ahn 1 +14/-1 2
hanabi1224 1 +7/-6 1
web3-bot 1 +1/-1 1
asamuj 1 +1/-1 1
Andrew Jackson (Ajax) 1 +2/-0 1

miner/v1.31.0-rc1

12 Nov 16:57
6cd7982
Compare
Choose a tag to compare
miner/v1.31.0-rc1 Pre-release
Pre-release

This Lotus release candidate introduces the new ChainIndexer subsystem, enhancing the indexing of Filecoin chain state for improved RPC performance. Several bug fixes in the block production loop are also included. Please review the upgrade warnings and documentation for any important changes affecting RPC providers, node operators and storage providers.

☢️ Upgrade Warnings ☢️

  • The introduction of the new ChainIndexer subsystem replaces the existing MsgIndex, EthTxHashLookup, and EventIndex implementations. This change may affect RPC providers and node operators who use or expose Ethereum and/or events APIs. It is crucial to review the ChainIndexer documentation for operators to understand how to enable, configure, and use the new Indexer.

⭐ New Feature Highlights:

  • New ChainIndexer subsystem to index Filecoin chain state such as tipsets, messages, events and ETH transactions for accurate and faster RPC responses. The ChainIndexer replaces the existing MsgIndex, EthTxHashLookup and EventIndex implementations in Lotus, which suffer from a multitude of known problems. If you are an RPC provider or a node operator who uses or exposes Ethereum and/or events APIs, please refer to the ChainIndexer documentation for operators for information on how to enable, configure and use the new Indexer. While there is no automated data migration and one can upgrade and downgrade without backups, there are manual steps that need to be taken to backfill data when upgrading to this Lotus version, or downgrading to the previous version without ChainIndexer. Please be aware that that this feature removes some options in the Lotus configuration file, if these have been set, Lotus will report an error when starting. See the documentation for more information
  • lotus chain head now supports a --height flag to print just the epoch number of the current chain head (filecoin-project/lotus#12609)
  • Implement EthGetTransactionByBlockNumberAndIndex (eth_getTransactionByBlockNumberAndIndex) and EthGetTransactionByBlockHashAndIndex (eth_getTransactionByBlockHashAndIndex) methods. (filecoin-project/lotus#12618)
  • lotus-shed indexes inspect-indexes now performs a comprehensive comparison of the event index data for each message by comparing the AMT root CID from the message receipt with the root of a reconstructed AMT. Previously inspect-indexes simply compared event counts. Comparing AMT roots instead confirms all the event data is byte-perfect. (filecoin-project/lotus#12570)
  • Reduce size of embedded genesis CAR files by removing WASM actor blocks and compressing with zstd. This reduces the lotus binary size by approximately 10 MiB. (filecoin-project/lotus#12439)

🐛 Bug Fix Highlights

  • Add logic to check if the miner's owner address is delegated (f4 address). If it is delegated, the lotus-shed sectors termination-estimate command now sends the termination state call using the worker ID. This fix resolves the issue where termination-estimate did not function correctly for miners with delegated owner addresses. (filecoin-project/lotus#12569)
  • The mining loop will now correctly "stick" to the same upstream lotus node for all operations pertaining to mining a single block (filecoin-project/lotus#12665).
  • The Lotus Miner will now always mine on the latest chain head returned by lotus, even if that head has less "weight" than the previously seen head. This is necessary because F3 may end up finalizing a tipset with a lower weight, although this situation should be rare on the Filecoin mainnet. (filecoin-project/lotus#12659)
  • Make the ordering of event output for eth_ APIs and GetActorEventsRaw consistent, sorting ascending on: epoch, message index, event index and original event entry order. (filecoin-project/lotus#12623)
  • Event APIs (Eth events and actor events) should only return reverted events if client queries by specific block hash / tipset. Eth and actor event subscription APIs should always return reverted events to enable accurate observation of real-time changes. (filecoin-project/lotus#12585)
  • Fix a bug in the lotus-shed indexes backfill-events command that may result in either duplicate events being backfilled where there are existing events (such an operation should be idempotent) or events erroneously having duplicate logIndex values when queried via ETH APIs. (filecoin-project/lotus#12567)

📝 Changelog

For the full set of changes since the last stable release:

👨‍👩‍👧‍👦 Contributors

Contributor Commits Lines ± Files Changed
Aarsh Shah 2 +6725/-5410 84
Masih H. Derkani 13 +1924/-867 61
Viraj Bhartiya 6 +2048/-703 41
Steven Allen 25 +1394/-404 53
Rod Vagg 13 +502/-272 39
Phi-rjan 8 +175/-64 20
Jakub Sztandera 7 +107/-66 15
aarshkshah1992 1 +61/-30 5
Steve Loeppky 1 +78/-2 4
Krishang Shah 1 +7/-17 1
Łukasz Magiera 1 +9/-10 3
Phi 1 +9/-9 8
Danial Ahn 1 +14/-1 2
hanabi1224 1 +7/-6 1
web3-bot 1 +1/-1 1
asamuj 1 +1/-1 1
Andrew Jackson (Ajax) 1 +2/-0 1