can we store it? YES WE CAN
This commit is contained in:
@@ -249,7 +249,6 @@ func Config(cfg *config.Root) Option {
|
||||
),
|
||||
|
||||
ApplyIf(func(s *Settings) bool { return s.nodeType == nodeStorageMiner },
|
||||
Override(new(*sectorbuilder.SectorBuilderConfig), modules.SectorBuilderConfig),
|
||||
Override(new(*sectorbuilder.SectorBuilder), sectorbuilder.New),
|
||||
),
|
||||
)
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"context"
|
||||
"io/ioutil"
|
||||
|
||||
"github.com/filecoin-project/go-lotus/api"
|
||||
"github.com/filecoin-project/go-lotus/lib/sectorbuilder"
|
||||
)
|
||||
@@ -11,4 +14,24 @@ type StorageMinerAPI struct {
|
||||
SectorBuilder *sectorbuilder.SectorBuilder
|
||||
}
|
||||
|
||||
func (sm *StorageMinerAPI) StoreGarbageData(ctx context.Context) (uint64, error) {
|
||||
data := make([]byte, 1024)
|
||||
fi, err := ioutil.TempFile("", "lotus-garbage")
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
if _, err := fi.Write(data); err != nil {
|
||||
return 0, err
|
||||
}
|
||||
fi.Close()
|
||||
|
||||
sectorId, err := sm.SectorBuilder.AddPiece("foo", 1024, fi.Name())
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
return sectorId, err
|
||||
}
|
||||
|
||||
var _ api.StorageMiner = &StorageMinerAPI{}
|
||||
|
||||
+18
-16
@@ -219,22 +219,24 @@ func LoadGenesis(genBytes []byte) func(blockstore.Blockstore) Genesis {
|
||||
}
|
||||
}
|
||||
|
||||
func SectorBuilderConfig(storagePath string) (*sectorbuilder.SectorBuilderConfig, error) {
|
||||
metadata := filepath.Join(storagePath, "meta")
|
||||
sealed := filepath.Join(storagePath, "sealed")
|
||||
staging := filepath.Join(storagePath, "staging")
|
||||
func SectorBuilderConfig(storagePath string) func() (*sectorbuilder.SectorBuilderConfig, error) {
|
||||
return func() (*sectorbuilder.SectorBuilderConfig, error) {
|
||||
metadata := filepath.Join(storagePath, "meta")
|
||||
sealed := filepath.Join(storagePath, "sealed")
|
||||
staging := filepath.Join(storagePath, "staging")
|
||||
|
||||
// TODO: get the address of the miner actor
|
||||
minerAddr, err := address.NewIDAddress(42)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
// TODO: get the address of the miner actor
|
||||
minerAddr, err := address.NewIDAddress(42)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return §orbuilder.SectorBuilderConfig{
|
||||
Miner: minerAddr,
|
||||
SectorSize: 1024,
|
||||
MetadataDir: metadata,
|
||||
SealedDir: sealed,
|
||||
StagedDir: staging,
|
||||
}, nil
|
||||
}
|
||||
|
||||
return §orbuilder.SectorBuilderConfig{
|
||||
Miner: minerAddr,
|
||||
SectorSize: 1024,
|
||||
MetadataDir: metadata,
|
||||
SealedDir: sealed,
|
||||
StagedDir: staging,
|
||||
}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user