load sector info from pre seal file
This commit is contained in:
parent
5d12659266
commit
ce5c76c6d6
@ -4,6 +4,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
@ -20,6 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/filecoin-project/lotus/build"
|
"github.com/filecoin-project/lotus/build"
|
||||||
"github.com/filecoin-project/lotus/chain/address"
|
"github.com/filecoin-project/lotus/chain/address"
|
||||||
|
"github.com/filecoin-project/lotus/genesis"
|
||||||
"github.com/filecoin-project/lotus/lib/sectorbuilder"
|
"github.com/filecoin-project/lotus/lib/sectorbuilder"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -68,6 +70,11 @@ func main() {
|
|||||||
Name: "no-gpu",
|
Name: "no-gpu",
|
||||||
Usage: "disable gpu usage for the benchmark run",
|
Usage: "disable gpu usage for the benchmark run",
|
||||||
},
|
},
|
||||||
|
&cli.StringFlag{
|
||||||
|
Name: "miner-addr",
|
||||||
|
Usage: "pass miner address (only necessary if using existing sectorbuilder)",
|
||||||
|
Value: "t0101",
|
||||||
|
},
|
||||||
&cli.StringFlag{
|
&cli.StringFlag{
|
||||||
Name: "benchmark-existing-sectorbuilder",
|
Name: "benchmark-existing-sectorbuilder",
|
||||||
Usage: "pass a directory to run election-post timings on an existing sectorbuilder",
|
Usage: "pass a directory to run election-post timings on an existing sectorbuilder",
|
||||||
@ -104,7 +111,7 @@ func main() {
|
|||||||
sbdir = robench
|
sbdir = robench
|
||||||
}
|
}
|
||||||
|
|
||||||
maddr, err := address.NewFromString("t0101")
|
maddr, err := address.NewFromString(c.String("miner-addr"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -224,6 +231,34 @@ func main() {
|
|||||||
var challenge [32]byte
|
var challenge [32]byte
|
||||||
rand.Read(challenge[:])
|
rand.Read(challenge[:])
|
||||||
|
|
||||||
|
if robench != "" {
|
||||||
|
// TODO: this assumes we only ever benchmark a preseal
|
||||||
|
// sectorbuilder directory... we need a better way to handle
|
||||||
|
// this in other cases
|
||||||
|
|
||||||
|
fdata, err := ioutil.ReadFile(filepath.Join(sbdir, "pre-seal-"+maddr.String()+".json"))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
var genmm map[string]genesis.GenesisMiner
|
||||||
|
if err := json.Unmarshal(fdata, &genmm); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
genm, ok := genmm[maddr.String()]
|
||||||
|
if !ok {
|
||||||
|
return xerrors.Errorf("preseal file didnt have expected miner in it")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, s := range genm.Sectors {
|
||||||
|
sealedSectors = append(sealedSectors, ffi.PublicSectorInfo{
|
||||||
|
CommR: s.CommR,
|
||||||
|
SectorID: s.SectorID,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
log.Info("generating election post candidates")
|
log.Info("generating election post candidates")
|
||||||
sinfos := sectorbuilder.NewSortedPublicSectorInfo(sealedSectors)
|
sinfos := sectorbuilder.NewSortedPublicSectorInfo(sealedSectors)
|
||||||
candidates, err := sb.GenerateEPostCandidates(sinfos, challenge, []uint64{})
|
candidates, err := sb.GenerateEPostCandidates(sinfos, challenge, []uint64{})
|
||||||
|
Loading…
Reference in New Issue
Block a user