Documentation
¶
Index ¶
- Constants
- type ChaincodeMetadata
- type ChaincodePackage
- type ChaincodePackageMetadata
- type ChaincodePackageParser
- type CodePackageNotFoundErr
- type FilesystemIO
- func (f *FilesystemIO) ReadDir(dirname string) ([]os.FileInfo, error)
- func (f *FilesystemIO) ReadFile(filename string) ([]byte, error)
- func (f *FilesystemIO) Remove(name string) error
- func (f *FilesystemIO) Stat(name string) (os.FileInfo, error)
- func (f *FilesystemIO) WriteFile(filename string, data []byte, perm os.FileMode) error
- type IOReadWriter
- type LegacyPackageProvider
- type PackageParser
- type PackageProvider
- type Store
- func (s *Store) GetChaincodeInstallPath() string
- func (s *Store) ListInstalledChaincodes() ([]chaincode.InstalledChaincode, error)
- func (s *Store) Load(hash []byte) (ccInstallPkg []byte, name, version string, err error)
- func (s *Store) LoadMetadata(path string) (name, version string, err error)
- func (s *Store) RetrieveHash(name string, version string) ([]byte, error)
- func (s *Store) Save(name, version string, ccInstallPkg []byte) ([]byte, error)
- type StorePackageProvider
Constants ¶
const (
ChaincodePackageMetadataFile = "Chaincode-Package-Metadata.json"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChaincodeMetadata ¶
ChaincodeMetadata holds the name and version of a chaincode
type ChaincodePackage ¶
type ChaincodePackage struct {
Metadata *ChaincodePackageMetadata
CodePackage []byte
}
ChaincodePackage represents the un-tar-ed format of the chaincode package.
type ChaincodePackageMetadata ¶
ChaincodePackageMetadata contains the information necessary to understand the embedded code package.
type ChaincodePackageParser ¶
type ChaincodePackageParser struct{}
ChaincodePackageParser provides the ability to parse chaincode packages
func (ChaincodePackageParser) Parse ¶
func (ccpp ChaincodePackageParser) Parse(source []byte) (*ChaincodePackage, error)
Parse parses a set of bytes as a chaincode package and returns the parsed package as a struct
type CodePackageNotFoundErr ¶
CodePackageNotFoundErr is the error returned when a code package cannot be found in the persistence store
func (*CodePackageNotFoundErr) Error ¶
func (e *CodePackageNotFoundErr) Error() string
type FilesystemIO ¶
type FilesystemIO struct {
}
FilesystemIO is the production implementation of the IOWriter interface
func (*FilesystemIO) ReadDir ¶
func (f *FilesystemIO) ReadDir(dirname string) ([]os.FileInfo, error)
ReadDir reads a directory from the filesystem
func (*FilesystemIO) ReadFile ¶
func (f *FilesystemIO) ReadFile(filename string) ([]byte, error)
ReadFile reads a file from the filesystem
func (*FilesystemIO) Remove ¶
func (f *FilesystemIO) Remove(name string) error
Remove removes a file from the filesystem - used for rolling back an in-flight Save operation upon a failure
type IOReadWriter ¶
type IOReadWriter interface {
ReadDir(string) ([]os.FileInfo, error)
ReadFile(string) ([]byte, error)
Remove(name string) error
Stat(string) (os.FileInfo, error)
WriteFile(string, []byte, os.FileMode) error
}
IOReadWriter defines the interface needed for reading, writing, removing, and checking for existence of a specified file
type LegacyPackageProvider ¶
type LegacyPackageProvider interface {
GetChaincodeCodePackage(name, version string) (codePackage []byte, err error)
ListInstalledChaincodes(dir string, de ccprovider.DirEnumerator, ce ccprovider.ChaincodeExtractor) ([]chaincode.InstalledChaincode, error)
}
LegacyPackageProvider is the interface needed to retrieve the code package from a ChaincodeDeploymentSpec
type PackageParser ¶
type PackageParser interface {
Parse(data []byte) (*ChaincodePackage, error)
}
PackageParser provides an implementation of chaincode package parsing
type PackageProvider ¶
type PackageProvider struct {
Store StorePackageProvider
Parser PackageParser
LegacyPP LegacyPackageProvider
}
PackageProvider holds the necessary dependencies to obtain the code package bytes for a chaincode
func (*PackageProvider) GetChaincodeCodePackage ¶
func (p *PackageProvider) GetChaincodeCodePackage(name, version string) ([]byte, error)
GetChaincodeCodePackage gets the code package bytes for a chaincode given the name and version. It first searches through the persisted ChaincodeInstallPackages and then falls back to searching for ChaincodeDeploymentSpecs
func (*PackageProvider) ListInstalledChaincodes ¶
func (p *PackageProvider) ListInstalledChaincodes() ([]chaincode.InstalledChaincode, error)
ListInstalledChaincodes returns metadata (name, version, and ID) for each chaincode installed on a peer
type Store ¶
type Store struct {
Path string
ReadWriter IOReadWriter
}
Store holds the information needed for persisting a chaincode install package
func (*Store) GetChaincodeInstallPath ¶
GetChaincodeInstallPath returns the path where chaincodes are installed
func (*Store) ListInstalledChaincodes ¶
func (s *Store) ListInstalledChaincodes() ([]chaincode.InstalledChaincode, error)
ListInstalledChaincodes returns an array with information about the chaincodes installed in the persistence store
func (*Store) Load ¶
Load loads a persisted chaincode install package bytes with the given hash and also returns the name and version
func (*Store) LoadMetadata ¶
LoadMetadata loads the chaincode metadata stored at the specified path
func (*Store) RetrieveHash ¶
RetrieveHash retrieves the hash of a chaincode install package given the name and version of the chaincode
type StorePackageProvider ¶
type StorePackageProvider interface {
GetChaincodeInstallPath() string
ListInstalledChaincodes() ([]chaincode.InstalledChaincode, error)
Load(hash []byte) (codePackage []byte, name, version string, err error)
RetrieveHash(name, version string) (hash []byte, err error)
}
StorePackageProvider is the interface needed to retrieve the code package from a ChaincodeInstallPackage