-
Notifications
You must be signed in to change notification settings - Fork 317
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
* init decoupling-post-worker code #1497
* init decoupling-post-worker code #1497
Conversation
Thanks for the PR! Having glanced at it very briefly, can someone describe the main objective and difference between the split PoSt API that's already available (started in #1278)? Just trying to get a better idea of the use case(s) and determine if there's overlap, as it appears there may be. |
@jennijuju @cryptonemo difference:
|
The existing API was designed to be distributed in the sense that vanilla proofs can be generated where the data is, then shipped back over the network to node(s) that generates the snark proof(s). I don't yet see how this differs from what's there. I see that you form the proofs into a string (which appears to be the main difference?), but the existing API allows for standard serialization of the vanilla proofs. A string type is not recommended for this use-case, particularly in an official API as there are no format guarantees. But the existing API doesn't constrain that, as it's just an API for getting the proofs and doesn't mind how they are shipped.
I'm still confused, as that was also the intent of the original distributed PoSt API (which is provided for both WinningPoSt and WindowPoSt). Again, I've only looked over the code briefly and was surprised by the amount of overlap, so am looking for specific differences that are required that aren't provided by the existing API. Some more (perhaps related) info about this is here, but I was unable to locate more specific design specifications at the moment: #854 |
I will take some time to verify whether the #1278 interface can meet the splitting requirements, and if it is feasible, we will directly use the existing interface |
7ff6f49
to
f75af00
Compare
@cryptonemo @jennijuju The existing code has been reused and the verification passed! |
|
f75af00
to
e5a3606
Compare
What specifically are you referring to? All I see is a method that returns a string, which isn't needed in the API. |
Removing the verifies is also not an option. If you can re-factor it to something that makes sense for the use case and show via test that it's needed (since the existing tests do not require it), we can review that. |
d5e9596
to
10ff1a3
Compare
|
0cab00a
to
01ce54e
Compare
@cryptonemo Please review that. or any suggestions |
31205ad
to
e8cfea2
Compare
e8cfea2
to
099a18a
Compare
@cryptonemo Api test code has been added |
ci/circleci: test_darwin failed: because the automatic running test environment did not prove parameters |
@cryptonemo Regarding the modification of the proof api, we think it is necessary after communication, otherwise the function will not be completed. Can you describe the PL suggestion here. Is it necessary to modify the original api? |
I'm not ignoring this, and this generally looks better, but I'll have to review in more detail (likely next week). |
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.
GitHub review intercepted this comment and made it pending. It's minor, but worth noting.
@@ -497,3 +498,9 @@ where | |||
Ok(res) | |||
} | |||
} | |||
|
|||
#[derive(Serialize, Deserialize)] | |||
pub struct PubVanRsp { |
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.
Without expressing an opinion on the rest, may I ask that you avoid names like this? Just spell out what you mean (and make sure that makes sense). This will help keep the code base as legible as possible.
Closing since this was replaced with #1526 |
Merge based on:
filecoin-project/lotus#6943