...

Package ledgermgmt

import "github.com/hyperledger/fabric/core/ledger/ledgermgmt"
Overview
Index

Overview ▾

Variables

ErrLedgerAlreadyOpened is thrown by a CreateLedger call if a ledger with the given id is already opened

var ErrLedgerAlreadyOpened = errors.New("ledger already opened")

ErrLedgerMgmtNotInitialized is thrown when ledger mgmt is used before initializing this

var ErrLedgerMgmtNotInitialized = errors.New("ledger mgmt should be initialized before using")

func CleanupTestEnv

func CleanupTestEnv()

CleanupTestEnv closes the ledgermagmt and removes the store directory

func Close

func Close()

Close closes all the opened ledgers and any resources held for ledger management

func CreateLedger

func CreateLedger(genesisBlock *common.Block) (ledger.PeerLedger, error)

CreateLedger creates a new ledger with the given genesis block. This function guarantees that the creation of ledger and committing the genesis block would an atomic action The chain id retrieved from the genesis block is treated as a ledger id

func GetLedgerIDs

func GetLedgerIDs() ([]string, error)

GetLedgerIDs returns the ids of the ledgers created

func Initialize

func Initialize(initializer *Initializer)

Initialize initializes ledgermgmt

func InitializeExistingTestEnvWithInitializer

func InitializeExistingTestEnvWithInitializer(initializer *Initializer)

InitializeExistingTestEnvWithInitializer initializes ledgermgmt for tests with existing ledgers This function does not remove the existing ledgers and is used in upgrade tests TODO ledgermgmt should be reworked to move the package scoped functions to a struct

func InitializeTestEnv

func InitializeTestEnv()

InitializeTestEnv initializes ledgermgmt for tests

func InitializeTestEnvWithInitializer

func InitializeTestEnvWithInitializer(initializer *Initializer)

InitializeTestEnvWithInitializer initializes ledgermgmt for tests with the supplied Initializer

func OpenLedger

func OpenLedger(id string) (ledger.PeerLedger, error)

OpenLedger returns a ledger for the given id

type Initializer

Initializer encapsulates all the external dependencies for the ledger module

type Initializer struct {
    CustomTxProcessors            customtx.Processors
    PlatformRegistry              *platforms.Registry
    DeployedChaincodeInfoProvider ledger.DeployedChaincodeInfoProvider
    MembershipInfoProvider        ledger.MembershipInfoProvider
    MetricsProvider               metrics.Provider
    HealthCheckRegistry           ledger.HealthCheckRegistry
}