Documentation ¶
Index ¶
- func ChaincodeInvokeOrQuery(spec *pb.ChaincodeSpec, cID string, txID string, invoke bool, ...) (*pb.ProposalResponse, error)
- func Cmd(cf *ChaincodeCmdFactory, cryptoProvider bccsp.BCCSP) *cobra.Command
- func GetCollectionConfigFromFile(ccFile string) (*pb.CollectionConfigPackage, []byte, error)
- type ChaincodeCmdFactory
- type DeliverClient
- type DeliverGroup
- func (dg *DeliverGroup) ClientConnect(ctx context.Context, dc *DeliverClient)
- func (dg *DeliverGroup) ClientWait(dc *DeliverClient)
- func (dg *DeliverGroup) Connect(ctx context.Context) error
- func (dg *DeliverGroup) Wait(ctx context.Context) error
- func (dg *DeliverGroup) WaitForWG(readyCh chan struct{})
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ChaincodeInvokeOrQuery ¶
func ChaincodeInvokeOrQuery( spec *pb.ChaincodeSpec, cID string, txID string, invoke bool, signer identity.SignerSerializer, certificate tls.Certificate, endorserClients []pb.EndorserClient, deliverClients []pb.DeliverClient, bc common.BroadcastClient, ) (*pb.ProposalResponse, error)
ChaincodeInvokeOrQuery invokes or queries the chaincode. If successful, the INVOKE form prints the ProposalResponse to STDOUT, and the QUERY form prints the query result on STDOUT. A command-line flag (-r, --raw) determines whether the query result is output as raw bytes, or as a printable string. The printable form is optionally (-x, --hex) a hexadecimal representation of the query response. If the query response is NIL, nothing is output.
NOTE - Query will likely go away as all interactions with the endorser are Proposal and ProposalResponses
func Cmd ¶
func Cmd(cf *ChaincodeCmdFactory, cryptoProvider bccsp.BCCSP) *cobra.Command
Cmd returns the cobra command for Chaincode
func GetCollectionConfigFromFile ¶
func GetCollectionConfigFromFile(ccFile string) (*pb.CollectionConfigPackage, []byte, error)
GetCollectionConfigFromFile retrieves the collection configuration from the supplied file; the supplied file must contain a json-formatted array of collectionConfigJson elements
Types ¶
type ChaincodeCmdFactory ¶
type ChaincodeCmdFactory struct { EndorserClients []pb.EndorserClient DeliverClients []pb.DeliverClient Certificate tls.Certificate Signer identity.SignerSerializer BroadcastClient common.BroadcastClient }
ChaincodeCmdFactory holds the clients used by ChaincodeCmd
func InitCmdFactory ¶
func InitCmdFactory(cmdName string, isEndorserRequired, isOrdererRequired bool, cryptoProvider bccsp.BCCSP) (*ChaincodeCmdFactory, error)
InitCmdFactory init the ChaincodeCmdFactory with default clients
type DeliverClient ¶
type DeliverClient struct { Client pb.DeliverClient Connection pb.Deliver_DeliverClient Address string }
DeliverClient holds the client/connection related to a specific peer. The address is included for logging purposes
type DeliverGroup ¶
type DeliverGroup struct { Clients []*DeliverClient Certificate tls.Certificate ChannelID string TxID string Signer identity.SignerSerializer Error error // contains filtered or unexported fields }
DeliverGroup holds all of the information needed to connect to a set of peers to wait for the interested txid to be committed to the ledgers of all peers. This functionality is currently implemented via the peer's DeliverFiltered service. An error from any of the peers/deliver clients will result in the invoke command returning an error. Only the first error that occurs will be set
func NewDeliverGroup ¶
func NewDeliverGroup( deliverClients []pb.DeliverClient, peerAddresses []string, signer identity.SignerSerializer, certificate tls.Certificate, channelID string, txid string, ) *DeliverGroup
func (*DeliverGroup) ClientConnect ¶
func (dg *DeliverGroup) ClientConnect(ctx context.Context, dc *DeliverClient)
ClientConnect sends a deliver seek info envelope using the provided deliver client, setting the deliverGroup's Error field upon any error
func (*DeliverGroup) ClientWait ¶
func (dg *DeliverGroup) ClientWait(dc *DeliverClient)
ClientWait waits for the specified deliver client to receive a block event with the requested txid
func (*DeliverGroup) Connect ¶
func (dg *DeliverGroup) Connect(ctx context.Context) error
Connect waits for all deliver clients in the group to connect to the peer's deliver service, receive an error, or for the context to timeout. An error will be returned whenever even a single deliver client fails to connect to its peer
func (*DeliverGroup) Wait ¶
func (dg *DeliverGroup) Wait(ctx context.Context) error
Wait waits for all deliver client connections in the group to either receive a block with the txid, an error, or for the context to timeout
func (*DeliverGroup) WaitForWG ¶
func (dg *DeliverGroup) WaitForWG(readyCh chan struct{})
WaitForWG waits for the deliverGroup's wait group and closes the channel when ready