3 Star 6 Fork 7

Gitee 极速下载/Hyperledger fabric

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/hyperledger/fabric
克隆/下载
reset.go 2.03 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/pkg/errors"
)
// ResetAllKVLedgers resets all ledger to the genesis block.
func ResetAllKVLedgers(rootFSPath string) error {
fileLockPath := fileLockPath(rootFSPath)
fileLock := leveldbhelper.NewFileLock(fileLockPath)
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 channel ledgers to genesis block")
logger.Infof("Ledger data folder from config = [%s]", rootFSPath)
if err := dropDBs(rootFSPath); err != nil {
return err
}
if err := resetBlockStorage(rootFSPath); err != nil {
return err
}
logger.Info("All channel ledgers have been successfully reset to the genesis block")
return nil
}
// LoadPreResetHeight returns the prereset height for the specified ledgers.
func LoadPreResetHeight(rootFSPath string, ledgerIDs []string) (map[string]uint64, error) {
blockstorePath := BlockStorePath(rootFSPath)
logger.Infof("Loading prereset height from path [%s]", blockstorePath)
return fsblkstorage.LoadPreResetHeight(blockstorePath, ledgerIDs)
}
// ClearPreResetHeight removes the prereset height recorded in the file system for the specified ledgers.
func ClearPreResetHeight(rootFSPath string, ledgerIDs []string) error {
blockstorePath := BlockStorePath(rootFSPath)
logger.Infof("Clearing off prereset height files from path [%s] for ledgerIDs [%#v]", blockstorePath, ledgerIDs)
return fsblkstorage.ClearPreResetHeight(blockstorePath, ledgerIDs)
}
func resetBlockStorage(rootFSPath string) error {
blockstorePath := BlockStorePath(rootFSPath)
logger.Infof("Resetting BlockStore to genesis block at location [%s]", blockstorePath)
return fsblkstorage.ResetBlockStore(blockstorePath)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors/fabric.git
git@gitee.com:mirrors/fabric.git
mirrors
fabric
Hyperledger fabric
v2.0.1

搜索帮助

0d507c66 1850385 C8b1a773 1850385