conf

package
v0.0.0-...-a76d37d Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cert

type Cert struct {
	Path string `yaml:"path"`
}

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 CertificateAuthorityRegistrar

type CertificateAuthorityRegistrar struct {
	EnrollId     string `yaml:"enrollId"`
	EnrollSecret string `yaml:"enrollSecret"`
}

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

func NewConfigClient(org *chain.OrgInfo) *Client

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 ClientGlobalCache struct {
	ConnectionIdle    string `yaml:"connectionIdle"`
	EventServiceIdle  string `yaml:"eventServiceIdle"`
	ChannelConfig     string `yaml:"channelConfig"`
	ChannelMembership string `yaml:"channelMembership"`
	Discovery         string `yaml:"discovery"`
	Selection         string `yaml:"selection"`
}

type ClientGlobalTimeout

type ClientGlobalTimeout struct {
	Query   string `yaml:"query"`
	Execute string `yaml:"execute"`
	Resmgmt string `yaml:"resmgmt"`
}

type ClientLogging

type ClientLogging struct {
	Level string `yaml:"level"` // info
}

ClientLogging 客户端日志设置对象

type ClientOrder

type ClientOrder struct {
	Timeout *ClientOrderTimeout `yaml:"timeout"`
}

type ClientOrderTimeout

type ClientOrderTimeout struct {
	Connection string `yaml:"connection"`
	Response   string `yaml:"response"`
}

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 网络连接配置为客户端应用程序提供有关目标区块链网络的信息

func (*Config) Set

func (c *Config) Set(in *chain.ReqConfigSet) error

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 可选参数,用于检索通道配置块的选项

type User

type User struct {
	Cert *Cert `yaml:"cert"`
}

Jump to

Keyboard shortcuts

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