lifecycle

package
v0.0.0-...-523a819 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//InstalledChaincoDefuncName是用于安装链码的链码函数名
	InstallChaincodeFuncName = "InstallChaincode"

	//queryinstalledchaincodefuncname是用于查询已安装链码的链码函数名
	QueryInstalledChaincodeFuncName = "QueryInstalledChaincode"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ChaincodeStore

type ChaincodeStore interface {
	Save(name, version string, ccInstallPkg []byte) (hash []byte, err error)
	RetrieveHash(name, version string) (hash []byte, err error)
}

chaincodestore提供了一种持久化chaincode的方法

type Lifecycle

type Lifecycle struct {
	ChaincodeStore ChaincodeStore
	PackageParser  PackageParser
}

由SCC以及内部

func (*Lifecycle) InstallChaincode

func (l *Lifecycle) InstallChaincode(name, version string, chaincodeInstallPackage []byte) ([]byte, error)

它返回哈希以通过引用链码,或者在失败时返回一个错误。

func (*Lifecycle) QueryInstalledChaincode

func (l *Lifecycle) QueryInstalledChaincode(name, version string) ([]byte, error)

QueryInstalledChaincode返回给定名称和版本的已安装链码的哈希。

type PackageParser

type PackageParser interface {
	Parse(data []byte) (*persistence.ChaincodePackage, error)
}

type Protobuf

type Protobuf interface {
	Marshal(msg proto.Message) (marshaled []byte, err error)
	Unmarshal(marshaled []byte, msg proto.Message) error
}

protobuf定义protobuf生命周期需求的子集,并允许 用于注入模拟封送错误。

type ProtobufImpl

type ProtobufImpl struct{}

Protobufimpl是用于Protobuf的标准实现

func (ProtobufImpl) Marshal

func (p ProtobufImpl) Marshal(msg proto.Message) ([]byte, error)

元帅传给原定元帅

func (ProtobufImpl) Unmarshal

func (p ProtobufImpl) Unmarshal(marshaled []byte, msg proto.Message) error

解组传递给Proto。解组

type SCC

type SCC struct {
	Protobuf  Protobuf
	Functions SCCFunctions
}

SCC实现了满足chaincode接口所需的方法。 它将调用调用路由到支持实现。

func (*SCC) Chaincode

func (scc *SCC) Chaincode() shim.Chaincode

chaincode返回对自身的引用

func (*SCC) Enabled

func (scc *SCC) Enabled() bool

启用返回真

func (*SCC) Init

func (scc *SCC) Init(stub shim.ChaincodeStubInterface) pb.Response

init对于系统链码基本上是无用的,并且总是返回success

func (*SCC) InitArgs

func (scc *SCC) InitArgs() [][]byte

func (*SCC) InvokableCC2CC

func (scc *SCC) InvokableCC2CC() bool

InvokableCC2CC返回true

func (*SCC) InvokableExternal

func (scc *SCC) InvokableExternal() bool

InvokableExternal返回true

func (*SCC) Invoke

func (scc *SCC) Invoke(stub shim.ChaincodeStubInterface) pb.Response

invoke接受chaincode调用参数并将其路由到正确的 底层生命周期操作。所有函数只接受一个参数 键入marshaled lb.<functionname>args并返回marshaled lb.<functionname>result

func (*SCC) Name

func (scc *SCC) Name() string

name返回“+生命周期”

func (*SCC) Path

func (scc *SCC) Path() string

路径返回“github.com/hyperledger/fabric/core/chaincode/lifecycle”

type SCCFunctions

type SCCFunctions interface {
	//InstallChainCode将链码定义保存到磁盘
	InstallChaincode(name, version string, chaincodePackage []byte) (hash []byte, err error)

	//queryinstalledchaincode返回已安装链码的给定名称和版本的哈希
	QueryInstalledChaincode(name, version string) (hash []byte, err error)
}

sccfunctions提供带有具体参数的支持实现 对于每个SCC功能

Directories

Path Synopsis
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 伪造者生成的代码。
此源码被清华学神尹成大魔王专业翻译分析并修改 尹成QQ77025077 尹成微信18510341407 尹成所在QQ群721929980 尹成邮箱 yinc13@mails.tsinghua.edu.cn 尹成毕业于清华大学,微软区块链领域全球最有价值专家 https://mvp.microsoft.com/zh-cn/PublicProfile/4033620 伪造者生成的代码。

Jump to

Keyboard shortcuts

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