chain gen: YieldRepo
This commit is contained in:
parent
fae0422de6
commit
7f5cba1749
@ -31,6 +31,9 @@ type ChainGen struct {
|
|||||||
curBlock *types.FullBlock
|
curBlock *types.FullBlock
|
||||||
|
|
||||||
miner address.Address
|
miner address.Address
|
||||||
|
|
||||||
|
r repo.Repo
|
||||||
|
lr repo.LockedRepo
|
||||||
}
|
}
|
||||||
|
|
||||||
type mybs struct {
|
type mybs struct {
|
||||||
@ -48,18 +51,23 @@ func (m mybs) Get(c cid.Cid) (block.Block, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func NewGenerator() (*ChainGen, error) {
|
func NewGenerator() (*ChainGen, error) {
|
||||||
|
|
||||||
mr := repo.NewMemory(nil)
|
mr := repo.NewMemory(nil)
|
||||||
lr, err := mr.Lock()
|
lr, err := mr.Lock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
ds, err := lr.Datastore("/blocks")
|
ds, err := lr.Datastore("/metadata")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
bs := mybs{blockstore.NewBlockstore(ds)}
|
|
||||||
|
bds, err := lr.Datastore("/blocks")
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
bs := mybs{blockstore.NewBlockstore(bds)}
|
||||||
|
|
||||||
ks, err := lr.KeyStore()
|
ks, err := lr.KeyStore()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -105,6 +113,9 @@ func NewGenerator() (*ChainGen, error) {
|
|||||||
genesis: genb.Genesis,
|
genesis: genb.Genesis,
|
||||||
miner: miner,
|
miner: miner,
|
||||||
curBlock: genfb,
|
curBlock: genfb,
|
||||||
|
|
||||||
|
r: mr,
|
||||||
|
lr: lr,
|
||||||
}
|
}
|
||||||
|
|
||||||
return gen, nil
|
return gen, nil
|
||||||
@ -144,3 +155,10 @@ func (cg *ChainGen) NextBlock() (*types.FullBlock, error) {
|
|||||||
|
|
||||||
return fblk, nil
|
return fblk, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cg *ChainGen) YieldRepo() (repo.Repo, error) {
|
||||||
|
if err := cg.lr.Close(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return cg.r, nil
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user