This is a large, and highly recommended, optional release with new features and improvements for lotus miner and deal-making UX. The release also integrates v3 specs-actors, which implements two FIPs:
- FIP-0007 h/amt-v3 which improves the performance of the Filecoin HAMT and AMT.
- FIP-0010 off-chain Window PoSt Verification which reduces the gas consumption of
SubmitedWindowedPost
messages significantly by optimistically accepting Window PoSt proofs without verification, and allowing them to be disputed later by off-chain verifiers.
Note that this release does NOT set an upgrade epoch for v3 actors to take effect. That will be done in the upcoming 1.5.0 release.
New Features
- #5341 Added sector termination API and CLI
- Run
lotus-miner sectors terminate
- Run
- #5342 Added CLI for using a multisig wallet as miner's owner address
- See how to set it up here
- #5363, #5418, #5476, #5459 Integrated spec-actor v3
- #5472 Generate actor v3 methods for pond
- #5379 Added WindowPoSt disputer
- This is to support FIP-0010 off-chian Window PoSt verification
- See how to run a disputer here
- #5309 Batch multiple deals in one
PublishStorageMessages
- #5411 Handle batch
PublishStorageDeals
message in sealing recovery - #5505 Exclude expired deals from batching in
PublishStorageDeals
messages - Added
PublishMsgPeriod
andMaxDealsPerPublishMsg
to minerDealmaking
configuration. See how they work here. - #5538, #5549 Added a command to list pending deals and force publish messages.
- Run
lotus-miner market pending-publish
- Run
- #5428 Moved waiting for
PublishStorageDeals
messages' receipt from markets to lotus
- #5411 Handle batch
- #5510 Added
nerpanet
build option- To build
nerpanet
, runmake nerpanet
- To build
- #5433 Added
AlwaysKeepUnsealedCopy
option to the miner configuration - #5520 Added
MsigGetPending
to get pending transactions for multisig wallets - #5219 Added interactive mode for lotus-wallet
- 5529 Added support for minder nodes in
lotus-shed rpc
util
Bug Fixes
- #5210 Miner should not dial client on restart
- #5403 When estimating GasLimit only apply prior messages up to the nonce
- #5410 Fix the calibnet build option
- #5492 Fixed
has
for ipfsbstore for non-existing blocks - #5361 Fixed retrieval hangs when using
IpfsOnlineMode=true
- #5493 Fixed retrieval failure when price-per-byte is zero
- #5506 Fixed contexts in the storage adpater
- #5515 Properly wire up
StateReadState
on gateway API - #5582 Fixed error logging format strings
- #5614 Fixed websocket reconnecting handling
Improvements
- #5389 Show verified indicator for
./lotus-miner storage-deals list
- #5229 Show power for verified deals in
./lotus-miner setocr list
- #5407 Added explicit check of the miner address protocol
- #5399 watchdog: increase heapprof capture threshold to 90%
- #5398 storageadapter: Look at precommits on-chain since deal publish msg
- #5470 Added
--no-timing
option for./lotus state compute-state --html
- #5417 Storage Manager: Always unseal full sectors
- #5393 Switched to filecoin-ffi bls api for bls signatures
- #5380 Refactor deals API tests
- #5397 Fixed a flake in the sync manager edge case test
- #5406 Added a test to ensure a correct window post cannot be disputed
- #5294 Added jobs to build Lotus docker image and push it to AWS ECR
- #5387 Added network info(mainnet|calibnet) in version
- #5497 Export metric for lotus-gateaway
- #4950 Removed bench policy
- #5047 Improved the UX for
./lotus-shed bitfield enc
- #5282 Snake a context through the chian blockstore creation
- #5350 Avoid using
mp.cfg
directrly to prevent race condition - #5449 Documented the block-header better
- #5404 Added retrying proofs if an incorrect one is generated
- #4545 Made state tipset usage consistent in the API
- #5540 Removed unnecessary database reads in validation check
- #5554 Fixed
build lotus-soup
CI job - #5552 Updated CircleCI to halt gracefully
- #5555 Cleanup and add docstrings of node builder
- #5564 Stopped depending on gocheck with gomod
- #5574 Updated CLI UI
- #5570 Added code CID to
StateReadState
return object - #5565 Added storageadapter.PublishMsgConfig to miner in testkit for lotus-soup testplan
- #5571 Added
lotus-seed gensis car
to generate lotus block for devnets - #5613 Check format in client commP util
- #5507 Refactored coalescing logic into its own function and take both cancellation sets into account
- #5592 Verify FFI version before building
Dependency Updates
- #5296 Upgraded to raulk/go-watchdog@v1.0.1
- #5450 Dependency updates
- #5425 Fixed stale imports in testplans/lotus-soup
- #5535 Updated to go-fil-markets@v1.1.7
- #5616 Updated to filecoin-ffi@b6e0b35fb49ed0fe
- #5599 Updated to go-bitfield@v0.2.4
- #5614, , #5621 Updated to go-jsonrpc@v0.1.3
- #5459 Updated to spec-actors@v3.0.1