Skip to content

Commit

Permalink
update run (#244)
Browse files Browse the repository at this point in the history
  • Loading branch information
AstaFrode authored Feb 22, 2024
1 parent 5439787 commit d68db06
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 93 deletions.
179 changes: 90 additions & 89 deletions cmd/console/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -375,57 +375,57 @@ func runCmd(cmd *cobra.Command, args []string) {
suc = true
break
}
if suc {
n.MinerPoisInfo = &pb.MinerPoisInfo{
Acc: responseMinerInitParam.Acc,
Front: responseMinerInitParam.Front,
Rear: responseMinerInitParam.Rear,
KeyN: responseMinerInitParam.KeyN,
KeyG: responseMinerInitParam.KeyG,
StatusTeeSign: responseMinerInitParam.StatusTeeSign,
}
err = n.SetPublickey(responseMinerInitParam.Podr2Pbk)
if err != nil {
out.Err("invalid podr2 public key")
os.Exit(1)
}
err = os.WriteFile(n.DataDir.Podr2PubkeyFile, responseMinerInitParam.Podr2Pbk, os.ModePerm)
if err != nil {
out.Err(fmt.Sprintf("write %v to Podr2PubkeyFile failed: %v", responseMinerInitParam.Podr2Pbk, err))
if !suc {
if (i + 1) == len(teeEndPointList) {
out.Err("All tee nodes are busy or unavailable, program exits.")
os.Exit(1)
}
break
continue
}
n.MinerPoisInfo = &pb.MinerPoisInfo{
Acc: responseMinerInitParam.Acc,
Front: responseMinerInitParam.Front,
Rear: responseMinerInitParam.Rear,
KeyN: responseMinerInitParam.KeyN,
KeyG: responseMinerInitParam.KeyG,
StatusTeeSign: responseMinerInitParam.StatusTeeSign,
}
err = n.SetPublickey(responseMinerInitParam.Podr2Pbk)
if err != nil {
out.Err("invalid podr2 public key")
os.Exit(1)
}
err = os.WriteFile(n.DataDir.Podr2PubkeyFile, responseMinerInitParam.Podr2Pbk, os.ModePerm)
if err != nil {
out.Err(fmt.Sprintf("write %v to Podr2PubkeyFile failed: %v", responseMinerInitParam.Podr2Pbk, err))
os.Exit(1)
}
poisKey, err := sutils.BytesToPoISKeyInfo(n.MinerPoisInfo.KeyG, n.MinerPoisInfo.KeyN)
if err != nil {
out.Err(err.Error())
os.Exit(1)
}
}

if !suc {
out.Err("All tee nodes are busy or unavailable, program exits.")
os.Exit(1)
}
poisKey, err := sutils.BytesToPoISKeyInfo(n.MinerPoisInfo.KeyG, n.MinerPoisInfo.KeyN)
if err != nil {
out.Err(err.Error())
os.Exit(1)
}

teeWorkPubkey, err := sutils.BytesToWorkPublickey([]byte(teeAcc))
if err != nil {
out.Err(err.Error())
os.Exit(1)
}
txhash, err := n.RegisterSminerPOISKey(
poisKey,
responseMinerInitParam.SignatureWithTeeController[:],
n.MinerPoisInfo.StatusTeeSign[:],
teeWorkPubkey,
)
if err != nil {
if txhash != "" {
out.Err(fmt.Sprintf("[%s] Register POIS key failed: %v", txhash, err))
} else {
out.Err(fmt.Sprintf("Register POIS key failed: %v", err))
teeWorkPubkey, err := sutils.BytesToWorkPublickey([]byte(teeAcc))
if err != nil {
out.Err(err.Error())
os.Exit(1)
}
os.Exit(1)
txhash, err := n.RegisterSminerPOISKey(
poisKey,
responseMinerInitParam.SignatureWithTeeController[:],
n.MinerPoisInfo.StatusTeeSign[:],
teeWorkPubkey,
)
if err != nil {
if txhash != "" {
out.Err(fmt.Sprintf("[%s] Register POIS key failed: %v", txhash, err))
} else {
out.Err(fmt.Sprintf("Register POIS key failed: %v", err))
}
os.Exit(1)
}
break
}
err = n.InitPois(
firstReg,
Expand Down Expand Up @@ -477,56 +477,57 @@ func runCmd(cmd *cobra.Command, args []string) {
suc = true
break
}
if suc {
n.MinerPoisInfo = &pb.MinerPoisInfo{
Acc: responseMinerInitParam.Acc,
Front: responseMinerInitParam.Front,
Rear: responseMinerInitParam.Rear,
KeyN: responseMinerInitParam.KeyN,
KeyG: responseMinerInitParam.KeyG,
StatusTeeSign: responseMinerInitParam.StatusTeeSign,
}
err = n.SetPublickey(responseMinerInitParam.Podr2Pbk)
if err != nil {
out.Err("invalid podr2 public key")
if !suc {
if (i + 1) == len(teeEndPointList) {
out.Err("All tee nodes are busy or unavailable, program exits.")
os.Exit(1)
}
err = os.WriteFile(n.DataDir.Podr2PubkeyFile, responseMinerInitParam.Podr2Pbk, os.ModePerm)
if err != nil {
out.Err(fmt.Sprintf("write %v to Podr2PubkeyFile failed: %v", responseMinerInitParam.Podr2Pbk, err))
os.Exit(1)
}
break
continue
}
}

if !suc {
out.Err("All tee nodes are busy or unavailable, program exits.")
os.Exit(1)
}
n.MinerPoisInfo = &pb.MinerPoisInfo{
Acc: responseMinerInitParam.Acc,
Front: responseMinerInitParam.Front,
Rear: responseMinerInitParam.Rear,
KeyN: responseMinerInitParam.KeyN,
KeyG: responseMinerInitParam.KeyG,
StatusTeeSign: responseMinerInitParam.StatusTeeSign,
}
err = n.SetPublickey(responseMinerInitParam.Podr2Pbk)
if err != nil {
out.Err("invalid podr2 public key")
os.Exit(1)
}
err = os.WriteFile(n.DataDir.Podr2PubkeyFile, responseMinerInitParam.Podr2Pbk, os.ModePerm)
if err != nil {
out.Err(fmt.Sprintf("write %v to Podr2PubkeyFile failed: %v", responseMinerInitParam.Podr2Pbk, err))
os.Exit(1)
}
poisKey, err := sutils.BytesToPoISKeyInfo(n.MinerPoisInfo.KeyG, n.MinerPoisInfo.KeyN)
if err != nil {
out.Err(err.Error())
os.Exit(1)
}

poisKey, err := sutils.BytesToPoISKeyInfo(n.MinerPoisInfo.KeyG, n.MinerPoisInfo.KeyN)
if err != nil {
out.Err(err.Error())
os.Exit(1)
teeWorkPubkey, err := sutils.BytesToWorkPublickey([]byte(teeAcc))
if err != nil {
out.Err(err.Error())
os.Exit(1)
}
txhash, err := n.RegisterSminerPOISKey(
poisKey,
responseMinerInitParam.SignatureWithTeeController[:],
n.MinerPoisInfo.StatusTeeSign[:],
teeWorkPubkey,
)
if err != nil {
out.Err(fmt.Sprintf("[%s] Register POIS key failed: %v", txhash, err))
os.Exit(1)
}
break
}

teeWorkPubkey, err := sutils.BytesToWorkPublickey([]byte(teeAcc))
if err != nil {
out.Err(err.Error())
os.Exit(1)
}
txhash, err := n.RegisterSminerPOISKey(
poisKey,
responseMinerInitParam.SignatureWithTeeController[:],
n.MinerPoisInfo.StatusTeeSign[:],
teeWorkPubkey,
)
if err != nil {
out.Err(fmt.Sprintf("[%s] Register POIS key failed: %v", txhash, err))
os.Exit(1)
}
time.Sleep(pattern.BlockInterval * 2)
time.Sleep(pattern.BlockInterval * 3)
var count uint8 = 0
for {
count++
Expand Down
5 changes: 1 addition & 4 deletions node/pois.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,7 @@ func (n *Node) InitPois(firstflag bool, front, rear, freeSpace, count int64, key
ChallAccPath: n.DataDir.AccDir,
MaxProofThread: n.GetCpuCores(),
}
fmt.Println("freeSpace:", freeSpace)
fmt.Println("int64(n.ExpendersInfo.K):", int64(n.ExpendersInfo.K))
fmt.Println("int64(n.ExpendersInfo.N):", int64(n.ExpendersInfo.N))
fmt.Println("int64(n.ExpendersInfo.D):", int64(n.ExpendersInfo.D))

// k,n,d and key are params that needs to be negotiated with the verifier in advance.
// minerID is storage node's account ID, and space is the amount of physical space available(MiB)
n.Prover, err = pois.NewProver(
Expand Down

0 comments on commit d68db06

Please sign in to comment.