Documentation ¶
Index ¶
- type Cert
- type CertificateAuthority
- type CertificateAuthorityRegistrar
- type CertificateAuthorityTLSCACerts
- type CertificateAuthorityTLSCACertsClient
- type CertificateAuthorityTLSCACertsClientCert
- type CertificateAuthorityTLSCACertsClientKey
- type Channel
- type ChannelPeer
- type Client
- type ClientBCCSP
- type ClientBCCSPSecurity
- type ClientBCCSPSecurityDefault
- type ClientCredentialStore
- type ClientCredentialStoreCryptoStore
- type ClientCryptoConfig
- type ClientEventService
- type ClientEventServiceTimeout
- type ClientGlobal
- type ClientGlobalCache
- type ClientGlobalTimeout
- type ClientLogging
- type ClientOrder
- type ClientOrderTimeout
- type ClientPeer
- type ClientPeerTimeout
- type ClientPeerTimeoutDiscovery
- type ClientTLSCerts
- type ClientTLSCertsClient
- type ClientTLSCertsClientCert
- type ClientTLSCertsClientKey
- type Config
- type Orderer
- type OrdererGRPCOptions
- type OrdererTLSCACerts
- type Organization
- type Peer
- type PeerGRPCOptions
- type PeerTLSCACerts
- type Policy
- type PolicyCommonRetryOpts
- type PolicyDiscovery
- type PolicyEventService
- type PolicyQueryChannelConfig
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CertificateAuthority ¶
type CertificateAuthority struct { URL string `yaml:"url"` // URL https://ca.org1.example.com:7054 CAName string `yaml:"caName"` // CAName 可选参数,name of the CA TLSCACerts *CertificateAuthorityTLSCACerts `yaml:"tlsCACerts"` Registrar *CertificateAuthorityRegistrar `yaml:"registrar"` }
type CertificateAuthorityTLSCACerts ¶
type CertificateAuthorityTLSCACerts struct { Path string `yaml:"path"` Client *CertificateAuthorityTLSCACertsClient `yaml:"client"` }
type CertificateAuthorityTLSCACertsClient ¶
type CertificateAuthorityTLSCACertsClient struct { Key *CertificateAuthorityTLSCACertsClientKey `yaml:"key"` Cert *CertificateAuthorityTLSCACertsClientCert `yaml:"cert"` }
type CertificateAuthorityTLSCACertsClientCert ¶
type CertificateAuthorityTLSCACertsClientCert struct {
Path string `yaml:"path"` // /fabric/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.crt
}
type CertificateAuthorityTLSCACertsClientKey ¶
type CertificateAuthorityTLSCACertsClientKey struct {
Path string `yaml:"path"` // /fabric/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.key
}
type Channel ¶
type Channel struct { Peers map[string]*ChannelPeer `yaml:"peers"` // Peers 可选参数,参与组织的节点列表 Policies *Policy `yaml:"policies"` // Policies 可选参数,应用程序可以使用这些选项来执行通道操作,如检索通道配置等。 }
func NewConfigChannel ¶
func NewConfigChannel() *Channel
type ChannelPeer ¶
type ChannelPeer struct { // EndorsingPeer // // 可选参数 // // 是否会向该节点发送交易以供其背书,节点必须安装chaincode。应用程序也可以使用这个属性来决定发送chaincode安装请求的节点。 // // 默认值:true EndorsingPeer bool `yaml:"endorsingPeer"` // ChaincodeQuery // // 可选参数 // // 这个节点是否可被发送查询建议,节点必须安装chaincode。应用程序也可以使用这个属性来决定发送chaincode安装请求的节点。 // // 默认值:true ChaincodeQuery bool `yaml:"chaincodeQuery"` // LedgerQuery // // 可选参数 // // 这个节点是否可发送不需要链码的查询建议,如queryBlock()、queryTransaction()等。 // // 默认值:true LedgerQuery bool `yaml:"ledgerQuery"` // EventSource // // 可选参数 // // 这个节点是否是SDK侦听器注册的目标,所有的对等点都可以产生事件,但应用程序通常只需要连接一个来监听事件。 // // 默认值:true EventSource bool `yaml:"eventSource"` }
ChannelPeer 可选参数,参与组织的节点列表
type Client ¶
type Client struct { // Organization 这个应用程序实例属于哪个组织?值必须是在“组织”下定义的组织的名称,如:Org1或league-org1 Organization string `yaml:"organization"` // Logging 日志级别,debug、info、warn、error等 Logging *ClientLogging `yaml:"logging"` // 节点超时的全局配置,如果省略此部分,则将使用缺省值 Peer *ClientPeer `yaml:"peer"` // 事件服务超时的全局配置,如果省略此部分,则将使用缺省值 EventService *ClientEventService `yaml:"eventService"` // orderer超时的全局配置,如果省略此部分,则将使用缺省值 Order *ClientOrder `yaml:"orderer"` // 超时的全局配置,如果省略此部分,则将使用缺省值 Global *ClientGlobal `yaml:"global"` // CryptoConfig 客户端 CryptoConfig *ClientCryptoConfig `yaml:"cryptoconfig"` CredentialStore *ClientCredentialStore `yaml:"credentialStore"` // BCCSP 客户端的BCCSP配置 BCCSP *ClientBCCSP `yaml:"BCCSP"` TLSCerts *ClientTLSCerts `yaml:"tlsCerts"` }
Client go sdk 使用的客户端
func NewConfigClient ¶
type ClientBCCSP ¶
type ClientBCCSP struct {
Security *ClientBCCSPSecurity `yaml:"security"`
}
type ClientBCCSPSecurity ¶
type ClientBCCSPSecurity struct { Enabled bool `yaml:"enabled"` Default *ClientBCCSPSecurityDefault `yaml:"default"` HashAlgorithm string `yaml:"hashAlgorithm"` SoftVerify bool `yaml:"softVerify"` Level int32 `yaml:"level"` }
type ClientBCCSPSecurityDefault ¶
type ClientBCCSPSecurityDefault struct {
Provider string `yaml:"provider"`
}
type ClientCredentialStore ¶
type ClientCredentialStore struct { Path string `yaml:"path"` // /tmp/state-store" CryptoStore *ClientCredentialStoreCryptoStore `yaml:"cryptoStore"` }
type ClientCredentialStoreCryptoStore ¶
type ClientCredentialStoreCryptoStore struct {
Path string `yaml:"path"` // /tmp/msp
}
type ClientCryptoConfig ¶
type ClientCryptoConfig struct { // Path 带有密钥和证书的MSP目录的根目录 Path string `yaml:"path"` // /Users/Documents/fabric/crypto-config }
ClientCryptoConfig 客户端
type ClientEventService ¶
type ClientEventService struct {
Timeout *ClientEventServiceTimeout `yaml:"timeout"`
}
type ClientEventServiceTimeout ¶
type ClientEventServiceTimeout struct {
RegistrationResponse string `yaml:"registrationResponse"`
}
type ClientGlobal ¶
type ClientGlobal struct { Timeout *ClientGlobalTimeout `yaml:"timeout"` Cache *ClientGlobalCache `yaml:"cache"` }
type ClientGlobalCache ¶
type ClientGlobalTimeout ¶
type ClientLogging ¶
type ClientLogging struct {
Level string `yaml:"level"` // info
}
ClientLogging 客户端日志设置对象
type ClientOrder ¶
type ClientOrder struct {
Timeout *ClientOrderTimeout `yaml:"timeout"`
}
type ClientOrderTimeout ¶
type ClientPeer ¶
type ClientPeer struct {
Timeout *ClientPeerTimeout `yaml:"timeout"`
}
type ClientPeerTimeout ¶
type ClientPeerTimeout struct { Connection string `yaml:"connection"` Response string `yaml:"response"` Discovery *ClientPeerTimeoutDiscovery `yaml:"discovery"` }
type ClientPeerTimeoutDiscovery ¶
type ClientPeerTimeoutDiscovery struct { // GreyListExpiry 发现服务失效列表筛选器的有效期。 // // 通道客户端将列出脱机的失效节点名单,防止在后续重试中重新选择它们。 // // 这个间隔将定义一个节点被灰列出的时间 GreyListExpiry string `yaml:"greylistExpiry"` }
type ClientTLSCerts ¶
type ClientTLSCerts struct { // SystemCertPool 是否开启TLS,默认false SystemCertPool bool `yaml:"systemCertPool"` // Client 客户端密钥和证书,用于TLS与节点和排序服务的握手 Client *ClientTLSCertsClient `yaml:"client"` }
type ClientTLSCertsClient ¶
type ClientTLSCertsClient struct { Key *ClientTLSCertsClientKey `yaml:"key"` Cert *ClientTLSCertsClientCert `yaml:"cert"` }
type ClientTLSCertsClientCert ¶
type ClientTLSCertsClientCert struct {
Path string `yaml:"path"` // /fabric/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.crt
}
type ClientTLSCertsClientKey ¶
type ClientTLSCertsClientKey struct {
Path string `yaml:"path"` // /fabric/crypto-config/peerOrganizations/org1.example.com/users/User1@org1.example.com/tls/client.key
}
type Config ¶
type Config struct { Version string `yaml:"version"` // Version 内容的版本。用于SDK应用相应的解析规则 Client *Client `yaml:"client"` // Client GO SDK使用的客户端 Channels map[string]*Channel `yaml:"channels"` // Channels 可选,如果有通道操作则需要补充完整 Organizations map[string]*Organization `yaml:"organizations"` // Organizations 此网络的参与机构名单 // Orderers // // 发送事务和通道创建/更新请求的Order列表。如果定义了多个,那么SDK将根据文档定义来使用特定的Order Orderers map[string]*Orderer `yaml:"orderers"` // Peers // // 发送各种请求的节点列表,包括背书、查询和事件侦听器注册。 Peers map[string]*Peer `yaml:"peers"` // CertificateAuthorities // // Fabric- ca是由Hyperledger Fabric提供的一种特殊的证书颁发机构,它允许通过REST api进行证书管理。 // // 应用程序可以选择使用标准的证书颁发机构,而不是Fabric-CA,在这种情况下,不会指定此部分。 CertificateAuthorities map[string]*CertificateAuthority `yaml:"certificateAuthorities"` }
Config 网络连接配置为客户端应用程序提供有关目标区块链网络的信息
type Orderer ¶
type Orderer struct { URL string `yaml:"url"` // URL grpcs://127.0.0.1:7050 // GRPCOptions 这些是由gRPC库定义的标准属性,它们将按原样传递给gRPC客户端构造函数 GRPCOptions *OrdererGRPCOptions `yaml:"grpcOptions"` TLSCACerts *OrdererTLSCACerts `yaml:"tlsCACerts"` }
Orderer 发送事务和通道创建/更新请求
type OrdererGRPCOptions ¶
type OrdererGRPCOptions struct { // SSLTargetNameOverride orderer.example.com SSLTargetNameOverride string `yaml:"ssl-target-name-override"` // 这些参数应该与服务器上的keepalive策略协调设置,因为不兼容的设置可能导致连接关闭 // // 当“keep-alive-time”的持续时间设置为0或更少时,将禁用keep alive客户端参数 KeepAliveTime string `yaml:"keep-alive-time"` // 这些参数应该与服务器上的keepalive策略协调设置,因为不兼容的设置可能导致连接关闭 // // 当“keep-alive-time”的持续时间设置为0或更少时,将禁用keep alive客户端参数 KeepAliveTimeout string `yaml:"keep-alive-timeout"` // 这些参数应该与服务器上的keepalive策略协调设置,因为不兼容的设置可能导致连接关闭 // // 当“keep-alive-time”的持续时间设置为0或更少时,将禁用keep alive客户端参数 KeepAlivePermit bool `yaml:"keep-alive-permit"` FailFast bool `yaml:"fail-fast"` // AllowInsecure 如果地址没有定义协议,则考虑允许不安全;如果为true,则考虑grpc或其他grpc AllowInsecure bool `yaml:"allow-insecure"` }
type OrdererTLSCACerts ¶
type OrdererTLSCACerts struct { // Path 证书位置绝对路径 Path string `yaml:"path"` // /fabric/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem }
type Organization ¶
type Organization struct { MspID string `yaml:"mspid"` CryptoPath string `yaml:"cryptoPath"` // CryptoPath 这个组织的MSP存储(绝对路径或相对于client.cryptoconfig) Users map[string]*User `yaml:"users,omitempty"` Peers []string `yaml:"peers,omitempty"` // CertificateAuthorities // // 在基于Fabric的网络中,证书颁发机构颁发证书用于身份验证 // // 通常,证书供应是在运行时网络之外的独立进程中完成的 // // ca是一个特殊的证书颁发机构,它为动态证书管理(注册、撤销、重新注册)提供了REST api // // CertificateAuthorities只针对fabric-ca服务 CertificateAuthorities []string `yaml:"certificateAuthorities,omitempty"` }
Organization 此网络的参与机构
type Peer ¶
type Peer struct { URL string `yaml:"url"` // URL 此URL用于发送背书和查询请求 EventURL string `yaml:"eventUrl"` // EventURL 只在使用EventHub时才需要(默认是交付服务) // GRPCOptions 这些是由gRPC库定义的标准属性,它们将按原样传递给gRPC客户端构造函数 GRPCOptions *PeerGRPCOptions `yaml:"grpcOptions"` TLSCACerts *PeerTLSCACerts `yaml:"tlsCACerts"` }
Peer 节点,用于发送各种请求的节点列表,包括背书、查询和事件侦听器注册
type PeerGRPCOptions ¶
type PeerGRPCOptions struct { // SSLTargetNameOverride peer0.org1.example.com SSLTargetNameOverride string `yaml:"ssl-target-name-override"` // KeepAliveTime // // 这些参数应该与服务器上的keepalive策略协调设置,因为不兼容的设置可能导致连接关闭 // // 当“keep-alive-time”的持续时间设置为0或更少时,将禁用keep alive客户端参数 KeepAliveTime string `yaml:"keep-alive-time"` // KeepAliveTimeout // // 这些参数应该与服务器上的keepalive策略协调设置,因为不兼容的设置可能导致连接关闭 // // 当“keep-alive-time”的持续时间设置为0或更少时,将禁用keep alive客户端参数 KeepAliveTimeout string `yaml:"keep-alive-timeout"` // KeepAlivePermit // // 这些参数应该与服务器上的keepalive策略协调设置,因为不兼容的设置可能导致连接关闭 // // 当“keep-alive-time”的持续时间设置为0或更少时,将禁用keep alive客户端参数 KeepAlivePermit bool `yaml:"keep-alive-permit"` FailFast bool `yaml:"fail-fast"` AllowInsecure bool `yaml:"allow-insecure"` }
type PeerTLSCACerts ¶
type PeerTLSCACerts struct {
Path string `yaml:"path"` // /fabric/crypto-config/ordererOrganizations/example.com/tlsca/tlsca.example.com-cert.pem
}
type Policy ¶
type Policy struct { QueryChannelConfig *PolicyQueryChannelConfig `yaml:"queryChannelConfig"` // PolicyQueryChannelConfig 可选参数,用于检索通道配置块的选项 Discovery *PolicyDiscovery `yaml:"discovery"` // Discovery 可选参数,检索发现信息的选项 EventService *PolicyEventService `yaml:"eventService"` // EventService 可选参数,事件服务的选项 }
Policy 可选参数,应用程序可以使用这些选项来执行通道操作,如检索通道配置等
type PolicyCommonRetryOpts ¶
type PolicyCommonRetryOpts struct { Attempts int32 `yaml:"attempts"` // Attempts 可选参数,number of retry attempts InitialBackOff string `yaml:"initialBackoff"` // InitialBackOff 可选参数,第一次重试尝试的回退间隔 MaxBackOff string `yaml:"maxBackoff"` // MaxBackOff 可选参数,任何重试尝试的最大回退间隔 BackOffFactor float32 `yaml:"backoffFactor"` // BackOffFactor 可选参数,该因子使初始回退期呈指数递增 }
PolicyCommonRetryOpts 可选参数,查询配置块的重试选项
type PolicyDiscovery ¶
type PolicyDiscovery struct { MaxTargets int32 `yaml:"maxTargets"` // MaxTargets 可选参数,发现信息将检索这些随机目标的数量 RetryOpts *PolicyCommonRetryOpts `yaml:"retryOpts"` // RetryOpts 可选参数,检索发现信息的重试选项 }
PolicyDiscovery 可选参数,检索发现信息的选项
type PolicyEventService ¶
type PolicyEventService struct { // ResolverStrategy // // 可选参数 // // PreferOrg: // 根据块高度滞后阈值确定哪些对等点是合适的,尽管它们更适用当前组织中的对等点(只要它们的块高度高于配置的阈值)。如果当前组织中的对等点都不合适,则选择另一个组织中的对等点 // // MinBlockHeight: // 根据块高度滞后阈值选择最佳的对等点。所有对等点的最大块高度被确定,那些块高度低于最大高度但高于规定的“滞后”阈值的对等点被负载均衡。不考虑其他节点 // // Balanced: // 使用配置的平衡器选择对等点 ResolverStrategy string `yaml:"resolverStrategy"` // Balancer // // 可选参数 // // 当选择一个对等点连接到可能的值时使用的负载均衡[Random (default), RoundRobin] Balancer string `yaml:"balancer"` // BlockHeightLagThreshold // // 可选参数 // // 设置块高度滞后阈值。此值用于选择要连接的对等点。如果一个节点落后于最新的节点超过给定的块数,那么它将被排除在选择之外 // 注意,此参数仅适用于minBlockHeightResolverMode设置为ResolveByThreshold时 // 默认值:5 BlockHeightLagThreshold int64 `yaml:"blockHeightLagThreshold"` // ReconnectBlockHeightLagThreshold // // 可选参数 // // reconnectBlockHeightLagThreshold—如果对等方的块高度低于指定的块数,则事件客户机将断开与对等方的连接,并重新连接到性能更好的对等方 // // 注意,此参数仅适用于peerMonitor设置为Enabled(默认)的情况 // // 默认值:10 // // 注意:设置此值过低可能会导致事件客户端过于频繁地断开/重新连接,从而影响性能 ReconnectBlockHeightLagThreshold int64 `yaml:"reconnectBlockHeightLagThreshold"` // PeerMonitorPeriod // // 可选参数 // // peerMonitorPeriod是监视连接的对等点以查看事件客户端是否应该断开连接并重新连接到另一个对等点的时间段 // // 默认:0(禁用)用于平衡冲突解决策略;优先级和MinBlockHeight策略的5s PeerMonitorPeriod string `yaml:"peerMonitorPeriod"` }
PolicyEventService 可选参数,事件服务的选项
type PolicyQueryChannelConfig ¶
type PolicyQueryChannelConfig struct { MinResponses int32 `yaml:"minResponses"` // MinResponses 可选参数,最小成功响应数(来自目标/节点) MaxTargets int32 `yaml:"maxTargets"` // MaxTargets 可选参数,通道配置将为这些数目的随机目标检索 RetryOpts *PolicyCommonRetryOpts `yaml:"retryOpts"` // RetryOpts 可选参数,查询配置块的重试选项 }
PolicyQueryChannelConfig 可选参数,用于检索通道配置块的选项
Click to show internal directories.
Click to hide internal directories.