fabric: github.com/hyperledger/fabric/core/ledger/customtx Index | Files

package customtx

import "github.com/hyperledger/fabric/core/ledger/customtx"


Package Files

custom_tx_processor.go interface.go test_export.go

func Initialize Uses

func Initialize(customTxProcessors Processors)

Initialize sets the custom processors. This function is expected to be invoked only during ledgermgmt.Initialize() function.

func InitializeTestEnv Uses

func InitializeTestEnv(processors Processors)

InitializeTestEnv initializes custom tx processors for test

type InvalidTxError Uses

type InvalidTxError struct {
    Msg string

InvalidTxError is expected to be thrown by a custom transaction processor (an implementation of interface `Processor`) if it wants the ledger to record a particular transaction as invalid

func (*InvalidTxError) Error Uses

func (e *InvalidTxError) Error() string

type Processor Uses

type Processor interface {
    GenerateSimulationResults(txEnvelop *common.Envelope, simulator ledger.TxSimulator, initializingLedger bool) error

Processor allows to generate simulation results during commit time for custom transactions. A custom processor may represent the information in a propriety fashion and can use this process to translate the information into the form of `TxSimulationResults`. Because, the original information is signed in a custom representation, an implementation of a `Processor` should be cautious that the custom representation is used for simulation in an deterministic fashion and should take care of compatibility cross fabric versions. 'initializingLedger' true indicates that either the transaction being processed is from the genesis block or the ledger is syncing the state (which could happen during peer startup if the statedb is found to be lagging behind the blockchain). In the former case, the transactions processed are expected to be valid and in the latter case, only valid transactions are reprocessed and hence any validation can be skipped.

func GetProcessor Uses

func GetProcessor(txType common.HeaderType) Processor

GetProcessor returns a Processor associated with the txType

type Processors Uses

type Processors map[common.HeaderType]Processor

Processors maintains the association between a custom transaction type to its corresponding tx processor

Package customtx imports 3 packages (graph) and is imported by 7 packages. Updated 2019-09-27. Refresh now. Tools for package owners.