-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Synthetic-porep #10970
feat: Synthetic-porep #10970
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This generally looks good, but we're really gonna need tests in order to gauge correctness. Given that this is just a draft, I'd consider (temporarily) setting network.SyntheticVersion
to 20, and writing an itest that generates and submits synthetic proofs. This will not fully pass (it'll get rejected by the actors code), but will at least get some of the code paths exercised.
@@ -208,7 +208,7 @@ type Partition interface { | |||
|
|||
type SectorOnChainInfo = minertypes.SectorOnChainInfo | |||
|
|||
func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof) (abi.RegisteredSealProof, error) { | |||
func PreferredSealProofTypeFromWindowPoStType(nver network.Version, proof abi.RegisteredPoStProof, configWantSynthetic bool) (abi.RegisteredSealProof, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is generated from chain/actors/builtin/miner/actor.go.template. Changes need to be made there, and generated using make actors-gen
in order for them to land here.
|
||
if err = ffi.ClearLayerData(ssize, paths.Cache); err != nil { | ||
log.Warn("failed to GenerateSynthProofs(): ", err) | ||
log.Warnf("num:%d tkt:%v seed:%v sealedCID:%v, unsealedCID:%v", sector.ID.Number, ticket, sealedCID, unsealedCID) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: not actually logging the seed here?
@snadrus Here are 2 tests that can combine to form a good foundation for a test here:
|
It seems like I need to wait until the actors work is done as this work revolves around the sealing pipeline but those recommended test require the network side to act correctly. |
Merged into #11057 |
Related Issues
Synthetic PoRep Sealing Implementation for considerable reduction in disk usage by sealing machines during the network proof epochs.
Proposed Changes
This including Rust Proofs, FFI, and Lotus Sealing Scheduler but lacks Network/Protocol code.
Additional Info
https://docs.google.com/document/d/1Ug4uC89Kkwhn3vcbiHETxToIUQ4zXEPa4QcQMPcvRxI/edit#heading=h.277tjch7w86w
https://www.notion.so/pl-strflt/FIP-0059-Synthetic-PoRep-180d995a027647198f6bffebc3eca932
https://www.notion.so/pl-strflt/Synthetic-PoRep-c15c9005f6284a9b9b3adeb6a3cecff1
filecoin-project/FIPs#245
Checklist
Before you mark the PR ready for review, please make sure that:
<PR type>: <area>: <change being made>
fix: mempool: Introduce a cache for valid signatures
PR type
: fix, feat, build, chore, ci, docs, perf, refactor, revert, style, testarea
, e.g. api, chain, state, market, mempool, multisig, networking, paych, proving, sealing, wallet, deps