@@ -21,7 +21,6 @@ import (
21
21
"github.com/CESSProject/cess-go-sdk/chain"
22
22
sutils "github.com/CESSProject/cess-go-sdk/utils"
23
23
"github.com/CESSProject/cess-miner/configs"
24
- "github.com/CESSProject/cess-miner/node/common"
25
24
"github.com/CESSProject/cess-miner/pkg/com"
26
25
"github.com/CESSProject/cess-miner/pkg/com/pb"
27
26
"github.com/CESSProject/cess-miner/pkg/utils"
@@ -37,7 +36,7 @@ type challengedFile struct {
37
36
Fragments []string
38
37
}
39
38
40
- func (n * Node ) serviceChallenge (ch chan <- bool , rndIndex []types.U32 , rnd []chain.Random , chlgStart uint32 , isSubmitProof bool ) {
39
+ func (n * Node ) serviceChallenge (ch chan <- bool , rndIndex []types.U32 , rnd []chain.Random , chlgStart uint32 ) {
41
40
defer func () {
42
41
ch <- true
43
42
n .SetServiceChallenging (false )
@@ -47,13 +46,41 @@ func (n *Node) serviceChallenge(ch chan<- bool, rndIndex []types.U32, rnd []chai
47
46
}()
48
47
49
48
var err error
50
- if isSubmitProof {
51
- err = n .checkServiceProofRecord (chlgStart )
52
- if err == nil {
49
+
50
+ serviceProofRecord , err := n .LoadServiceProve ()
51
+ if err == nil {
52
+ if serviceProofRecord .Start != chlgStart {
53
+ os .Remove (n .GetServiceProve ())
54
+ n .Del ("info" , n .GetServiceProve ())
55
+ }
56
+
57
+ if ! serviceProofRecord .CanSubmitProof {
58
+ if serviceProofRecord .CanSubmitResult {
59
+ if serviceProofRecord .SignatureHex != "" {
60
+ teeSignBytes , err := hex .DecodeString (serviceProofRecord .SignatureHex )
61
+ if err != nil {
62
+ return
63
+ }
64
+ err = n .submitServiceResult (types .Bool (serviceProofRecord .Result ), teeSignBytes , serviceProofRecord .BloomFilter , serviceProofRecord .TeePublicKey )
65
+ if err != nil {
66
+ n .Schal ("err" , err .Error ())
67
+ }
68
+ serviceProofRecord .CanSubmitResult = false
69
+ n .SaveServiceProve (serviceProofRecord )
70
+ return
71
+ }
72
+ }
53
73
return
54
74
}
55
75
}
56
76
77
+ //if isSubmitProof {
78
+ //err = n.checkServiceProofRecord(chlgStart)
79
+ //if err == nil {
80
+ // return
81
+ //}
82
+ //}
83
+
57
84
n .SetServiceChallenging (true )
58
85
59
86
n .Schal ("info" , fmt .Sprintf ("service file chain challenge: %v" , chlgStart ))
@@ -71,35 +98,35 @@ func (n *Node) serviceChallenge(ch chan<- bool, rndIndex []types.U32, rnd []chai
71
98
n .Schal ("err" , fmt .Sprintf ("Save service file challenge random err: %v" , err ))
72
99
}
73
100
74
- var serviceProofRecord common.ServiceProofInfo
101
+ // var serviceProofRecord common.ServiceProofInfo
75
102
serviceProofRecord .Start = chlgStart
76
103
serviceProofRecord .CanSubmitProof = true
77
104
serviceProofRecord .CanSubmitResult = true
78
105
79
106
if totalChallengedLength <= 0 {
80
- err = n .submitServiceProof ([]types. U8 {} )
107
+ teePuk , teeSign , bloomFilter , result , err : = n .verifyEmpty ( rndIndex , rnd )
81
108
if err != nil {
82
109
n .Schal ("err" , err .Error ())
83
110
return
84
111
}
85
112
86
- serviceProofRecord .Proof = []types.U8 {}
87
- serviceProofRecord .CanSubmitProof = false
88
- n .SaveServiceProve (serviceProofRecord )
89
-
90
- time .Sleep (chain .BlockInterval * 2 )
91
- teePuk , teeSign , bloomFilter , result , err := n .verifyEmpty (rndIndex , rnd )
113
+ err = n .submitServiceProof ([]types.U8 {})
92
114
if err != nil {
93
115
n .Schal ("err" , err .Error ())
94
- return
116
+ // return
95
117
}
96
118
119
+ serviceProofRecord .Proof = []types.U8 {}
120
+ serviceProofRecord .CanSubmitProof = false
121
+ //n.SaveServiceProve(serviceProofRecord)
122
+
97
123
serviceProofRecord .Result = result
98
124
serviceProofRecord .BloomFilter = bloomFilter
99
125
serviceProofRecord .TeePublicKey = teePuk
100
126
serviceProofRecord .SignatureHex = hex .EncodeToString (teeSign )
101
127
n .SaveServiceProve (serviceProofRecord )
102
128
129
+ time .Sleep (chain .BlockInterval * 2 )
103
130
err = n .submitServiceResult (types .Bool (result ), teeSign , bloomFilter , teePuk )
104
131
if err != nil {
105
132
n .Schal ("err" , err .Error ())
@@ -129,7 +156,7 @@ func (n *Node) serviceChallenge(ch chan<- bool, rndIndex []types.U32, rnd []chai
129
156
err = n .submitServiceProof (proof )
130
157
if err != nil {
131
158
n .Schal ("err" , err .Error ())
132
- return
159
+ // return
133
160
}
134
161
135
162
serviceProofRecord .CanSubmitProof = false
@@ -162,7 +189,7 @@ func (n *Node) serviceChallenge(ch chan<- bool, rndIndex []types.U32, rnd []chai
162
189
err = n .submitServiceProof (proof )
163
190
if err != nil {
164
191
n .Schal ("err" , err .Error ())
165
- return
192
+ // return
166
193
}
167
194
168
195
serviceProofRecord .CanSubmitProof = false
@@ -329,24 +356,27 @@ func (n *Node) checkServiceProofRecord(challStart uint32) error {
329
356
return errors .New ("Local service file challenge record is outdated" )
330
357
}
331
358
332
- if ! serviceProofRecord .CanSubmitResult {
333
- return nil
359
+ if serviceProofRecord .CanSubmitProof {
360
+ return errors . New ( "not submit proof" )
334
361
}
335
362
336
- n . Schal ( "info" , fmt . Sprintf ( "local service proof file challenge: %v" , serviceProofRecord .Start ))
363
+ if serviceProofRecord .CanSubmitResult {
337
364
338
- if serviceProofRecord .SignatureHex != "" {
339
- teeSignBytes , err := hex .DecodeString (serviceProofRecord .SignatureHex )
340
- if err != nil {
341
- return err
342
- }
343
- err = n .submitServiceResult (types .Bool (serviceProofRecord .Result ), teeSignBytes , serviceProofRecord .BloomFilter , serviceProofRecord .TeePublicKey )
344
- if err != nil {
345
- n .Schal ("err" , err .Error ())
365
+ n .Schal ("info" , fmt .Sprintf ("local service proof file challenge: %v" , serviceProofRecord .Start ))
366
+
367
+ if serviceProofRecord .SignatureHex != "" {
368
+ teeSignBytes , err := hex .DecodeString (serviceProofRecord .SignatureHex )
369
+ if err != nil {
370
+ return err
371
+ }
372
+ err = n .submitServiceResult (types .Bool (serviceProofRecord .Result ), teeSignBytes , serviceProofRecord .BloomFilter , serviceProofRecord .TeePublicKey )
373
+ if err != nil {
374
+ n .Schal ("err" , err .Error ())
375
+ }
376
+ serviceProofRecord .CanSubmitResult = false
377
+ n .SaveServiceProve (serviceProofRecord )
378
+ return nil
346
379
}
347
- serviceProofRecord .CanSubmitResult = false
348
- n .SaveServiceProve (serviceProofRecord )
349
- return nil
350
380
}
351
381
352
382
return errors .New ("Service proof result not submited" )
0 commit comments