63 Star 185 Fork 3

Gitee 极速下载/hyperledger-fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/hyperledger/fabric
克隆/下载
reset.go 1.84 KB
一键复制 编辑 原始数据 按行查看 历史
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/
package kvledger
import (
"github.com/hyperledger/fabric/common/ledger/blkstorage/fsblkstorage"
"github.com/hyperledger/fabric/common/ledger/util/leveldbhelper"
"github.com/hyperledger/fabric/core/ledger/ledgerconfig"
"github.com/pkg/errors"
)
// ResetAllKVLedgers resets all ledger to the genesis block.
func ResetAllKVLedgers() error {
fileLock := leveldbhelper.NewFileLock(ledgerconfig.GetFileLockPath())
if err := fileLock.Lock(); err != nil {
return errors.Wrap(err, "as another peer node command is executing,"+
" wait for that command to complete its execution or terminate it before retrying")
}
defer fileLock.Unlock()
logger.Info("Resetting all ledgers to genesis block")
ledgerDataFolder := ledgerconfig.GetRootPath()
logger.Infof("Ledger data folder from config = [%s]", ledgerDataFolder)
if err := dropDBs(); err != nil {
return err
}
if err := resetBlockStorage(); err != nil {
return err
}
logger.Info("All channel ledgers have been successfully reset to the genesis block")
return nil
}
// LoadPreResetHeight returns the pre-reset height of all ledgers.
func LoadPreResetHeight() (map[string]uint64, error) {
blockstorePath := ledgerconfig.GetBlockStorePath()
logger.Infof("Loading prereset height from path [%s]", blockstorePath)
return fsblkstorage.LoadPreResetHeight(blockstorePath)
}
func ClearPreResetHeight() error {
blockstorePath := ledgerconfig.GetBlockStorePath()
logger.Infof("Clearing off prereset height files from path [%s]", blockstorePath)
return fsblkstorage.ClearPreResetHeight(blockstorePath)
}
func resetBlockStorage() error {
blockstorePath := ledgerconfig.GetBlockStorePath()
logger.Infof("Resetting BlockStore to genesis block at location [%s]", blockstorePath)
return fsblkstorage.ResetBlockStore(blockstorePath)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mirrors/hyperledger-fabric.git
git@gitee.com:mirrors/hyperledger-fabric.git
mirrors
hyperledger-fabric
hyperledger-fabric
v1.4.3

搜索帮助