From 449b33abee19ff04de414de348b48087af805337 Mon Sep 17 00:00:00 2001 From: hunjixin <1084400399@qq.com> Date: Fri, 26 Mar 2021 13:32:03 +0800 Subject: [PATCH] remote calc winningpost proof --- api/api_storage.go | 3 +++ api/apistruct/struct.go | 7 +++++++ build/openrpc/full.json.gz | Bin 22582 -> 22595 bytes build/openrpc/miner.json.gz | Bin 7643 -> 7801 bytes build/openrpc/worker.json.gz | Bin 2578 -> 2579 bytes documentation/en/api-methods-miner.md | 20 ++++++++++++++++++++ node/impl/storminer.go | 9 ++++++++- 7 files changed, 38 insertions(+), 1 deletion(-) diff --git a/api/api_storage.go b/api/api_storage.go index f6efcd8af..9dae842d2 100644 --- a/api/api_storage.go +++ b/api/api_storage.go @@ -3,6 +3,7 @@ package api import ( "bytes" "context" + "github.com/filecoin-project/lotus/chain/actors/builtin" "time" "github.com/google/uuid" @@ -165,6 +166,8 @@ type StorageMiner interface { CreateBackup(ctx context.Context, fpath string) error //perm:admin CheckProvable(ctx context.Context, pp abi.RegisteredPoStProof, sectors []storage.SectorRef, expensive bool) (map[abi.SectorNumber]string, error) //perm:admin + + ComputeProof(ctx context.Context, ssi []builtin.SectorInfo, rand abi.PoStRandomness) ([]builtin.PoStProof, error) //perm:read } var _ storiface.WorkerReturn = *new(StorageMiner) diff --git a/api/apistruct/struct.go b/api/apistruct/struct.go index 34cf52fce..8fe40b574 100644 --- a/api/apistruct/struct.go +++ b/api/apistruct/struct.go @@ -20,6 +20,7 @@ import ( "github.com/filecoin-project/go-state-types/dline" "github.com/filecoin-project/lotus/api" apitypes "github.com/filecoin-project/lotus/api/types" + "github.com/filecoin-project/lotus/chain/actors/builtin" "github.com/filecoin-project/lotus/chain/actors/builtin/miner" "github.com/filecoin-project/lotus/chain/actors/builtin/paych" "github.com/filecoin-project/lotus/chain/types" @@ -532,6 +533,8 @@ type StorageMinerStruct struct { CheckProvable func(p0 context.Context, p1 abi.RegisteredPoStProof, p2 []storage.SectorRef, p3 bool) (map[abi.SectorNumber]string, error) `perm:"admin"` + ComputeProof func(p0 context.Context, p1 []builtin.SectorInfo, p2 abi.PoStRandomness) ([]builtin.PoStProof, error) `perm:"read"` + CreateBackup func(p0 context.Context, p1 string) error `perm:"admin"` DealsConsiderOfflineRetrievalDeals func(p0 context.Context) (bool, error) `perm:"admin"` @@ -1706,6 +1709,10 @@ func (s *StorageMinerStruct) CheckProvable(p0 context.Context, p1 abi.Registered return s.Internal.CheckProvable(p0, p1, p2, p3) } +func (s *StorageMinerStruct) ComputeProof(p0 context.Context, p1 []builtin.SectorInfo, p2 abi.PoStRandomness) ([]builtin.PoStProof, error) { + return s.Internal.ComputeProof(p0, p1, p2) +} + func (s *StorageMinerStruct) CreateBackup(p0 context.Context, p1 string) error { return s.Internal.CreateBackup(p0, p1) } diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index 42d7e5b954d1b5f955c274b897f12b195c68386a..729bc23680916c51c615571fb9fc45cde73ae15f 100644 GIT binary patch literal 22595 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 bMCQV|(2CBVZC)h7&(E={=}o^ts7U_>zxAJ= diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index faab78eb76c65d98e3190189bcda59a2faa51f16..224828a6652f32c604f5e99477de2131eddd6ec2 100644 GIT binary patch literal 7801 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 JfEo*V0RT7s00{s9 diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 7bf6216a75f64bf7adaa10fbee6e214287f259b6..fa31420ac2e65857996e9400aa535e638dcc31b9 100644 GIT binary patch delta 2479 zcmV;g2~hTu6q6KxABzY8000000RQY=|8v?p68~2;x?h?%4iF%DdHmKR_j;M>7cP0d z{?KG5!d^g)E%`}uQkvm^zma8(jqPB&&?CgtX%b|uw32uCv%C7j6XrfJ;oEqCPg>p9 z8MZKG6OIQ@SW)Ey9^m&}1rlA2hUo3+5?lBIgruB>6lbk}&andzcwu1=)Qme4557KO zMm$aVCw0N*l(pVE&WM5y*uoA-TTow_7Vhruru>FY0%oH(68-jti+d2)N(8n#LQAqY zeh1l{Dfq5hL-X50{t1$b3o?b)HQ0)aE0|cw@1n1_WK3J1nNJ)COas^S2Uy7Op`s`K zxUCDK$Ps#fqd(FKv7t32u6uc5ArOL#BlL8`Zj=BO2!>?qk|_|3xUB@Mnl;Uc?oc;< zbi)=m?C$OkTUZ93N5mWt@TvndX5EdvVc5bx5yUf75C}bu#`@DA3k#0~=aawYKH$Om z;?}~%aYD9;I}+Rnp{Q z2}Ndq1nIuaTp=nEL2HBjx}>?)?{-;6gdp?kqwHmRt~kaz<4DZQNvGSt%^6w6Ve|`C zOB;%ET2-tmnt@Ur-Rep*aFuR5;%(hT<#M`Kp^ObMHse`4pp_YSemDP)bABxU;aXNA z66U8;qPx*Lc;x$~Y4GIC!X9ObPf=wf;|nW)G4}nlRJBb{woGe^0j>*f=gjmws%F6$ z3GlcA+r;lvcBU zkQq``xLG;%D^3_SO$US>h8&!C^5x)9Q1+~%6ofR@yvCKWH08Q~?G%J=jtIwLX-9ZrPrjaUIM4W)P9;wB&c$88)jQ-PE5^oPy=ucz#S^Uo#zAGC7bYyu%=1! z^A+oB1iI!Xn2K84N%A6(pJ((pRjG^)|C>t{ccmR^^g!G|o6#$fJP>vyx!{d|W^+kx z;^INSYw3dPN8-mHu0Vo#&~l>-hNI8Y{PiyUOB>upMGaqZ_Oul6$kku0F;}5c!&n&w zd>7S>O-zP|b(4^qqcUBjrmZA_ne@gg#8%;tZoXCcz#rh+cm@@XLxOTU`K%hAZ<>e3 z?cFPU-3Pb#IpsQ{IkY#f_aZ2+T zDhSLom3AAQ4+*=5$p11TxLmMXSm8s>QvOq;zZoy@J-3M)@}Bqf3()DTR5oCXG5&sQ z#Yv}NRdFP^4N_i%lt#uXsYi-9Ur&O7I<3#2H+xr^#`3kq5NeYx2y?g{hjiPBPtaq? z8j^)}drg?+h2 z?4NT5m&}3h;Zl3<=CK;FOp@7Oy4)U5!Y|u1w$Wv80<8TEu%25s&uGUEH&FIFz4P7d zp?o=8L7RZF2^bGEU_9v*EMZ)M3q--8cEly;7!q$X7PY^nVS; zH5m6AFz%#aLGB8|otssmO%oL%n)YeU8@{|aGALCHQc**iFdvtqJSA$QPih8YYX<|9 zT$WVX0!6K+d%G3mib9)b@ID4^_FzU-n21E;7{YZAL_-Re4X%N>L+*K0WrgT@HAzrb z^Ztx%689?1TQZO`KC>ID4zU$|fPYMlestnD3?$7K8UJ*xiy?Jn4R10%l=Xa(?x*o8 z_X585!K=)Q?*Sg*EmXu8J=Sc7YR#nVJVXe48b-^0(WHbHlPPrR08?~Alajnz_4_{r z42hXL-C(q|;Vo&k;)KKC3AeSuB$Ih}{Das)dXLhXoy~iscc#WYc@Lidjemdt+Yjd4 z^S_O~3Ct(G{)F~|`B@M^zx&WP4)-?Ot7s}$omYFG$!VxUxlL!NiT;}C?*M$;Zo%UJ z%B{=yOF} zF92Pka{U-I#X}Q@?v+061FGlB+RFp>2A&#tI#77(73_o1zhG5eF+zSSwZqLQt68BU__N4e+5!@a**WKf1MXaL)y*Aouu%Q1zdHf~qJ|F!ejsd delta 2499 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 N|NnO&nCSs~0067n*!BPb diff --git a/documentation/en/api-methods-miner.md b/documentation/en/api-methods-miner.md index 7a1fed274..00d09b0f4 100644 --- a/documentation/en/api-methods-miner.md +++ b/documentation/en/api-methods-miner.md @@ -14,6 +14,8 @@ * [AuthVerify](#AuthVerify) * [Check](#Check) * [CheckProvable](#CheckProvable) +* [Compute](#Compute) + * [ComputeProof](#ComputeProof) * [Create](#Create) * [CreateBackup](#CreateBackup) * [Deals](#Deals) @@ -295,6 +297,24 @@ Response: } ``` +## Compute + + +### ComputeProof + + +Perms: read + +Inputs: +```json +[ + null, + null +] +``` + +Response: `null` + ## Create diff --git a/node/impl/storminer.go b/node/impl/storminer.go index e81560059..ee15d447b 100644 --- a/node/impl/storminer.go +++ b/node/impl/storminer.go @@ -3,6 +3,8 @@ package impl import ( "context" "encoding/json" + "github.com/filecoin-project/lotus/chain/actors/builtin" + "github.com/filecoin-project/lotus/chain/gen" "net/http" "os" "strconv" @@ -63,7 +65,8 @@ type StorageMinerAPI struct { AddrSel *storage.AddressSelector DealPublisher *storageadapter.DealPublisher - DS dtypes.MetadataDS + Epp gen.WinningPoStProver + DS dtypes.MetadataDS ConsiderOnlineStorageDealsConfigFunc dtypes.ConsiderOnlineStorageDealsConfigFunc SetConsiderOnlineStorageDealsConfigFunc dtypes.SetConsiderOnlineStorageDealsConfigFunc @@ -696,4 +699,8 @@ func (sm *StorageMinerAPI) Discover(ctx context.Context) (apitypes.OpenRPCDocume return build.OpenRPCDiscoverJSON_Miner(), nil } +func (sm *StorageMinerAPI) ComputeProof(ctx context.Context, ssi []builtin.SectorInfo, rand abi.PoStRandomness) ([]builtin.PoStProof, error) { + return sm.Epp.ComputeProof(ctx, ssi, rand) +} + var _ api.StorageMiner = &StorageMinerAPI{}