github.com/hechain20/hechain@v0.0.0-20220316014945-b544036ba106/orderer/common/server/util.go (about)

     1  /*
     2  Copyright hechain. 2017 All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package server
     8  
     9  import (
    10  	"github.com/hechain20/hechain/common/ledger/blockledger"
    11  	"github.com/hechain20/hechain/common/ledger/blockledger/fileledger"
    12  	"github.com/hechain20/hechain/common/metrics"
    13  	config "github.com/hechain20/hechain/orderer/common/localconfig"
    14  	"github.com/pkg/errors"
    15  )
    16  
    17  func createLedgerFactory(conf *config.TopLevel, metricsProvider metrics.Provider) (blockledger.Factory, error) {
    18  	ld := conf.FileLedger.Location
    19  	if ld == "" {
    20  		logger.Panic("Orderer.FileLedger.Location must be set")
    21  	}
    22  
    23  	logger.Debug("Ledger dir:", ld)
    24  	lf, err := fileledger.New(ld, metricsProvider)
    25  	if err != nil {
    26  		return nil, errors.WithMessage(err, "Error in opening ledger factory")
    27  	}
    28  	return lf, nil
    29  }