Some fixes and dev utils

This commit is contained in:
Łukasz Magiera 2019-11-30 10:25:31 +01:00
parent 8767d8c16b
commit ed9279cf0c
8 changed files with 52 additions and 15 deletions

View File

@ -103,7 +103,7 @@ func (w *worker) processTask(ctx context.Context, task sectorbuilder.WorkerTask)
return errRes(xerrors.Errorf("pushing precommited data: %w", err)) return errRes(xerrors.Errorf("pushing precommited data: %w", err))
} }
case sectorbuilder.WorkerCommit: case sectorbuilder.WorkerCommit:
proof, err := w.sb.SealCommit(task.SectorID, task.SealTicket, task.SealSeed, task.Pieces, nil, task.Rspco) proof, err := w.sb.SealCommit(task.SectorID, task.SealTicket, task.SealSeed, task.Pieces, task.Rspco)
if err != nil { if err != nil {
return errRes(xerrors.Errorf("comitting: %w", err)) return errRes(xerrors.Errorf("comitting: %w", err))
} }
@ -210,5 +210,5 @@ func (w *worker) fetchSector(sectorID uint64, typ sectorbuilder.WorkerTaskType)
} }
func errRes(err error) sectorbuilder.SealRes { func errRes(err error) sectorbuilder.SealRes {
return sectorbuilder.SealRes{Err: err} return sectorbuilder.SealRes{Err: err.Error()}
} }

View File

@ -207,6 +207,11 @@ func migratePreSealedSectors(presealsb string, repoPath string, mds dtypes.Metad
} }
func migratePreSealMeta(ctx context.Context, api lapi.FullNode, presealDir string, maddr address.Address, mds dtypes.MetadataDS) error { func migratePreSealMeta(ctx context.Context, api lapi.FullNode, presealDir string, maddr address.Address, mds dtypes.MetadataDS) error {
presealDir, err := homedir.Expand(presealDir)
if err != nil {
return xerrors.Errorf("expanding preseal dir: %w", err)
}
b, err := ioutil.ReadFile(filepath.Join(presealDir, "pre-seal-"+maddr.String()+".json")) b, err := ioutil.ReadFile(filepath.Join(presealDir, "pre-seal-"+maddr.String()+".json"))
if err != nil { if err != nil {
return xerrors.Errorf("reading preseal metadata: %w", err) return xerrors.Errorf("reading preseal metadata: %w", err)

View File

@ -1 +0,0 @@
package sectorbuilder

View File

@ -97,7 +97,7 @@ func (rspco *JsonRSPCO) rspco() RawSealPreCommitOutput {
} }
type SealRes struct { type SealRes struct {
Err error Err string
Proof []byte Proof []byte
Rspco JsonRSPCO Rspco JsonRSPCO
@ -322,7 +322,11 @@ func (sb *SectorBuilder) ReadPieceFromSealedSector(pieceKey string) ([]byte, err
func (sb *SectorBuilder) sealPreCommitRemote(call workerCall) (RawSealPreCommitOutput, error) { func (sb *SectorBuilder) sealPreCommitRemote(call workerCall) (RawSealPreCommitOutput, error) {
select { select {
case ret := <-call.ret: case ret := <-call.ret:
return ret.Rspco.rspco(), ret.Err var err error
if ret.Err != "" {
err = xerrors.New(ret.Err)
}
return ret.Rspco.rspco(), err
case <-sb.stopping: case <-sb.stopping:
return RawSealPreCommitOutput{}, xerrors.New("sectorbuilder stopped") return RawSealPreCommitOutput{}, xerrors.New("sectorbuilder stopped")
} }
@ -402,7 +406,10 @@ func (sb *SectorBuilder) SealPreCommit(sectorID uint64, ticket SealTicket, piece
func (sb *SectorBuilder) sealCommitRemote(call workerCall) (proof []byte, err error) { func (sb *SectorBuilder) sealCommitRemote(call workerCall) (proof []byte, err error) {
select { select {
case ret := <-call.ret: case ret := <-call.ret:
return ret.Proof, ret.Err if ret.Err != "" {
err = xerrors.New(ret.Err)
}
return ret.Proof, err
case <-sb.stopping: case <-sb.stopping:
return nil, xerrors.New("sectorbuilder stopped") return nil, xerrors.New("sectorbuilder stopped")
} }

View File

@ -18,6 +18,7 @@ import (
logging "github.com/ipfs/go-log" logging "github.com/ipfs/go-log"
"github.com/ipfs/go-merkledag" "github.com/ipfs/go-merkledag"
peer "github.com/libp2p/go-libp2p-peer" peer "github.com/libp2p/go-libp2p-peer"
"github.com/mitchellh/go-homedir"
"github.com/filecoin-project/lotus/chain/address" "github.com/filecoin-project/lotus/chain/address"
"github.com/filecoin-project/lotus/chain/gen" "github.com/filecoin-project/lotus/chain/gen"
@ -72,18 +73,23 @@ func MakeGenesis(outFile, preseal string) func(bs dtypes.ChainBlockstore, w *wal
return func(bs dtypes.ChainBlockstore, w *wallet.Wallet) modules.Genesis { return func(bs dtypes.ChainBlockstore, w *wallet.Wallet) modules.Genesis {
return func() (*types.BlockHeader, error) { return func() (*types.BlockHeader, error) {
glog.Warn("Generating new random genesis block, note that this SHOULD NOT happen unless you are setting up new network") glog.Warn("Generating new random genesis block, note that this SHOULD NOT happen unless you are setting up new network")
preseal, err := homedir.Expand(preseal)
if err != nil {
return nil, xerrors.Errorf("expanding preseals json path: %w", err)
}
fdata, err := ioutil.ReadFile(preseal) fdata, err := ioutil.ReadFile(preseal)
if err != nil { if err != nil {
return nil, xerrors.Errorf("reading preseals json: %w", err)
}
var preseals map[string]genesis.GenesisMiner
if err := json.Unmarshal(fdata, &preseals); err != nil {
return nil, err return nil, err
} }
var preseal map[string]genesis.GenesisMiner minerAddresses := make([]address.Address, 0, len(preseals))
if err := json.Unmarshal(fdata, &preseal); err != nil { for s := range preseals {
return nil, err
}
minerAddresses := make([]address.Address, 0, len(preseal))
for s := range preseal {
a, err := address.NewFromString(s) a, err := address.NewFromString(s)
if err != nil { if err != nil {
return nil, err return nil, err
@ -96,13 +102,13 @@ func MakeGenesis(outFile, preseal string) func(bs dtypes.ChainBlockstore, w *wal
gmc := &gen.GenMinerCfg{ gmc := &gen.GenMinerCfg{
PeerIDs: []peer.ID{"peer ID 1"}, PeerIDs: []peer.ID{"peer ID 1"},
PreSeals: preseal, PreSeals: preseals,
MinerAddrs: minerAddresses, MinerAddrs: minerAddresses,
} }
addrs := map[address.Address]types.BigInt{} addrs := map[address.Address]types.BigInt{}
for _, miner := range preseal { for _, miner := range preseals {
if _, err := w.Import(&miner.Key); err != nil { if _, err := w.Import(&miner.Key); err != nil {
return nil, xerrors.Errorf("importing miner key: %w", err) return nil, xerrors.Errorf("importing miner key: %w", err)
} }

5
scripts/dev/drop-local-repos Executable file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env sh
set -o xtrace
rm -rf ~/.lotus ~/.lotusstorage/ ~/.genesis-sectors

8
scripts/dev/gen-daemon Executable file
View File

@ -0,0 +1,8 @@
#!/usr/bin/env sh
set -o xtrace
export TRUST_PARAMS=1
go run -tags=debug ./cmd/lotus-seed pre-seal
go run -tags=debug ./cmd/lotus daemon --lotus-make-random-genesis=devel.gen --genesis-presealed-sectors=~/.genesis-sectors/pre-seal-t0101.json

7
scripts/dev/sminer-init Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env sh
set -o xtrace
export TRUST_PARAMS=1
go run -tags=debug ./cmd/lotus-storage-miner init --actor=t0101 --genesis-miner --pre-sealed-sectors=~/.genesis-sectors