Releases: filecoin-project/lotus
v1.28.0-rc3
This is the third release candidate of the upcoming MANDATORY Lotus v1.28.0 release, which will deliver the Filecoin network version 23, codenamed Waffle 🧇.
This release candidate sets the calibration network to upgrade at epoch 1779094, corresponding to 2024-07-11T12:00:00Z. This release does NOT set the mainnet upgrade epoch yet, in which will be updated in the final release.
Compared to Lotus v1.28.0-rc2
, the Lotus v1.28.0-rc3
introduces the manifest for the "control" nodes for F3 passive testing. This change shouldn't have any impact on production nodes.
☢️ Upgrade Warnings ☢️
If you are running the v1.26.0
or an earlier version of Lotus, please go through the Upgrade Warnings
section for the v1.27.*
releases, before upgrading to this RC.
- 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 for full details.
The Filecoin network version 23 delivers the following FIPs:
- FIP-0065: Ignore built-in market locked balance in circulating supply calculation
- FIP-0079: Add BLS Aggregate Signatures to FVM
- FIP-0084: Remove Storage Miner Actor Method ProveCommitSectors
- FIP-0085: Convert f090 Mining Reserve Actor to Keyless Account Actor
- FIP-0091: Add support for legacy Ethereum transactions
- FIP-0092: NI-PoRep
- FIP-0086: Fast Finality Soft Launch
Note that we are only doing a "soft launch"/"passive testing" for F3 (Fast Finality) i.e. FIP-0086 in NV23. Please see this doc for more details.
v14 Builtin Actor Bundle
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=23
Network Version: 23
Actor Version: 14
Manifest CID: bafy2bzacebq3hncszqpojglh2dkwekybq4zn6qpc4gceqbx36wndps5qehtau
Actor CID
account bafk2bzaced5ecfm56dvtw26q56j4d32yoccyd7ggxn3qdki2enxpqqav45ths
cron bafk2bzacedpbtttpyvtjncqoyobr63mhqqtlrygbnudhxyp2vha56f626dkfs
datacap bafk2bzacecded3lcvo7ndsk66samyecw2trnhrgzi7jxsary3sqgopxlk6rku
eam bafk2bzacecsda4uw7dcu76a27gnrrdcm73tgms7wrte6jbou63vloktkqc5ne
ethaccount bafk2bzacebu2lcxfmohomjj3umslnylwugf5gssywdq3575tjarta7o227dls
evm bafk2bzacea4xnekruhfmdnzvzeo6cbf7jsfgco6x5wje2ckwc2ui2ojzcrlgu
init bafk2bzacedfmsdlewihdcrkdepnfata26nj7akbvexzs3chicujhjf2uxsazc
multisig bafk2bzacedwx4svscsp6wqqu2vlcunjihvvm4u2jnsqjkwutjhir7dwtl7z6m
paymentchannel bafk2bzacedbit7oo6lryhbo64uikvtjtfcth6oxwy3eebxerenu2h7rj44n24
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
reward bafk2bzaced5rlycj7fzpscfc7p3wwxarngwqylqshj7te3uffey5tevunz4we
storagemarket bafk2bzaceatwbyrec2nnwggxc2alpqve7rl52fmbhqflebuxmmnvg3qckjb7c
storageminer bafk2bzacecr7ozkdz7l2pq3ig5qxae2ysivbnojhsn4gw3o57ov4mhksma7me
storagepower bafk2bzacedgeolvjtnw7fkji5kqmx322abv6uls2v34fuml6nw36dvfcw4mtu
system bafk2bzacederl6tlpieldsn6mkndqwd4wj5orfoqgab6p2klswfn3cjagxwla
verifiedregistry bafk2bzaceczw2kp6gjjdcjbso7mewp7guik7gr525pal6dotdja2lrct6ok3c
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 NV23 upgrade is expected to be light with no heavy pre-migrations, here are some expected timings and resource consumption numbers:
- Pre-Migration is expected to take less then 1 minute
- The migration is expected to take less then 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.
Dependencies
- github.com/filecoin-project/go-state-types (
v0.14.0-dev
->v0.14.0-rc5
) - github.com/filecoin-project/filecoin-ffi (
v1.27.0-rc2
->v1.28.0-rc2
) ref-fvm4
(as part offilecoin-ffi
) (4.2.0
->4.3.1
)- A new
github.com/filecoin-project/go-f3
dependency for F3 soft launch (v0.0.2
)
Others
- Soft launch of F3 (#12119)
- NI-PoRep changes (#12130)
- Fixes for the ETH events API (#12080)
- Support for legacy Ethereum transactions (#11969)
- Ignore market balance after nv23 (#11976)
- Add finality-related params for
eth_getBlockByNumber
(#12110) - rename
Actor.Address
toActor.DelegatedAddress
and only use it for f4 addresses (#12155) - feat:ec: integrate F3 dynamic manifest #12185
v1.28.0-rc2
This is the second release candidate of the upcoming MANDATORY Lotus v1.28.0 release, which will deliver the Filecoin network version 23, codenamed Waffle 🧇.
This release candidate sets the calibration network to upgrade at epoch 1779094, corresponding to 2024-07-11T12:00:00Z. This release does NOT set the mainnet upgrade epoch yet, in which will be updated in the final release.
☢️ Upgrade Warnings ☢️
- If you are running the
v1.26.x
or an earlier version of Lotus, please go through theUpgrade Warnings
section for thev1.27.*
releases, before upgrading to this RC. - 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 for full details.
The Filecoin network version 23 delivers the following FIPs:
- FIP-0065: Ignore built-in market locked balance in circulating supply calculation
- FIP-0079: Add BLS Aggregate Signatures to FVM
- FIP-0084: Remove Storage Miner Actor Method ProveCommitSectors
- FIP-0085: Convert f090 Mining Reserve Actor to Keyless Account Actor
- FIP-0091: Add support for legacy Ethereum transactions
- FIP-0092: NI-PoRep
- FIP-0086: Fast Finality Soft Launch
Note that we are only doing a "soft launch"/"passive testing" for F3 (Fast Finality) i.e. FIP-0086 in NV23. Please see this doc for more details.
v14 Builtin Actor Bundle
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=23
Network Version: 23
Actor Version: 14
Manifest CID: bafy2bzacebq3hncszqpojglh2dkwekybq4zn6qpc4gceqbx36wndps5qehtau
Actor CID
account bafk2bzaced5ecfm56dvtw26q56j4d32yoccyd7ggxn3qdki2enxpqqav45ths
cron bafk2bzacedpbtttpyvtjncqoyobr63mhqqtlrygbnudhxyp2vha56f626dkfs
datacap bafk2bzacecded3lcvo7ndsk66samyecw2trnhrgzi7jxsary3sqgopxlk6rku
eam bafk2bzacecsda4uw7dcu76a27gnrrdcm73tgms7wrte6jbou63vloktkqc5ne
ethaccount bafk2bzacebu2lcxfmohomjj3umslnylwugf5gssywdq3575tjarta7o227dls
evm bafk2bzacea4xnekruhfmdnzvzeo6cbf7jsfgco6x5wje2ckwc2ui2ojzcrlgu
init bafk2bzacedfmsdlewihdcrkdepnfata26nj7akbvexzs3chicujhjf2uxsazc
multisig bafk2bzacedwx4svscsp6wqqu2vlcunjihvvm4u2jnsqjkwutjhir7dwtl7z6m
paymentchannel bafk2bzacedbit7oo6lryhbo64uikvtjtfcth6oxwy3eebxerenu2h7rj44n24
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
reward bafk2bzaced5rlycj7fzpscfc7p3wwxarngwqylqshj7te3uffey5tevunz4we
storagemarket bafk2bzaceatwbyrec2nnwggxc2alpqve7rl52fmbhqflebuxmmnvg3qckjb7c
storageminer bafk2bzacecr7ozkdz7l2pq3ig5qxae2ysivbnojhsn4gw3o57ov4mhksma7me
storagepower bafk2bzacedgeolvjtnw7fkji5kqmx322abv6uls2v34fuml6nw36dvfcw4mtu
system bafk2bzacederl6tlpieldsn6mkndqwd4wj5orfoqgab6p2klswfn3cjagxwla
verifiedregistry bafk2bzaceczw2kp6gjjdcjbso7mewp7guik7gr525pal6dotdja2lrct6ok3c
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 NV23 upgrade is expected to be light with no heavy pre-migrations, here are some expected timings and resource consumption numbers:
- Pre-Migration is expected to take less then 1 minute
- The migration is expected to take less then 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.
Dependencies
- github.com/filecoin-project/go-state-types (
v0.14.0-dev
->v0.14.0-rc5
) - github.com/filecoin-project/filecoin-ffi (
v1.27.0-rc2
->v1.28.0-rc2
) ref-fvm4
(as part offilecoin-ffi
) (4.2.0
->4.3.1
)- A new
github.com/filecoin-project/go-f3
dependency for F3 soft launch (v0.0.2
)
Others
- Soft launch of F3 (#12119)
- NI-PoRep changes (#12130)
- Fixes for the ETH events API (#12080)
- Support for legacy Ethereum transactions (#11969)
- Ignore market balance after nv23 (#11976)
- Add finality-related params for
eth_getBlockByNumber
(#12110) - rename
Actor.Address
toActor.DelegatedAddress
and only use it for f4 addresses (#12155)
v1.28.0-rc1
This is the first release candidate of the upcoming MANDATORY Lotus v1.28.0 release, which will deliver the Filecoin network version 23, codenamed Waffle 🧇
This release candidate does NOT set a calibration network upgrade epoch, it will be added in the second release candidate, expected to be released July 4th. This release candidate does NOT set the mainnet upgrade epoch yet, which will be updated in the final release.
☢️ Upgrade Warnings ☢️
If you are running the v1.26.0
or an earlier version of Lotus, please go through the Upgrade Warnings
section for the v1.27.*
releases, before upgrading to this RC.
The Filecoin network version 23 delivers the following FIPs:
- FIP-0065: Ignore built-in market locked balance in circulating supply calculation
- FIP-0079: Add BLS Aggregate Signatures to FVM
- FIP-0084: Remove Storage Miner Actor Method ProveCommitSectors
- FIP-0085: Convert f090 Mining Reserve Actor to Keyless Account Actor
- FIP-0091: Add support for legacy Ethereum transactions
- FIP-0092: NI-PoRep
- FIP-0086: Fast Finality Soft Launch
Note that we are only doing a "soft launch"/"passive testing" for F3 (Fast Finality) i.e. FIP-0086 in NV23. Please see this doc for more details.
v14 Builtin Actor Bundle
The actor bundles for the calibration network can be checked as follows:
lotus state actor-cids --network-version=23
Network Version: 23
Actor Version: 14
Manifest CID: bafy2bzacebq3hncszqpojglh2dkwekybq4zn6qpc4gceqbx36wndps5qehtau
Actor CID
account bafk2bzaced5ecfm56dvtw26q56j4d32yoccyd7ggxn3qdki2enxpqqav45ths
cron bafk2bzacedpbtttpyvtjncqoyobr63mhqqtlrygbnudhxyp2vha56f626dkfs
datacap bafk2bzacecded3lcvo7ndsk66samyecw2trnhrgzi7jxsary3sqgopxlk6rku
eam bafk2bzacecsda4uw7dcu76a27gnrrdcm73tgms7wrte6jbou63vloktkqc5ne
ethaccount bafk2bzacebu2lcxfmohomjj3umslnylwugf5gssywdq3575tjarta7o227dls
evm bafk2bzacea4xnekruhfmdnzvzeo6cbf7jsfgco6x5wje2ckwc2ui2ojzcrlgu
init bafk2bzacedfmsdlewihdcrkdepnfata26nj7akbvexzs3chicujhjf2uxsazc
multisig bafk2bzacedwx4svscsp6wqqu2vlcunjihvvm4u2jnsqjkwutjhir7dwtl7z6m
paymentchannel bafk2bzacedbit7oo6lryhbo64uikvtjtfcth6oxwy3eebxerenu2h7rj44n24
placeholder bafk2bzacedfvut2myeleyq67fljcrw4kkmn5pb5dpyozovj7jpoez5irnc3ro
reward bafk2bzaced5rlycj7fzpscfc7p3wwxarngwqylqshj7te3uffey5tevunz4we
storagemarket bafk2bzaceatwbyrec2nnwggxc2alpqve7rl52fmbhqflebuxmmnvg3qckjb7c
storageminer bafk2bzacecr7ozkdz7l2pq3ig5qxae2ysivbnojhsn4gw3o57ov4mhksma7me
storagepower bafk2bzacedgeolvjtnw7fkji5kqmx322abv6uls2v34fuml6nw36dvfcw4mtu
system bafk2bzacederl6tlpieldsn6mkndqwd4wj5orfoqgab6p2klswfn3cjagxwla
verifiedregistry bafk2bzaceczw2kp6gjjdcjbso7mewp7guik7gr525pal6dotdja2lrct6ok3c
Migration
The NV23 upgrade migration is expected to be extremely light as only FIP-0085 requires a migration. We don't expect null tipsets after the upgrade epoch or heavy block validation times. We will updated this sections once we have run the final benchmarks.
Dependencies
- github.com/filecoin-project/go-state-types (
v0.14.0-dev
->v0.14.0-rc5
) - github.com/filecoin-project/filecoin-ffi (
v1.27.0-rc2
->v1.28.0-rc2
) ref-fvm4
(as part offilecoin-ffi
) (4.2.0
->4.3.1
)- A new
github.com/filecoin-project/go-f3
dependency for F3 soft launch (v0.0.2
)
Others
- Soft launch of F3 (#12119)
- NI-PoRep changes (#12130)
- Fixes for the ETH events API (#12080)
- Support for legacy Ethereum transactions (#11969)
- Ignore market balance after nv23 (#11976)
- Add finality-related params for
eth_getBlockByNumber
(#12110) - rename
Actor.Address
toActor.DelegatedAddress
and only use it for f4 addresses (#12155)
v1.27.1
This release, v1.27.1, is an OPTIONAL lotus release. It is HIGHLY RECOMMENDED for node operators that are building Filecoin index off lotus!
☢️ Upgrade Warnings ☢️
- This Lotus release completely removes the Legacy Lotus/Lotus-Miner Markets sub-system from the codebase, which was announced to reach EOL on January 31, 2023.
- The Curio Storage software, designed to simplify the setup and operation of storage providers, has moved to their own Github-repository: https://github.com/filecoin-project/curio.
- The events subsystem includes some minor correctness fixes and performance improvements. Nodes operators running Lotus with events turned on (off by default) may experience some delay in initial start-up as a minor database migration takes place and the write-ahead log is compacted. See filecoin-project/lotus#11952 and filecoin-project/lotus#12090 for full details.
- As the events database migration is relatively straightforward in this upgrade, it may be possible to undo the migration for users needing to downgrade specifically from v1.27.1 to v1.27.0, although you are advised to have backups of your Lotus repo before attempting this. Details can be found at: #12073 (comment)
JSON-RPC 2.0 Specification Conformance
The JSON-RPC 2.0 specification requires that a "result"
property be present in the case of no error from an API call. This release ensures that all API calls that return a result have a "result"
property in the response. This is a behaviour change over Lotus v1.26 and will impact any API call that only has a single error return value, where no error has occurred.
For example, a successful WalletSetDefault
in v1.26 would return:
{
"jsonrpc": "2.0",
"id": 1
}
As of this change, in conformance with the JSON-RPC 2.0 specification it will return:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
There is no change in the behaviour when a call returns an error, as the error object will still be present in the response.
New features
- feat: Add trace transaction API supporting RPC method
trace_transaction
(filecoin-project/lotus#12068) - feat: Skeleton for nv23 (#11964) (filecoin-project/lotus#11964)
- feat: state: Ignore market balance after nv23 (#11976) (filecoin-project/lotus#11976)
- feat: ETH compatibility in Filecoin : Support Homestead and EIP-155 Ethereum transactions("legacy" transactions) in Filecoin after NV23 (#11969) (filecoin-project/lotus#11969)
- fix: hello: avoid dialing when fetching hello tipset (#12032) (filecoin-project/lotus#12032)
- feat: cli,events: speed up backfill with temporary index (#11953) (filecoin-project/lotus#11953)
Improvements
- Event index should be unique for tipsets (#11952) (filecoin-project/lotus#11952)
- cleanup: Lotus client: Remove markets and deal-making from Lotus Client (#11999) (filecoin-project/lotus#11999)
- fix: ci: use filecoin-ffi hash to cache make deps outputs (#11961) (filecoin-project/lotus#11961)
- add ETH addrs API to Gateway (#11979) (filecoin-project/lotus#11979)
- chore: remove unmaintained bootstrappers (#11983) (filecoin-project/lotus#11983)
- feat: api: add SectorNumber to MarketDealState (nv22)
- fix: copy Flags field from SectorOnChainInfo
- fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset (filecoin-project/lotus#11905)
- fix: events: sqlite db improvements (filecoin-project/lotus#12090)
Dependencies
- chore: libp2p: update to v0.34.1 (#12027) (filecoin-project/lotus#12027)
- chore: update drand (#12021) (filecoin-project/lotus#12021)
- Bump pubsub-dep (#11966) (filecoin-project/lotus#11966)
- fix: update go-jsonrpc to v0.3.2
- Bump go-jsonrpc to v0.4.0 (#12034) (filecoin-project/lotus#12034)
- docs: rpc: document go-jsonrpc behaviour change
- chore: update go-data-transfer and go-graphsync
- github.com/filecoin-project/go-jsonrpc (v0.3.1 -> v0.3.2)
- github.com/filecoin-project/go-state-types (v0.13.3 -> v0.14.0-dev)
Lotus-Miner / Curio related changes
- fix logs (#12036) (filecoin-project/lotus#12036)
- feat: curioweb: Improve task_history indexes (#11911) (filecoin-project/lotus#11911)
- fix: curio taskstorage: Don't try to free reservations by nulled TaskID (#12018) (filecoin-project/lotus#12018)
- fix actor string (#12019) (filecoin-project/lotus#12019)
- fix: curio: Update pgx imports, fix db_storage alloc
- feat: curioweb: Show piece info on the sector page (#11955) (filecoin-project/lotus#11955)
- curio: feat: break trees task into TreeD(prefetch) and TreeRC (#11895) (filecoin-project/lotus#11895)
- fix: curio: node UI & darwin gpu count (#11950) (filecoin-project/lotus#11950)
- feat: curio: Keep more sector metadata in the DB long-term (#11933) (filecoin-project/lotus#11933)
- fix: curio/lmrpc: Check ParkPiece success before creating sectors (#11975) (filecoin-project/lotus#11975)
- feat: curio: docker devnet (#11954) (filecoin-project/lotus#11954)
- feat: curio: alertManager (#11926) (filecoin-project/lotus#11926)
- curio cfg edit: ux cleanups (#11985) (filecoin-project/lotus#11985)
- fix: curio: Drop FKs from pipeline to fix retry loops (#11973) (filecoin-project/lotus#11973)
- Produce DEB files for amd64 for openCL and cuda (#11885) (filecoin-project/lotus#11885)
- gui-listen fix (#12013) (filecoin-project/lotus#12013)
- feat: curio: allow multiple pieces per sector (#11935) (filecoin-project/lotus#11935)
- chore: update yugabyte deps (#12022) (filecoin-project/lotus#12022)
- fix: harmonydb: Use timestampz instead of timestamp across the schema (#12030) (filecoin-project/lotus#12030)
- cleanup: miner: remove markets and deal-making from Lotus Miner (#12005) (filecoin-project/lotus#12005)
- fix non existing sector (#12012) (filecoin-project/lotus#12012)
- feat: curio ffiselect: Isolate gpu calls in a subprocess (#11994) (filecoin-project/lotus#11994)
- feat: curio: jsonrpc in webui (#11904) (filecoin-project/lotus#11904)
- fix: itests: Fix flaky curio itest (#12037) (filecoin-project/lotus#12037)
- feat: curio: wdPost and wnPost alerts (#12029) (filecoin-project/lotus#12029)
- fix: storage: Fix a race in GenerateWindowPoStAdv (#12064) (filecoin-project/lotus#12064)
- Remove "provider" relics (#11992) (filecoin-project/lotus#11992)
- fix sector UI (#12016) (filecoin-project/lotus#12016)
Others
- ci: deprecate circle ci in favour of github actions (#11786) (filecoin-project/lotus#11786)
- src: chain: remove C dependency from builtin types (#12015) (filecoin-project/lotus#12015)
- chore: fix function names (#12043) (filecoin-project/lotus#12043)
- chore: bump build version in master (#11946) (filecoin-project/lotus#11946)
- fix: test: no snap deals in immutable deadlines (#12071) (filecoin-project/lotus#12071)
- test: actors: manual CC onboarding and proving integration test (#12017) (filecoin-project/lotus#12017)
- fix: ci: keep lotus checkout clean in the release workflow (#12028) ([fileco...
v1.27.1-rc3
This is the third release candidate of the upcoming optional release of Lotus v1.27.1.
☢️ Upgrade Warnings ☢️
- This Lotus release completely removes the Legacy Lotus/Lotus-Miner Markets sub-system from the codebase, which was announced to reach EOL on January 31, 2023.
- The Curio Storage software, designed to simplify the setup and operation of storage providers, has moved to their own Github-repository: https://github.com/filecoin-project/curio.
JSON-RPC 2.0 Specification Conformance
The JSON-RPC 2.0 specification requires that a "result"
property be present in the case of no error from an API call. This release ensures that all API calls that return a result have a "result"
property in the response. This is a behaviour change over Lotus v1.26 and will impact any API call that only has a single error return value, where no error has occurred.
For example, a successful WalletSetDefault
in v1.26 would return:
{
"jsonrpc": "2.0",
"id": 1
}
As of this change, in conformance with the JSON-RPC 2.0 specification it will return:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
There is no change in the behaviour when a call returns an error, as the error object will still be present in the response.
New features
- feat: Add trace transaction API supporting RPC method
trace_transaction
(filecoin-project/lotus#12068) - feat: Skeleton for nv23 (#11964) (filecoin-project/lotus#11964)
- feat: state: Ignore market balance after nv23 (#11976) (filecoin-project/lotus#11976)
- feat: ETH compatibility in Filecoin : Support Homestead and EIP-155 Ethereum transactions("legacy" transactions) in Filecoin after NV23 (#11969) (filecoin-project/lotus#11969)
- fix: hello: avoid dialing when fetching hello tipset (#12032) (filecoin-project/lotus#12032)
- feat: cli,events: speed up backfill with temporary index (#11953) (filecoin-project/lotus#11953)
Improvements
- Event index should be unique for tipsets (#11952) (filecoin-project/lotus#11952)
- cleanup: Lotus client: Remove markets and deal-making from Lotus Client (#11999) (filecoin-project/lotus#11999)
- fix: ci: use filecoin-ffi hash to cache make deps outputs (#11961) (filecoin-project/lotus#11961)
- add ETH addrs API to Gateway (#11979) (filecoin-project/lotus#11979)
- chore: remove unmaintained bootstrappers (#11983) (filecoin-project/lotus#11983)
- feat: api: add SectorNumber to MarketDealState (nv22)
- fix: copy Flags field from SectorOnChainInfo
- fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset (filecoin-project/lotus#11905)
- fix: events: sqlite db improvements (filecoin-project/lotus#12090)
Dependencies
- chore: libp2p: update to v0.34.1 (#12027) (filecoin-project/lotus#12027)
- chore: update drand (#12021) (filecoin-project/lotus#12021)
- Bump pubsub-dep (#11966) (filecoin-project/lotus#11966)
- fix: update go-jsonrpc to v0.3.2
- Bump go-jsonrpc to v0.4.0 (#12034) (filecoin-project/lotus#12034)
- docs: rpc: document go-jsonrpc behaviour change
- chore: update go-data-transfer and go-graphsync
- github.com/filecoin-project/go-jsonrpc (v0.3.1 -> v0.3.2)
- github.com/filecoin-project/go-state-types (v0.13.3 -> v0.14.0-dev)
Lotus-Miner / Curio related changes
- fix logs (#12036) (filecoin-project/lotus#12036)
- feat: curioweb: Improve task_history indexes (#11911) (filecoin-project/lotus#11911)
- fix: curio taskstorage: Don't try to free reservations by nulled TaskID (#12018) (filecoin-project/lotus#12018)
- fix actor string (#12019) (filecoin-project/lotus#12019)
- fix: curio: Update pgx imports, fix db_storage alloc
- feat: curioweb: Show piece info on the sector page (#11955) (filecoin-project/lotus#11955)
- curio: feat: break trees task into TreeD(prefetch) and TreeRC (#11895) (filecoin-project/lotus#11895)
- fix: curio: node UI & darwin gpu count (#11950) (filecoin-project/lotus#11950)
- feat: curio: Keep more sector metadata in the DB long-term (#11933) (filecoin-project/lotus#11933)
- fix: curio/lmrpc: Check ParkPiece success before creating sectors (#11975) (filecoin-project/lotus#11975)
- feat: curio: docker devnet (#11954) (filecoin-project/lotus#11954)
- feat: curio: alertManager (#11926) (filecoin-project/lotus#11926)
- curio cfg edit: ux cleanups (#11985) (filecoin-project/lotus#11985)
- fix: curio: Drop FKs from pipeline to fix retry loops (#11973) (filecoin-project/lotus#11973)
- Produce DEB files for amd64 for openCL and cuda (#11885) (filecoin-project/lotus#11885)
- gui-listen fix (#12013) (filecoin-project/lotus#12013)
- feat: curio: allow multiple pieces per sector (#11935) (filecoin-project/lotus#11935)
- chore: update yugabyte deps (#12022) (filecoin-project/lotus#12022)
- fix: harmonydb: Use timestampz instead of timestamp across the schema (#12030) (filecoin-project/lotus#12030)
- cleanup: miner: remove markets and deal-making from Lotus Miner (#12005) (filecoin-project/lotus#12005)
- fix non existing sector (#12012) (filecoin-project/lotus#12012)
- feat: curio ffiselect: Isolate gpu calls in a subprocess (#11994) (filecoin-project/lotus#11994)
- feat: curio: jsonrpc in webui (#11904) (filecoin-project/lotus#11904)
- fix: itests: Fix flaky curio itest (#12037) (filecoin-project/lotus#12037)
- feat: curio: wdPost and wnPost alerts (#12029) (filecoin-project/lotus#12029)
- fix: storage: Fix a race in GenerateWindowPoStAdv (#12064) (filecoin-project/lotus#12064)
- Remove "provider" relics (#11992) (filecoin-project/lotus#11992)
- fix sector UI (#12016) (filecoin-project/lotus#12016)
Others
- ci: deprecate circle ci in favour of github actions (#11786) (filecoin-project/lotus#11786)
- src: chain: remove C dependency from builtin types (#12015) (filecoin-project/lotus#12015)
- chore: fix function names (#12043) (filecoin-project/lotus#12043)
- chore: bump build version in master (#11946) (filecoin-project/lotus#11946)
- fix: test: no snap deals in immutable deadlines (#12071) (filecoin-project/lotus#12071)
- test: actors: manual CC onboarding and proving integration test (#12017) (filecoin-project/lotus#12017)
- fix: ci: keep lotus checkout clean in the release workflow (#12028) (filecoin-project/lotus#12028)
- feat!: build: separate miner and node version strings
- chore: lint: address feedback from reviews
- chore: lint: fix lint errors with new linting config
- chore: lint: update golangci lint config
- ci: fix when sorted pr checks workflow is executed
- doc: eth: restore comment lost in linter cleanup
- fix: ci: publish correct docker tags on workflow dispatch (#12060) (filecoin-project/lotus#12060)
- feat: libp2p: Lotus stream cleanup (#11993) (filecoin-project/lotus#11993)
- Update SupportedProofTypes (#11988) (filecoin-project/lotus#11988)
- Revert "Update SupportedProofTypes (#11988)" (#11990) ([#11990](https://github.com/filecoin...
v1.27.1-rc2
This is the second release candidate of the upcoming optional release of Lotus v1.27.1
☢️ Upgrade Warnings ☢️
- This Lotus release completely removes the Legacy Lotus/Lotus-Miner Markets sub-system from the codebase, which was announced to reach EOL on January 31, 2023.
- The Curio Storage software, designed to simplify the setup and operation of storage providers, has moved to their own Github-repository: https://github.com/filecoin-project/curio.
JSON-RPC 2.0 Specification Conformance
The JSON-RPC 2.0 specification requires that a "result"
property be present in the case of no error from an API call. This release ensures that all API calls that return a result have a "result"
property in the response. This is a behaviour change over Lotus v1.26 and will impact any API call that only has a single error return value, where no error has occurred.
For example, a successful WalletSetDefault
in v1.26 would return:
{
"jsonrpc": "2.0",
"id": 1
}
As of this change, in conformance with the JSON-RPC 2.0 specification it will return:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
There is no change in the behaviour when a call returns an error, as the error object will still be present in the response.
New features
- feat: Add trace transaction API supporting RPC method
trace_transaction
(filecoin-project/lotus#12068) - feat: Skeleton for nv23 (#11964) (filecoin-project/lotus#11964)
- feat: state: Ignore market balance after nv23 (#11976) (filecoin-project/lotus#11976)
- feat: ETH compatibility in Filecoin : Support Homestead and EIP-155 Ethereum transactions("legacy" transactions) in Filecoin after NV23 (#11969) (filecoin-project/lotus#11969)
- fix: hello: avoid dialing when fetching hello tipset (#12032) (filecoin-project/lotus#12032)
- feat: cli,events: speed up backfill with temporary index (#11953) (filecoin-project/lotus#11953)
Improvements
- Event index should be unique for tipsets (#11952) (filecoin-project/lotus#11952)
- cleanup: Lotus client: Remove markets and deal-making from Lotus Client (#11999) (filecoin-project/lotus#11999)
- fix: ci: use filecoin-ffi hash to cache make deps outputs (#11961) (filecoin-project/lotus#11961)
- add ETH addrs API to Gateway (#11979) (filecoin-project/lotus#11979)
- chore: remove unmaintained bootstrappers (#11983) (filecoin-project/lotus#11983)
- feat: api: add SectorNumber to MarketDealState (nv22)
- fix: copy Flags field from SectorOnChainInfo
- fix: ETH RPC API: ETH Call should use the parent state root of the subsequent tipset (filecoin-project/lotus#11905)
- fix: events: sqlite db improvements (filecoin-project/lotus#12090)
Dependencies
- chore: libp2p: update to v0.34.1 (#12027) (filecoin-project/lotus#12027)
- chore: update drand (#12021) (filecoin-project/lotus#12021)
- Bump pubsub-dep (#11966) (filecoin-project/lotus#11966)
- fix: update go-jsonrpc to v0.3.2
- Bump go-jsonrpc to v0.4.0 (#12034) (filecoin-project/lotus#12034)
- docs: rpc: document go-jsonrpc behaviour change
- chore: update go-data-transfer and go-graphsync
- github.com/filecoin-project/go-jsonrpc (v0.3.1 -> v0.3.2)
- github.com/filecoin-project/go-state-types (v0.13.3 -> v0.14.0-dev)
Lotus-Miner / Curio related changes
- fix logs (#12036) (filecoin-project/lotus#12036)
- feat: curioweb: Improve task_history indexes (#11911) (filecoin-project/lotus#11911)
- fix: curio taskstorage: Don't try to free reservations by nulled TaskID (#12018) (filecoin-project/lotus#12018)
- fix actor string (#12019) (filecoin-project/lotus#12019)
- fix: curio: Update pgx imports, fix db_storage alloc
- feat: curioweb: Show piece info on the sector page (#11955) (filecoin-project/lotus#11955)
- curio: feat: break trees task into TreeD(prefetch) and TreeRC (#11895) (filecoin-project/lotus#11895)
- fix: curio: node UI & darwin gpu count (#11950) (filecoin-project/lotus#11950)
- feat: curio: Keep more sector metadata in the DB long-term (#11933) (filecoin-project/lotus#11933)
- fix: curio/lmrpc: Check ParkPiece success before creating sectors (#11975) (filecoin-project/lotus#11975)
- feat: curio: docker devnet (#11954) (filecoin-project/lotus#11954)
- feat: curio: alertManager (#11926) (filecoin-project/lotus#11926)
- curio cfg edit: ux cleanups (#11985) (filecoin-project/lotus#11985)
- fix: curio: Drop FKs from pipeline to fix retry loops (#11973) (filecoin-project/lotus#11973)
- Produce DEB files for amd64 for openCL and cuda (#11885) (filecoin-project/lotus#11885)
- gui-listen fix (#12013) (filecoin-project/lotus#12013)
- feat: curio: allow multiple pieces per sector (#11935) (filecoin-project/lotus#11935)
- chore: update yugabyte deps (#12022) (filecoin-project/lotus#12022)
- fix: harmonydb: Use timestampz instead of timestamp across the schema (#12030) (filecoin-project/lotus#12030)
- cleanup: miner: remove markets and deal-making from Lotus Miner (#12005) (filecoin-project/lotus#12005)
- fix non existing sector (#12012) (filecoin-project/lotus#12012)
- feat: curio ffiselect: Isolate gpu calls in a subprocess (#11994) (filecoin-project/lotus#11994)
- feat: curio: jsonrpc in webui (#11904) (filecoin-project/lotus#11904)
- fix: itests: Fix flaky curio itest (#12037) (filecoin-project/lotus#12037)
- feat: curio: wdPost and wnPost alerts (#12029) (filecoin-project/lotus#12029)
- fix: storage: Fix a race in GenerateWindowPoStAdv (#12064) (filecoin-project/lotus#12064)
- Remove "provider" relics (#11992) (filecoin-project/lotus#11992)
- fix sector UI (#12016) (filecoin-project/lotus#12016)
Others
- ci: deprecate circle ci in favour of github actions (#11786) (filecoin-project/lotus#11786)
- src: chain: remove C dependency from builtin types (#12015) (filecoin-project/lotus#12015)
- chore: fix function names (#12043) (filecoin-project/lotus#12043)
- chore: bump build version in master (#11946) (filecoin-project/lotus#11946)
- fix: test: no snap deals in immutable deadlines (#12071) (filecoin-project/lotus#12071)
- test: actors: manual CC onboarding and proving integration test (#12017) (filecoin-project/lotus#12017)
- fix: ci: keep lotus checkout clean in the release workflow (#12028) (filecoin-project/lotus#12028)
- feat!: build: separate miner and node version strings
- chore: lint: address feedback from reviews
- chore: lint: fix lint errors with new linting config
- chore: lint: update golangci lint config
- ci: fix when sorted pr checks workflow is executed
- doc: eth: restore comment lost in linter cleanup
- fix: ci: publish correct docker tags on workflow dispatch (#12060) (filecoin-project/lotus#12060)
- feat: libp2p: Lotus stream cleanup (#11993) (filecoin-project/lotus#11993)
- Update SupportedProofTypes (#11988) (filecoin-project/lotus#11988)
- Revert "Update SupportedProofTypes (#11988)" (#11990) ([#11990](https://github.com/filecoin...
v1.27.1-rc1
This is the first release candidate of the upcoming optional release of Lotus v1.27.1
☢️ Upgrade Warnings ☢️
There are no upgrade warnings for this release candidate.
JSON-RPC 2.0 Specification Conformance
The JSON-RPC 2.0 specification requires that a "result"
property be present in the case of no error from an API call. This release ensures that all API calls that return a result have a "result"
property in the response. This is a behaviour change over Lotus v1.26 and will impact any API call that only has a single error return value, where no error has occurred.
For example, a successful WalletSetDefault
in v1.26 would return:
{
"jsonrpc": "2.0",
"id": 1
}
As of this change, in conformance with the JSON-RPC 2.0 specification it will return:
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
There is no change in the behaviour when a call returns an error, as the error object will still be present in the response.
New features
- feat: Add trace transaction API supporting RPC method
trace_transaction
(filecoin-project/lotus#12068) - feat: Skeleton for nv23 (#11964) (filecoin-project/lotus#11964)
- feat: state: Ignore market balance after nv23 (#11976) (filecoin-project/lotus#11976)
- feat: ETH compatibility in Filecoin : Support Homestead and EIP-155 Ethereum transactions("legacy" transactions) in Filecoin after NV23 (#11969) (filecoin-project/lotus#11969)
- fix: hello: avoid dialing when fetching hello tipset (#12032) (filecoin-project/lotus#12032)
- feat: cli,events: speed up backfill with temporary index (#11953) (filecoin-project/lotus#11953)
Improvements
- Event index should be unique for tipsets (#11952) (filecoin-project/lotus#11952)
- cleanup: Lotus client: Remove markets and deal-making from Lotus Client (#11999) (filecoin-project/lotus#11999)
- fix: ci: use filecoin-ffi hash to cache make deps outputs (#11961) (filecoin-project/lotus#11961)
- add ETH addrs API to Gateway (#11979) (filecoin-project/lotus#11979)
- chore: remove unmaintained bootstrappers (#11983) (filecoin-project/lotus#11983)
- feat: api: add SectorNumber to MarketDealState (nv22)
- fix: copy Flags field from SectorOnChainInfo
Dependencies
- chore: libp2p: update to v0.34.1 (#12027) (filecoin-project/lotus#12027)
- chore: update drand (#12021) (filecoin-project/lotus#12021)
- Bump pubsub-dep (#11966) (filecoin-project/lotus#11966)
- fix: update go-jsonrpc to v0.3.2
- Bump go-jsonrpc to v0.4.0 (#12034) (filecoin-project/lotus#12034)
- docs: rpc: document go-jsonrpc behaviour change
- chore: update go-data-transfer and go-graphsync
- github.com/filecoin-project/go-jsonrpc (v0.3.1 -> v0.3.2)
- github.com/filecoin-project/go-state-types (v0.13.3 -> v0.14.0-dev)
Lotus-Miner / Curio related changes
- fix logs (#12036) (filecoin-project/lotus#12036)
- feat: curioweb: Improve task_history indexes (#11911) (filecoin-project/lotus#11911)
- fix: curio taskstorage: Don't try to free reservations by nulled TaskID (#12018) (filecoin-project/lotus#12018)
- fix actor string (#12019) (filecoin-project/lotus#12019)
- fix: curio: Update pgx imports, fix db_storage alloc
- feat: curioweb: Show piece info on the sector page (#11955) (filecoin-project/lotus#11955)
- curio: feat: break trees task into TreeD(prefetch) and TreeRC (#11895) (filecoin-project/lotus#11895)
- fix: curio: node UI & darwin gpu count (#11950) (filecoin-project/lotus#11950)
- feat: curio: Keep more sector metadata in the DB long-term (#11933) (filecoin-project/lotus#11933)
- fix: curio/lmrpc: Check ParkPiece success before creating sectors (#11975) (filecoin-project/lotus#11975)
- feat: curio: docker devnet (#11954) (filecoin-project/lotus#11954)
- feat: curio: alertManager (#11926) (filecoin-project/lotus#11926)
- curio cfg edit: ux cleanups (#11985) (filecoin-project/lotus#11985)
- fix: curio: Drop FKs from pipeline to fix retry loops (#11973) (filecoin-project/lotus#11973)
- Produce DEB files for amd64 for openCL and cuda (#11885) (filecoin-project/lotus#11885)
- gui-listen fix (#12013) (filecoin-project/lotus#12013)
- feat: curio: allow multiple pieces per sector (#11935) (filecoin-project/lotus#11935)
- chore: update yugabyte deps (#12022) (filecoin-project/lotus#12022)
- fix: harmonydb: Use timestampz instead of timestamp across the schema (#12030) (filecoin-project/lotus#12030)
- cleanup: miner: remove markets and deal-making from Lotus Miner (#12005) (filecoin-project/lotus#12005)
- fix non existing sector (#12012) (filecoin-project/lotus#12012)
- feat: curio ffiselect: Isolate gpu calls in a subprocess (#11994) (filecoin-project/lotus#11994)
- feat: curio: jsonrpc in webui (#11904) (filecoin-project/lotus#11904)
- fix: itests: Fix flaky curio itest (#12037) (filecoin-project/lotus#12037)
- feat: curio: wdPost and wnPost alerts (#12029) (filecoin-project/lotus#12029)
- fix: storage: Fix a race in GenerateWindowPoStAdv (#12064) (filecoin-project/lotus#12064)
- Remove "provider" relics (#11992) (filecoin-project/lotus#11992)
- fix sector UI (#12016) (filecoin-project/lotus#12016)
Others
- ci: deprecate circle ci in favour of github actions (#11786) (filecoin-project/lotus#11786)
- src: chain: remove C dependency from builtin types (#12015) (filecoin-project/lotus#12015)
- chore: fix function names (#12043) (filecoin-project/lotus#12043)
- chore: bump build version in master (#11946) (filecoin-project/lotus#11946)
- fix: test: no snap deals in immutable deadlines (#12071) (filecoin-project/lotus#12071)
- test: actors: manual CC onboarding and proving integration test (#12017) (filecoin-project/lotus#12017)
- fix: ci: keep lotus checkout clean in the release workflow (#12028) (filecoin-project/lotus#12028)
- feat!: build: separate miner and node version strings
- chore: lint: address feedback from reviews
- chore: lint: fix lint errors with new linting config
- chore: lint: update golangci lint config
- ci: fix when sorted pr checks workflow is executed
- doc: eth: restore comment lost in linter cleanup
- fix: ci: publish correct docker tags on workflow dispatch (#12060) (filecoin-project/lotus#12060)
- feat: libp2p: Lotus stream cleanup (#11993) (filecoin-project/lotus#11993)
- Update SupportedProofTypes (#11988) (filecoin-project/lotus#11988)
- Revert "Update SupportedProofTypes (#11988)" (#11990) (filecoin-project/lotus#11990)
- chore: docs: Update skeleton guide (#11960) (filecoin-project/lotus#11960)
- chore: ci: request contents read permissions explicitly in gha (#12055) (filecoin-project/lotus#12055)
- fix: ci: use custom GITHUB_TOKEN for GoReleaser (#12059) (filecoin-project/lotus#12059)
- chore: pin golanglint-ci to v1.58.2 (#12054) ([#12054](https://github.com/filecoin-project/lotus...
v1.27.0
This is an optional feature release of Lotus. Lotus v1.27.0 includes numerous improvements, bugfixes and enhancements for node operators, RPC- and ETH RPC-providers. This feature release also introduces Curio in a Beta release. Check out the Curio Beta release section for how you can get started with Curio.
☢️ Upgrade Warnings ☢️
- Event Database: Two sequential migrations will adjust indexes without altering data or columns, ensuring minimal invasiveness when upgrading to this release. However, these migrations may be time-consuming for nodes with extensive event databases.
- This feature release drops the Raft cluster code experiment from the codebase. This Raft cluster never graduated beyond an experiment, had poor UX (e.g. no way to manage a running cluster, so it didn't provide High Availability), and pulled in a lot of heavy dependencies. We keep the multi-node RPC feature, it is not perfect, but it is useful.
Indexers, RPC- and ETH RPC-providers improvements
This release includes a lot of improvements and fixes for indexers, RPC- and ETH RPC-providers. Specifically these PRs:
- Significant performance improvements of eth_getLog
- Return the correct block gas limit in the EthAP
- Accept input data in call arguments under field 'input'
- Length check the array sent to eth_feeHistory RPC
- ETH subscribe tipsets API should only return tipsets that have been executed
- Adjust indexes in event index db to match query patterns
⭐️ Curio Beta Release ⭐️
Curio, the next generation of Lotus-Miner, also referred to as MinerV2! This release officially transitions Curio into beta and introduces a suite of powerful features designed to enhance your storage operations.
Highlights
- Curio as MinerV2: Embrace the revolutionary upgrade from Lotus-Miner to Curio. This transition is not just a rebranding—it's an upgrade to a more robust, scalable, and user-friendly version.
- High Availability: Curio is designed for high availability. You can run multiple instances of Curio nodes to handle similar type of tasks. The distributed scheduler and greedy worker design will ensure that tasks are completed on time despite most partial outages. You can safely update one of your Curio machines without disrupting the operation of the others.
- Node Heartbeat: Each Curio node in a cluster must post a heartbeat message every 10 minutes in HarmonyDB updating its status. If a heartbeat is missed, the node is considered lost and all tasks can now be scheduled on remaining nodes.
- Task Retry: Each task in Curio has a limit on how many times it should be tried before being declared lost. This ensures that Curio does not keep retrying bad tasks indefinitely. This safeguards against lost computation time and storage.
- Polling: Curio avoids overloading nodes with a polling system. Nodes check for tasks they can handle, prioritizing idle nodes for even workload distribution.
- Simple Configuration Management: The configuration is stored in the database in the forms of layers. These layers can be stacked on top of each other to create a final configuration. Users can reuse these layers to control the behavior of multiple machines without needing to maintain the configuration of each node. Start the binary with the appropriate flags to connect with YugabyteDB and specify which configuration layers to use to get desired behaviour.
Checkout this Github Dicsussion thread for testing Curio in developer network: #11991
New features
- feat: exchange: change GetBlocks to always fetch the requested number of tipsets (filecoin-project/lotus#11565)
- feat: syncer: optimize syncFork for one-epoch forks (filecoin-project/lotus#11533)
- feat: api: improve the correctness of Eth's trace_block (#11609) (filecoin-project/lotus#11609)
- perf: api: add indexes to event topics and emitter addr (#11477) (filecoin-project/lotus#11477)
- feat: drand: refactor round verification (filecoin-project/lotus#11598)
- feat: add Forest bootstrap nodes (#11636) (filecoin-project/lotus#11636)
- feat: curio: add miner init (#11775) (filecoin-project/lotus#11775)
- feat: curio: sectors UI (#11869) (filecoin-project/lotus#11869)
- feat: curio: storage index gc task (#11884) (filecoin-project/lotus#11884)
- feat: curio: web based config edit (#11822) (filecoin-project/lotus#11822)
- feat: spcli: sectors extend improvements (#11798) (filecoin-project/lotus#11798)
- feat: curio: Add schemas for DDO deal support (#11805) (filecoin-project/lotus#11805)
- feat: curioweb: add favicon (#11804) (filecoin-project/lotus#11804)
- feat: lotus-provider: Fetch params on startup when needed (filecoin-project/lotus#11650)
- feat: mpool: Cache actors in lite mode (#11668) (filecoin-project/lotus#11668)
- feat: curio: simpler reservation release logic (#11900) (filecoin-project/lotus#11900)
- feat: curio: add StorageInit api (#11918) (filecoin-project/lotus#11918)
- feat: lotus-provider: SDR Sealing pipeline (filecoin-project/lotus#11534)
- feat: curioweb: Sector info page (#11846) (filecoin-project/lotus#11846)
- feat: curio web: node info page (#11745) (filecoin-project/lotus#11745)
- feat: fvm: optimize FVM lanes a bit (#11875) (filecoin-project/lotus#11875)
- feat: Gateway API: Add ETH -> FIL and FIL -> ETH address conversion APIs to the Gateway (#11979) (filecoin-project/lotus#11979)
Improvements
- fix: api: return the correct block gas limit in the EthAPI (#11747) (filecoin-project/lotus#11747)
- fix: exchange: explicitly cast the block message limit const (#11511) (filecoin-project/lotus#11511)
- fix: Eth API: accept input data in call arguments under field 'input' (#11505) (filecoin-project/lotus#11505)
- fix: api: Length check the array sent to eth_feeHistory RPC (#11696) (filecoin-project/lotus#11696)
- fix: api: fix EthSubscribe tipsets off by one (#11858) (filecoin-project/lotus#11858)
- fix: lotus-provider: Fix log output format in wdPostTaskCmd (filecoin-project/lotus#11504)
- fix: lmcli: make 'sectors list' DDO-aware (#11839) (filecoin-project/lotus#11839)
- fix: lpwinning: Fix MiningBase.afterPropDelay (filecoin-project/lotus#11654)
- fix: exchange: allow up to 10k messages per block (filecoin-project/lotus#11506)
- fix: harmony: Fix task reclaim on restart (filecoin-project/lotus#11498)
- fix: lotus-provider: Wait for the correct taskID (filecoin-project/lotus#11493)
- fix: lotus-provider: show addresses in log (filecoin-project/lotus#11490)
- fix: sql Scan cannot write to an object (filecoin-project/lotus#11485)
- fix: lotus-provider: Fix winning PoSt (filecoin-project/lotus#11482)
- fix: lotus-provider: lotus-provider msg sending (filecoin-project/lotus#11480)
- fix: chain: use latest go-state-types types for miner UI (filecoin-project/lotus#11566)
- fix: Dockerfile non-interactive snapshot import (#11579) (filecoin-project/lotus#11579)
- fix: daemon: avoid prompting to remove chain when noninteractive (#11582) (filecoin-project/lotus#11582)
- fix: (events): check for sync-in-progress (#11932) (filecoin-project/lotus#11932)
- fix: curio: common commands (#11879) (filecoin-project/lotus#11879)
- fix: curio: fix incorrect null check for varcha...
v1.27.0-rc3
This is the third release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio.
☢️ Upgrade Warnings ☢️
- This feature release drops the Raft cluster code experiment from the codebase. This Raft cluster never graduated beyond an experiment, had poor UX (e.g. no way to manage a running cluster, so it didn't provide High Availability), and pulled in a lot of heavy dependencies. We keep the multi-node RPC feature, it is not perfect, but it is useful.
- Event Database: Two sequential migrations will adjust indexes without altering data or columns, ensuring minimal invasiveness when upgrading to this release. However, these migrations may be time-consuming for nodes with extensive event databases.
Indexers, RPC- and ETH RPC-providers improvements
This release includes a lot of improvements and fixes for indexers, RPC- and ETH RPC-providers. Specifically these PRs:
- Significant performance improvements of eth_getLog
- Return the correct block gas limit in the EthAP
- Accept input data in call arguments under field 'input'
- Length check the array sent to eth_feeHistory RPC
- ETH subscribe tipsets API should only return tipsets that have been executed
- Adjust indexes in event index db to match query patterns
⭐️ Curio Beta Release ⭐️
Curio, the next generation of Lotus-Miner, also referred to as MinerV2! This release officially transitions Curio into beta and introduces a suite of powerful features designed to enhance your storage operations.
Highlights
- Curio as MinerV2: Embrace the revolutionary upgrade from Lotus-Miner to Curio. This transition is not just a rebranding—it's an upgrade to a more robust, scalable, and user-friendly version.
- High Availability: Curio is designed for high availability. You can run multiple instances of Curio nodes to handle similar type of tasks. The distributed scheduler and greedy worker design will ensure that tasks are completed on time despite most partial outages. You can safely update one of your Curio machines without disrupting the operation of the others.
- Node Heartbeat: Each Curio node in a cluster must post a heartbeat message every 10 minutes in HarmonyDB updating its status. If a heartbeat is missed, the node is considered lost and all tasks can now be scheduled on remaining nodes.
- Task Retry: Each task in Curio has a limit on how many times it should be tried before being declared lost. This ensures that Curio does not keep retrying bad tasks indefinitely. This safeguards against lost computation time and storage.
- Polling: Curio avoids overloading nodes with a polling system. Nodes check for tasks they can handle, prioritizing idle nodes for even workload distribution.
- Simple Configuration Management: The configuration is stored in the database in the forms of layers. These layers can be stacked on top of each other to create a final configuration. Users can reuse these layers to control the behavior of multiple machines without needing to maintain the configuration of each node. Start the binary with the appropriate flags to connect with YugabyteDB and specify which configuration layers to use to get desired behaviour.
Getting Started with Curio
cd lotus
git pull
make clean deps all
sudo make install
On your local-dev-net or calibrationnet lotus-miner machine, initiate:
curio guided-setup
Need More Info?
For detailed documentation and additional information on Curio:
Curio Overview <- insert link
Visit the Curio Official Website insert link
❗Curio is in Beta state, and we recommend our users to run Curio in a testing environment or on the Calibration network for the time being.
New features
- feat: exchange: change GetBlocks to always fetch the requested number of tipsets (filecoin-project/lotus#11565)
- feat: syncer: optimize syncFork for one-epoch forks (filecoin-project/lotus#11533)
- feat: api: improve the correctness of Eth's trace_block (#11609) (filecoin-project/lotus#11609)
- perf: api: add indexes to event topics and emitter addr (#11477) (filecoin-project/lotus#11477)
- feat: drand: refactor round verification (filecoin-project/lotus#11598)
- feat: add Forest bootstrap nodes (#11636) (filecoin-project/lotus#11636)
- feat: curio: add miner init (#11775) (filecoin-project/lotus#11775)
- feat: curio: sectors UI (#11869) (filecoin-project/lotus#11869)
- feat: curio: storage index gc task (#11884) (filecoin-project/lotus#11884)
- feat: curio: web based config edit (#11822) (filecoin-project/lotus#11822)
- feat: spcli: sectors extend improvements (#11798) (filecoin-project/lotus#11798)
- feat: curio: Add schemas for DDO deal support (#11805) (filecoin-project/lotus#11805)
- feat: curioweb: add favicon (#11804) (filecoin-project/lotus#11804)
- feat: lotus-provider: Fetch params on startup when needed (filecoin-project/lotus#11650)
- feat: mpool: Cache actors in lite mode (#11668) (filecoin-project/lotus#11668)
- feat: curio: simpler reservation release logic (#11900) (filecoin-project/lotus#11900)
- feat: curio: add StorageInit api (#11918) (filecoin-project/lotus#11918)
- feat: lotus-provider: SDR Sealing pipeline (filecoin-project/lotus#11534)
- feat: curioweb: Sector info page (#11846) (filecoin-project/lotus#11846)
- feat: curio web: node info page (#11745) (filecoin-project/lotus#11745)
- feat: fvm: optimize FVM lanes a bit (#11875) (filecoin-project/lotus#11875)
- feat: Gateway API: Add ETH -> FIL and FIL -> ETH address conversion APIs to the Gateway (#11979) (filecoin-project/lotus#11979)
Improvements
- fix: api: return the correct block gas limit in the EthAPI (#11747) (filecoin-project/lotus#11747)
- fix: exchange: explicitly cast the block message limit const (#11511) (filecoin-project/lotus#11511)
- fix: Eth API: accept input data in call arguments under field 'input' (#11505) (filecoin-project/lotus#11505)
- fix: api: Length check the array sent to eth_feeHistory RPC (#11696) (filecoin-project/lotus#11696)
- fix: api: fix EthSubscribe tipsets off by one (#11858) (filecoin-project/lotus#11858)
- fix: lotus-provider: Fix log output format in wdPostTaskCmd (filecoin-project/lotus#11504)
- fix: lmcli: make 'sectors list' DDO-aware (#11839) (filecoin-project/lotus#11839)
- fix: lpwinning: Fix MiningBase.afterPropDelay (filecoin-project/lotus#11654)
- fix: exchange: allow up to 10k messages per block (filecoin-project/lotus#11506)
- fix: harmony: Fix task reclaim on restart (filecoin-project/lotus#11498)
- fix: lotus-provider: Wait for the correct taskID (filecoin-project/lotus#11493)
- fix: lotus-provider: show addresses in log (filecoin-project/lotus#11490)
- fix: sql Scan cannot write to an object (filecoin-project/lotus#11485)
- fix: lotus-provider: Fix winning PoSt (filecoin-project/lotus#11482)
- fix: lotus-provider: lotus-provider msg sending (filecoin-project/lotus#11480)
- fix: chain: use latest go-state-types types for miner UI (filecoin-project/lotus#11566)
- fix: Dockerfile non-interactive snapshot import (#11579) (filecoin-project/lotus#11579)
- fix: daemon: avoid prompting to remove chain when...
v1.27.0-rc2
This is the second release candidate of the upcoming optional release of Lotus v1.27.0. This feature release includes numerous improvements and enhancements for node operators, RPC- and ETH RPC-providers as well as storage providers. This feature release introduces Curio in Beta release. Check out the Curio Beta release section for how you can get started with Curio.
☢️ Upgrade Warnings ☢️
- This feature release drops the Raft cluster code experiment from the codebase. This Raft cluster never graduated beyond an experiment, had poor UX (e.g. no way to manage a running cluster, so it didn't provide High Availability), and pulled in a lot of heavy dependencies. We keep the multi-node RPC feature, it is not perfect, but it is useful.
- Event Database: Two sequential migrations will adjust indexes without altering data or columns, ensuring minimal invasiveness when upgrading to this release. However, these migrations may be time-consuming for nodes with extensive event databases.
Indexers, RPC- and ETH RPC-providers improvements
This release includes a lot of improvements and fixes for indexers, RPC- and ETH RPC-providers. Specifically these PRs:
- Significant performance improvements of eth_getLog
- Return the correct block gas limit in the EthAP
- Accept input data in call arguments under field 'input'
- Length check the array sent to eth_feeHistory RPC
- ETH subscribe tipsets API should only return tipsets that have been executed
- Adjust indexes in event index db to match query patterns
⭐️ Curio Beta Release ⭐️
Curio, the next generation of Lotus-Miner, also referred to as MinerV2! This release officially transitions Curio into beta and introduces a suite of powerful features designed to enhance your storage operations.
Highlights
- Curio as MinerV2: Embrace the revolutionary upgrade from Lotus-Miner to Curio. This transition is not just a rebranding—it's an upgrade to a more robust, scalable, and user-friendly version.
- High Availability: Curio is designed for high availability. You can run multiple instances of Curio nodes to handle similar type of tasks. The distributed scheduler and greedy worker design will ensure that tasks are completed on time despite most partial outages. You can safely update one of your Curio machines without disrupting the operation of the others.
- Node Heartbeat: Each Curio node in a cluster must post a heartbeat message every 10 minutes in HarmonyDB updating its status. If a heartbeat is missed, the node is considered lost and all tasks can now be scheduled on remaining nodes.
- Task Retry: Each task in Curio has a limit on how many times it should be tried before being declared lost. This ensures that Curio does not keep retrying bad tasks indefinitely. This safeguards against lost computation time and storage.
- Polling: Curio avoids overloading nodes with a polling system. Nodes check for tasks they can handle, prioritizing idle nodes for even workload distribution.
- Simple Configuration Management: The configuration is stored in the database in the forms of layers. These layers can be stacked on top of each other to create a final configuration. Users can reuse these layers to control the behavior of multiple machines without needing to maintain the configuration of each node. Start the binary with the appropriate flags to connect with YugabyteDB and specify which configuration layers to use to get desired behaviour.
Getting Started with Curio
cd lotus
git pull
make clean deps all
sudo make install
On your local-dev-net or calibrationnet lotus-miner machine, initiate:
curio guided-setup
Need More Info?
For detailed documentation and additional information on Curio:
Curio Overview <- insert link
Visit the Curio Official Website insert link
❗Curio is in Beta state, and we recommend our users to run Curio in a testing environment or on the Calibration network for the time being.
New features
- feat: exchange: change GetBlocks to always fetch the requested number of tipsets (filecoin-project/lotus#11565)
- feat: syncer: optimize syncFork for one-epoch forks (filecoin-project/lotus#11533)
- feat: api: improve the correctness of Eth's trace_block (#11609) (filecoin-project/lotus#11609)
- perf: api: add indexes to event topics and emitter addr (#11477) (filecoin-project/lotus#11477)
- feat: drand: refactor round verification (filecoin-project/lotus#11598)
- feat: add Forest bootstrap nodes (#11636) (filecoin-project/lotus#11636)
- feat: curio: add miner init (#11775) (filecoin-project/lotus#11775)
- feat: curio: sectors UI (#11869) (filecoin-project/lotus#11869)
- feat: curio: storage index gc task (#11884) (filecoin-project/lotus#11884)
- feat: curio: web based config edit (#11822) (filecoin-project/lotus#11822)
- feat: spcli: sectors extend improvements (#11798) (filecoin-project/lotus#11798)
- feat: curio: Add schemas for DDO deal support (#11805) (filecoin-project/lotus#11805)
- feat: curioweb: add favicon (#11804) (filecoin-project/lotus#11804)
- feat: lotus-provider: Fetch params on startup when needed (filecoin-project/lotus#11650)
- feat: mpool: Cache actors in lite mode (#11668) (filecoin-project/lotus#11668)
- feat: curio: simpler reservation release logic (#11900) (filecoin-project/lotus#11900)
- feat: curio: add StorageInit api (#11918) (filecoin-project/lotus#11918)
- feat: lotus-provider: SDR Sealing pipeline (filecoin-project/lotus#11534)
- feat: curioweb: Sector info page (#11846) (filecoin-project/lotus#11846)
- feat: curio web: node info page (#11745) (filecoin-project/lotus#11745)
- feat: fvm: optimize FVM lanes a bit (#11875) (filecoin-project/lotus#11875)
Improvements
- fix: api: return the correct block gas limit in the EthAPI (#11747) (filecoin-project/lotus#11747)
- fix: exchange: explicitly cast the block message limit const (#11511) (filecoin-project/lotus#11511)
- fix: Eth API: accept input data in call arguments under field 'input' (#11505) (filecoin-project/lotus#11505)
- fix: api: Length check the array sent to eth_feeHistory RPC (#11696) (filecoin-project/lotus#11696)
- fix: api: fix EthSubscribe tipsets off by one (#11858) (filecoin-project/lotus#11858)
- fix: lotus-provider: Fix log output format in wdPostTaskCmd (filecoin-project/lotus#11504)
- fix: lmcli: make 'sectors list' DDO-aware (#11839) (filecoin-project/lotus#11839)
- fix: lpwinning: Fix MiningBase.afterPropDelay (filecoin-project/lotus#11654)
- fix: exchange: allow up to 10k messages per block (filecoin-project/lotus#11506)
- fix: harmony: Fix task reclaim on restart (filecoin-project/lotus#11498)
- fix: lotus-provider: Wait for the correct taskID (filecoin-project/lotus#11493)
- fix: lotus-provider: show addresses in log (filecoin-project/lotus#11490)
- fix: sql Scan cannot write to an object (filecoin-project/lotus#11485)
- fix: lotus-provider: Fix winning PoSt (filecoin-project/lotus#11482)
- fix: lotus-provider: lotus-provider msg sending (filecoin-project/lotus#11480)
- fix: chain: use latest go-state-types types for miner UI (filecoin-project/lotus#11566)
- fix: Dockerfile non-interactive snapshot import (#11579) (filecoin-project/lotus#11579)
- fix: daemon: avoid prompting to remove chain when noninteractive (#11582) (filecoin-project/lotus#11582)
- fix: (events): check for sync-in-progress (#11932) ([filecoin-project/l...