Version: v1.0.0 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2021 License: Apache-2.0 Imports: 19 Imported by: 87



Package txn enables creating, endorsing and sending transactions to Fabric peers and orderers.



This section is empty.


This section is empty.


func BroadcastPayload

func BroadcastPayload(reqCtx reqContext.Context, payload *common.Payload, orderers []fab.Orderer) (*fab.TransactionResponse, error)

BroadcastPayload will send the given payload to some orderer, picking random endpoints until all are exhausted

func CreateChaincodeInvokeProposal

func CreateChaincodeInvokeProposal(txh fab.TransactionHeader, request fab.ChaincodeInvokeRequest) (*fab.TransactionProposal, error)

CreateChaincodeInvokeProposal creates a proposal for transaction.

func CreateChannelHeader

func CreateChannelHeader(headerType common.HeaderType, opts ChannelHeaderOpts) (*common.ChannelHeader, error)

CreateChannelHeader is a utility method to build a common chain header (TODO refactor)

TODO: Determine if this function should be exported after refactoring is completed.

func CreatePayload

func CreatePayload(txh *TransactionHeader, channelHeader *common.ChannelHeader, data []byte) (*common.Payload, error)

CreatePayload creates a slice of payload bytes from a ChannelHeader and a data slice.

func CreateSignatureHeader

func CreateSignatureHeader(txh *TransactionHeader) (*common.SignatureHeader, error)

CreateSignatureHeader creates a SignatureHeader based on the nonce and creator of the transaction header.

func New

func New(request fab.TransactionRequest) (*fab.Transaction, error)

New create a transaction with proposal response, following the endorsement policy.

func Send

func Send(reqCtx reqContext.Context, tx *fab.Transaction, orderers []fab.Orderer) (*fab.TransactionResponse, error)

Send send a transaction to the chain’s orderer service (one or more orderer endpoints) for consensus and committing to the ledger.

func SendPayload

func SendPayload(reqCtx reqContext.Context, payload *common.Payload, orderers []fab.Orderer) (*common.Block, error)

SendPayload sends the given payload to each orderer and returns a block response

func SendProposal

func SendProposal(reqCtx reqContext.Context, proposal *fab.TransactionProposal, targets []fab.ProposalProcessor) ([]*fab.TransactionProposalResponse, error)

SendProposal sends a TransactionProposal to ProposalProcessor.


type CCProposalType

type CCProposalType int

CCProposalType reflects transitions in the chaincode lifecycle

const (
	Instantiate CCProposalType = iota

Define chaincode proposal types

type ChannelHeaderOpts

type ChannelHeaderOpts struct {
	TxnHeader   *TransactionHeader
	Epoch       uint64
	ChaincodeID string
	Timestamp   time.Time
	TLSCertHash []byte

ChannelHeaderOpts holds the parameters to create a ChannelHeader.

type TransactionHeader

type TransactionHeader struct {
	// contains filtered or unexported fields

TransactionHeader contains metadata for a transaction created by the SDK.

func NewHeader

func NewHeader(ctx contextApi.Client, channelID string, opts ...fab.TxnHeaderOpt) (*TransactionHeader, error)

NewHeader computes a TransactionID from the current user context and holds metadata to create transaction proposals.

func (*TransactionHeader) ChannelID

func (th *TransactionHeader) ChannelID() string

ChannelID returns the transaction's target channel identifier.

func (*TransactionHeader) Creator

func (th *TransactionHeader) Creator() []byte

Creator returns the transaction creator's identity bytes.

func (*TransactionHeader) Nonce

func (th *TransactionHeader) Nonce() []byte

Nonce returns the transaction's generated nonce.

func (*TransactionHeader) TransactionID

func (th *TransactionHeader) TransactionID() fab.TransactionID

TransactionID returns the transaction's computed identifier.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL