Documentation ¶
Index ¶
- Variables
- type CAConfig
- type CCType
- type ChannelConfig
- type ChannelPeer
- type ClientConfig
- type Config
- type ConfigProvider
- type CredentialStoreType
- type CryptoSuite
- type EnrollCredentials
- type EventServiceType
- type HashOpts
- type KVStore
- type Key
- type KeyGenOpts
- type KeyImportOpts
- type LoggingType
- type MatchConfig
- type MutualTLSConfig
- type NetworkConfig
- type NetworkPeer
- type OrdererConfig
- type OrganizationConfig
- type PeerChannelConfig
- type PeerConfig
- type Providers
- type SignerOpts
- type SigningManager
- type TLSKeyPair
- type TLSType
- type TimeoutType
Constants ¶
This section is empty.
Variables ¶
var ( // ErrKeyValueNotFound indicates that a value for the key does not exist ErrKeyValueNotFound = errors.New("value for key not found") )
Functions ¶
This section is empty.
Types ¶
type CAConfig ¶
type CAConfig struct { URL string HTTPOptions map[string]interface{} TLSCACerts MutualTLSConfig Registrar EnrollCredentials CAName string }
CAConfig defines a CA configuration
type ChannelConfig ¶
type ChannelConfig struct { // Orderers list of ordering service nodes Orderers []string // Peers a list of peer-channels that are part of this organization // to get the real Peer config object, use the Name field and fetch NetworkConfig.Peers[Name] Peers map[string]PeerChannelConfig // Chaincodes list of services Chaincodes []string }
ChannelConfig provides the definition of channels for the network
type ChannelPeer ¶
type ChannelPeer struct { PeerChannelConfig NetworkPeer }
ChannelPeer combines channel peer info with raw peerConfig info
type ClientConfig ¶
type ClientConfig struct { Organization string Logging LoggingType CryptoConfig CCType TLS TLSType TLSCerts MutualTLSConfig CredentialStore CredentialStoreType }
ClientConfig provides the definition of the client configuration
type Config ¶
type Config interface { Client() (*ClientConfig, error) CAConfig(org string) (*CAConfig, error) CAServerCertPems(org string) ([]string, error) CAServerCertPaths(org string) ([]string, error) CAClientKeyPem(org string) (string, error) CAClientKeyPath(org string) (string, error) CAClientCertPem(org string) (string, error) CAClientCertPath(org string) (string, error) TimeoutOrDefault(TimeoutType) time.Duration Timeout(TimeoutType) time.Duration MSPID(org string) (string, error) PeerMSPID(name string) (string, error) OrderersConfig() ([]OrdererConfig, error) RandomOrdererConfig() (*OrdererConfig, error) OrdererConfig(name string) (*OrdererConfig, error) PeersConfig(org string) ([]PeerConfig, error) PeerConfig(org string, name string) (*PeerConfig, error) PeerConfigByURL(url string) (*PeerConfig, error) NetworkConfig() (*NetworkConfig, error) NetworkPeers() ([]NetworkPeer, error) ChannelConfig(name string) (*ChannelConfig, error) ChannelPeers(name string) ([]ChannelPeer, error) ChannelOrderers(name string) ([]OrdererConfig, error) TLSCACertPool(certConfig ...*x509.Certificate) (*x509.CertPool, error) IsSecurityEnabled() bool SecurityAlgorithm() string SecurityLevel() int SecurityProvider() string Ephemeral() bool SoftVerify() bool SecurityProviderLibPath() string SecurityProviderPin() string SecurityProviderLabel() string KeyStorePath() string CAKeyStorePath() string CryptoConfigPath() string TLSClientCerts() ([]tls.Certificate, error) CredentialStorePath() string EventServiceType() EventServiceType }
Config fabric-sdk-go configuration interface
type ConfigProvider ¶
ConfigProvider enables creation of a Config instance
type CredentialStoreType ¶
CredentialStoreType defines pluggable KV store properties
type CryptoSuite ¶
type CryptoSuite interface { // KeyGen generates a key using opts. KeyGen(opts KeyGenOpts) (k Key, err error) // KeyImport imports a key from its raw representation using opts. // The opts argument should be appropriate for the primitive used. KeyImport(raw interface{}, opts KeyImportOpts) (k Key, err error) // GetKey returns the key this CSP associates to // the Subject Key Identifier ski. GetKey(ski []byte) (k Key, err error) // Hash hashes messages msg using options opts. // If opts is nil, the default hash function will be used. Hash(msg []byte, opts HashOpts) (hash []byte, err error) // GetHash returns and instance of hash.Hash using options opts. // If opts is nil, the default hash function will be returned. GetHash(opts HashOpts) (h hash.Hash, err error) // Sign signs digest using key k. // The opts argument should be appropriate for the algorithm used. // // Note that when a signature of a hash of a larger message is needed, // the caller is responsible for hashing the larger message and passing // the hash (as digest). Sign(k Key, digest []byte, opts SignerOpts) (signature []byte, err error) // Verify verifies signature against key k and digest // The opts argument should be appropriate for the algorithm used. Verify(k Key, signature, digest []byte, opts SignerOpts) (valid bool, err error) }
CryptoSuite adaptor for all bccsp functionalities used by SDK
type EnrollCredentials ¶
EnrollCredentials holds credentials used for enrollment
type EventServiceType ¶
type EventServiceType int
EventServiceType specifies the type of event service to use
const ( // DeliverEventServiceType uses the Deliver Service for block and filtered-block events DeliverEventServiceType EventServiceType = iota // EventHubEventServiceType uses the Event Hub for block events EventHubEventServiceType )
type HashOpts ¶
type HashOpts interface { // Algorithm returns the hash algorithm identifier (to be used). Algorithm() string }
HashOpts contains options for hashing with a CSP.
type KVStore ¶
type KVStore interface { /** * Store sets the value for the key. */ Store(key interface{}, value interface{}) error /** * Load returns the value stored in the store for a key. * If a value for the key was not found, returns (nil, ErrNotFound) */ Load(key interface{}) (interface{}, error) /** * Delete deletes the value for a key. */ Delete(key interface{}) error }
KVStore is a generic key-value store interface.
type Key ¶
type Key interface { // Bytes converts this key to its byte representation, // if this operation is allowed. Bytes() ([]byte, error) // SKI returns the subject key identifier of this key. SKI() []byte // Symmetric returns true if this key is a symmetric key, // false is this key is asymmetric Symmetric() bool // Private returns true if this key is a private key, // false otherwise. Private() bool // PublicKey returns the corresponding public key part of an asymmetric public/private key pair. // This method returns an error in symmetric key schemes. PublicKey() (Key, error) }
Key represents a cryptographic key
type KeyGenOpts ¶
type KeyGenOpts interface { // Algorithm returns the key generation algorithm identifier (to be used). Algorithm() string // Ephemeral returns true if the key to generate has to be ephemeral, // false otherwise. Ephemeral() bool }
KeyGenOpts contains options for key-generation with a CSP.
type KeyImportOpts ¶
type KeyImportOpts interface { // Algorithm returns the key importation algorithm identifier (to be used). Algorithm() string // Ephemeral returns true if the key generated has to be ephemeral, // false otherwise. Ephemeral() bool }
KeyImportOpts contains options for importing the raw material of a key with a CSP.
type LoggingType ¶
type LoggingType struct {
Level string
}
LoggingType defines the level of logging
type MatchConfig ¶
type MatchConfig struct { Pattern string URLSubstitutionExp string EventURLSubstitutionExp string SSLTargetOverrideURLSubstitutionExp string MappedHost string }
MatchConfig contains match pattern and substitution pattern for pattern matching of network configured hostnames with static config
type MutualTLSConfig ¶
type MutualTLSConfig struct { Pem []string // Certfiles root certificates for TLS validation (Comma separated path list) Path string //Client TLS information Client TLSKeyPair }
MutualTLSConfig Mutual TLS configurations
type NetworkConfig ¶
type NetworkConfig struct { Name string Xtype string Description string Version string Client ClientConfig Channels map[string]ChannelConfig Organizations map[string]OrganizationConfig Orderers map[string]OrdererConfig Peers map[string]PeerConfig CertificateAuthorities map[string]CAConfig EntityMatchers map[string][]MatchConfig }
NetworkConfig provides a static definition of a Hyperledger Fabric network
type NetworkPeer ¶
type NetworkPeer struct { PeerConfig MSPID string }
NetworkPeer combines peer info with MSP info
type OrdererConfig ¶
type OrdererConfig struct { URL string GRPCOptions map[string]interface{} TLSCACerts endpoint.TLSConfig }
OrdererConfig defines an orderer configuration
type OrganizationConfig ¶
type OrganizationConfig struct { MSPID string CryptoPath string Users map[string]TLSKeyPair Peers []string CertificateAuthorities []string AdminPrivateKey endpoint.TLSConfig SignedCert endpoint.TLSConfig }
OrganizationConfig provides the definition of an organization in the network
type PeerChannelConfig ¶
type PeerChannelConfig struct { EndorsingPeer bool ChaincodeQuery bool LedgerQuery bool EventSource bool }
PeerChannelConfig defines the peer capabilities
type PeerConfig ¶
type PeerConfig struct { URL string EventURL string GRPCOptions map[string]interface{} TLSCACerts endpoint.TLSConfig }
PeerConfig defines a peer configuration
type Providers ¶
type Providers interface { CryptoSuite() CryptoSuite Config() Config SigningManager() SigningManager }
Providers represents the SDK configured core providers context.
type SignerOpts ¶
type SignerOpts interface { crypto.SignerOpts }
SignerOpts contains options for signing with a CSP.
type SigningManager ¶
SigningManager signs object with provided key
type TLSKeyPair ¶
TLSKeyPair contains the private key and certificate for TLS encryption
type TimeoutType ¶
type TimeoutType int
TimeoutType enumerates the different types of outgoing connections
const ( // EndorserConnection connection timeout EndorserConnection TimeoutType = iota // EventHubConnection connection timeout EventHubConnection // EventReg connection timeout EventReg // Query timeout Query // Execute timeout Execute // OrdererConnection orderer connection timeout OrdererConnection // OrdererResponse orderer response timeout OrdererResponse // DiscoveryGreylistExpiry discovery Greylist expiration period DiscoveryGreylistExpiry // ConnectionIdle is the timeout for closing idle connections ConnectionIdle // CacheSweepInterval is the duration between cache sweeps CacheSweepInterval // EventServiceIdle is the timeout for closing the event service connection EventServiceIdle // PeerResponse peer response timeout PeerResponse // ResMgmt timeout is default overall timeout for all resource management operations ResMgmt // ChannelConfigRefresh channel configuration refresh interval ChannelConfigRefresh // ChannelMembershipRefresh channel membership refresh interval ChannelMembershipRefresh )