fabric: github.com/hyperledger/fabric/orderer/common/bootstrap Index | Files | Directories

package bootstrap

import "github.com/hyperledger/fabric/orderer/common/bootstrap"


Package Files


type Helper Uses

type Helper interface {
    // GenesisBlock should return the genesis block required to bootstrap
    // the ledger (be it reading from the filesystem, generating it, etc.)
    GenesisBlock() *ab.Block

Helper defines the functions a bootstrapping implementation should provide.

type Replacer Uses

type Replacer interface {
    // ReplaceGenesisBlockFile should first copy the current file to a backup
    // file: <genesis-file-name> => <genesis-file-name>.bak
    // and then overwrite the original file with the content of the given block.
    // If something goes wrong during migration, the original file could be
    // restored from the backup.
    // An error is returned if the operation was not completed successfully.
    ReplaceGenesisBlockFile(block *ab.Block) error

    // CheckReadWrite checks whether the current file is readable and writable,
    // because if it is not, there is no point in attempting to replace. This
    // check is performed at the beginning of the consensus-type migration
    // process.
    // An error is returned if the file is not readable and writable.
    CheckReadWrite() error

Replacer provides the ability to to replace the current genesis block used for bootstrapping with the supplied block. It is used during consensus-type migration in order to replace the original genesis block used for bootstrapping with the latest config block of the system channel, which contains the new consensus-type. This will ensure the instantiation of the correct consenter type when the server restarts.



Package bootstrap imports 1 packages (graph) and is imported by 3 packages. Updated 2020-07-13. Refresh now. Tools for package owners.