...

Package fabricconfig

import "github.com/hyperledger/fabric/integration/nwo/fabricconfig"
Overview
Index

Overview ▾

type AddressOverride

type AddressOverride struct {
    From        string `yaml:"from"`
    To          string `yaml:"to"`
    CACertsFile string `yaml:"caCertsFile"`
}

type AnchorPeer

type AnchorPeer struct {
    Host string `yaml:"Host,omitempty"`
    Port int    `yaml:"Port,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Application

type Application struct {
    ACLs          map[string]string  `yaml:"ACLs,omitempty"`
    Organizations []*Organization    `yaml:"Organizations,omitempty"`
    Policies      map[string]*Policy `yaml:"Policies,omitempty"`
    Capabilities  map[string]bool    `yaml:"Capabilities,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Authentication

type Authentication struct {
    Timewindow time.Duration `yaml:"timewindow,omitempty"`
}

type BCCSP

type BCCSP struct {
    Default string            `yaml:"Default,omitempty"`
    SW      *SoftwareProvider `yaml:"SW,omitempty"`
}

type Backoff

type Backoff struct {
    RetryBackoff time.Duration `yaml:"RetryBackoff,omitempty"`
    RetryMax     int           `yaml:"RetryMax,omitempty"`
}

type BatchSize

type BatchSize struct {
    MaxMessageCount   string `yaml:"MaxMessageCount,omitempty"`
    AbsoluteMaxBytes  string `yaml:"AbsoluteMaxBytes,omitempty"`
    PreferredMaxBytes string `yaml:"PreferredMaxBytes,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Capabilities

type Capabilities struct {
    Channel     map[string]bool `yaml:"Channel,omitempty"`
    Orderer     map[string]bool `yaml:"Orderer,omitempty"`
    Application map[string]bool `yaml:"Application,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Car

type Car struct {
    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Chaincode

type Chaincode struct {
    Builder        string        `yaml:"builder,omitempty"`
    Pull           bool          `yaml:"pull"`
    Golang         *Golang       `yaml:"golang,omitempty"`
    Car            *Car          `yaml:"car,omitempty"`
    Java           *Java         `yaml:"java,omitempty"`
    Node           *Node         `yaml:"node,omitempty"`
    StartupTimeout time.Duration `yaml:"startupTimeout,omitempty"`
    ExecuteTimeout time.Duration `yaml:"executeTimeout,omitempty"`
    Mode           string        `yaml:"mode,omitempty"`
    Keepalive      int           `yaml:"keepalive,omitempty"`
    System         SystemFlags   `yaml:"system,omitempty"`
    Logging        *Logging      `yaml:"logging,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Channel

type Channel struct {
    Orderer      *ConfigTxOrderer       `yaml:"Orderer,omitempty"`
    Application  *Application           `yaml:"Application,omitempty"`
    Policies     map[string]*Policy     `yaml:"Policies,omitempty"`
    Capabilities map[string]bool        `yaml:"Capabilities,omitempty"`
    Consortiums  map[string]*Consortium `yaml:"Consortiums,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ClientKeepalive

type ClientKeepalive struct {
    Interval time.Duration `yaml:"interval,omitempty"`
    Timeout  time.Duration `yaml:"timeout,omitempty"`
}

type ConfigTx

type ConfigTx struct {
    Organizations []*Organization     `yaml:"Organizations,omitempty"`
    Capabilities  *Capabilities       `yaml:"Capabilities,omitempty"`
    Application   *Application        `yaml:"Application,omitempty"`
    Orderer       *ConfigTxOrderer    `yaml:"Orderer,omitempty"`
    Channel       *Channel            `yaml:"Channel,omitempty"`
    Profiles      map[string]*Channel `yaml:"Profiles,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ConfigTxEtcdRaft

type ConfigTxEtcdRaft struct {
    Consenters []*Consenter     `yaml:"Consenters,omitempty"`
    Options    *EtcdRaftOptions `yaml:"EtcdRaftOptions,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ConfigTxKafka

type ConfigTxKafka struct {
    Brokers []string `yaml:"Brokers,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type ConfigTxOrderer

type ConfigTxOrderer struct {
    OrdererType   string             `yaml:"OrdererType,omitempty"`
    BatchTimeout  time.Duration      `yaml:"BatchTimeout,omitempty"`
    BatchSize     *BatchSize         `yaml:"BatchSize,omitempty"`
    Kafka         *ConfigTxKafka     `yaml:"Kafka,omitempty"`
    EtcdRaft      *ConfigTxEtcdRaft  `yaml:"EtcdRaft,omitempty"`
    Organizations []*Organization    `yaml:"Organizations,omitempty"`
    Policies      map[string]*Policy `yaml:"Policies,omitempty"`
    Capabilities  map[string]bool    `yaml:"Capabilities,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Consenter

type Consenter struct {
    Host          string `yaml:"Host,omitempty"`
    Port          int    `yaml:"Port,omitempty"`
    ClientTLSCert string `yaml:"ClientTLSCert,omitempty"`
    ServerTLSCert string `yaml:"ServerTLSCert,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Consortium

type Consortium struct {
    Organizations []*Organization `yaml:"Organizations,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Core

type Core struct {
    Logging    *Logging    `yaml:"logging,omitempty"`
    Peer       *Peer       `yaml:"peer,omitempty"`
    VM         *VM         `yaml:"vm,omitempty"`
    Chaincode  *Chaincode  `yaml:"chaincode,omitempty"`
    Ledger     *Ledger     `yaml:"ledger,omitempty"`
    Operations *Operations `yaml:"operations,omitempty"`
}

type CouchDBConfig

type CouchDBConfig struct {
    CouchDBAddress          string        `yaml:"couchDBAddress,omitempty"`
    Username                string        `yaml:"username,omitempty"`
    Password                string        `yaml:"password,omitempty"`
    MaxRetries              int           `yaml:"maxRetries,omitempty"`
    MaxRetriesOnStartup     int           `yaml:"maxRetriesOnStartup,omitempty"`
    RequestTimeout          time.Duration `yaml:"requestTimeout,omitempty"`
    QueryLimit              int           `yaml:"queryLimit,omitempty"`
    MaxBatchUpdateSize      int           `yaml:"maxBatchUpdateSize,omitempty"`
    WarmIndexesAfterNBlocks int           `yaml:"warmIndexesAfteNBlocks,omitempty"`
}

type DeliveryClient

type DeliveryClient struct {
    ReconnectTotalTimeThreshold time.Duration      `yaml:"reconnectTotalTimeThreshold,omitempty"`
    AddressOverrides            []*AddressOverride `yaml:"addressOverrides,omitempty"`
}

type Discovery

type Discovery struct {
    Enabled                      bool    `yaml:"enabled"`
    AuthCacheEnabled             bool    `yaml:"authCacheEnabled"`
    AuthCacheMaxSize             int     `yaml:"authCacheMaxSize,omitempty"`
    AuthCachePurgeRetentionRatio float64 `yaml:"authCachePurgeRetentionRatio"`
    OrgMembersAllowedAccess      bool    `yaml:"orgMembersAllowedAccess"`
}

type Docker

type Docker struct {
    TLS          *TLS               `yaml:"tls,omitempty"`
    AttachStdout bool               `yaml:"attachStdout"`
    HostConfig   *docker.HostConfig `yaml:"hostConfig,omitempty"`
}

type EtcdRaftOptions

type EtcdRaftOptions struct {
    TickInterval         string `yaml:"TickInterval,omitempty"`
    ElectionTick         string `yaml:"ElectionTick,omitempty"`
    HeartbeatTick        string `yaml:"HeartbeatTick,omitempty"`
    MaxInflightBlocks    string `yaml:"MaxInflightBlocks,omitempty"`
    SnapshotIntervalSize string `yaml:"SnapshotIntervalSize,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Events

type Events struct {
    Address    string        `yaml:"address,omitempty"`
    Buffersize int           `yaml:"buffersize,omitempty"`
    Timeout    time.Duration `yaml:"timeout,omitempty"`
    Timewindow time.Duration `yaml:"timewindow,omitempty"`
    Keepalive  *Keepalive    `yaml:"keepalive,omitempty"`
}

type FileLedger

type FileLedger struct {
    Location string `yaml:"Location,omitempty"`
    Prefix   string `yaml:"Prefix,omitempty"`
}

type FileRef

type FileRef struct {
    File string `yaml:"file,omitempty"`
}

type FilesRef

type FilesRef struct {
    Files []string `yaml:"files,omitempty"`
}

type General

type General struct {
    LedgerType     string                 `yaml:"LedgerType,omitempty"`
    ListenAddress  string                 `yaml:"ListenAddress,omitempty"`
    ListenPort     int                    `yaml:"ListenPort,omitempty"`
    TLS            *OrdererTLS            `yaml:"TLS,omitempty"`
    Keepalive      *OrdererKeepalive      `yaml:"Keepalive,omitempty"`
    GenesisMethod  string                 `yaml:"GenesisMethod,omitempty"`
    GenesisProfile string                 `yaml:"GenesisProfile,omitempty"`
    GenesisFile    string                 `yaml:"GenesisFile,omitempty"`
    LocalMSPDir    string                 `yaml:"LocalMSPDir,omitempty"`
    LocalMSPID     string                 `yaml:"LocalMSPID,omitempty"`
    Profile        *OrdererProfile        `yaml:"Profile,omitempty"`
    BCCSP          *BCCSP                 `yaml:"BCCSP,omitempty"`
    Authentication *OrdererAuthentication `yaml:"Authentication,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Golang

type Golang struct {
    Runtime     string `yaml:"runtime,omitempty"`
    DynamicLink bool   `yaml:"dynamicLink"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Gossip

type Gossip struct {
    Bootstrap                  string          `yaml:"bootstrap,omitempty"`
    UseLeaderElection          bool            `yaml:"useLeaderElection"`
    OrgLeader                  bool            `yaml:"orgLeader"`
    Endpoint                   string          `yaml:"endpoint,omitempty"`
    MaxBlockCountToStore       int             `yaml:"maxBlockCountToStore,omitempty"`
    MaxPropagationBurstLatency time.Duration   `yaml:"maxPropagationBurstLatency,omitempty"`
    MaxPropagationBurstSize    int             `yaml:"maxPropagationBurstSize,omitempty"`
    PropagateIterations        int             `yaml:"propagateIterations,omitempty"`
    PropagatePeerNum           int             `yaml:"propagatePeerNum,omitempty"`
    PullInterval               time.Duration   `yaml:"pullInterval,omitempty"`
    PullPeerNum                int             `yaml:"pullPeerNum,omitempty"`
    RequestStateInfoInterval   time.Duration   `yaml:"requestStateInfoInterval,omitempty"`
    PublishStateInfoInterval   time.Duration   `yaml:"publishStateInfoInterval,omitempty"`
    StateInfoRetentionInterval time.Duration   `yaml:"stateInfoRetentionInterval,omitempty"`
    PublishCertPeriod          time.Duration   `yaml:"publishCertPeriod,omitempty"`
    DialTimeout                time.Duration   `yaml:"dialTimeout,omitempty"`
    ConnTimeout                time.Duration   `yaml:"connTimeout,omitempty"`
    RecvBuffSize               int             `yaml:"recvBuffSize,omitempty"`
    SendBuffSize               int             `yaml:"sendBuffSize,omitempty"`
    DigestWaitTime             time.Duration   `yaml:"digestWaitTime,omitempty"`
    RequestWaitTime            time.Duration   `yaml:"requestWaitTime,omitempty"`
    ResponseWaitTime           time.Duration   `yaml:"responseWaitTime,omitempty"`
    AliveTimeInterval          time.Duration   `yaml:"aliveTimeInterval,omitempty"`
    AliveExpirationTimeout     time.Duration   `yaml:"aliveExpirationTimeout,omitempty"`
    ReconnectInterval          time.Duration   `yaml:"reconnectInterval,omitempty"`
    ExternalEndpoint           string          `yaml:"externalEndpoint,omitempty"`
    Election                   *GossipElection `yaml:"election,omitempty"`
    PvtData                    *GossipPvtData  `yaml:"pvtData,omitempty"`
}

type GossipElection

type GossipElection struct {
    StartupGracePeriod       time.Duration `yaml:"startupGracePeriod,omitempty"`
    MembershipSampleInterval time.Duration `yaml:"membershipSampleInterval,omitempty"`
    LeaderAliveThreshold     time.Duration `yaml:"leaderAliveThreshold,omitempty"`
    LeaderElectionDuration   time.Duration `yaml:"leaderElectionDuration,omitempty"`
}

type GossipPvtData

type GossipPvtData struct {
    PullRetryThreshold              time.Duration `yaml:"pullRetryThreshold,omitempty"`
    TransientstoreMaxBlockRetention int           `yaml:"transientstoreMaxBlockRetention,omitempty"`
    PushAckTimeout                  time.Duration `yaml:"pushAckTimeout,omitempty"`
}

type Handler

type Handler struct {
    Name    string `yaml:"name,omitempty"`
    Library string `yaml:"library,omitempty"`
}

type HandlerMap

type HandlerMap map[string]Handler

type Handlers

type Handlers struct {
    AuthFilters []Handler  `yaml:"authFilters,omitempty"`
    Decorators  []Handler  `yaml:"decorators,omitempty"`
    Endorsers   HandlerMap `yaml:"endorsers,omitempty"`
    Validators  HandlerMap `yaml:"validators,omitempty"`
}

type HistoryConfig

type HistoryConfig struct {
    EnableHistoryDatabase bool `yaml:"enableHistoryDatabase"`
}

type Java

type Java struct {
    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Kafka

type Kafka struct {
    Retry     *Retry            `yaml:"Retry,omitempty"`
    Verbose   bool              `yaml:"Verbose"`
    TLS       *OrdererTLS       `yaml:"TLS,omitempty"`
    SASLPlain *OrdererSASLPlain `yaml:"SASLPlain,omitempty"`
    Topic     *OrdererTopic     `yaml:"Topic,omitempty"`
}

type Keepalive

type Keepalive struct {
    MinInterval    time.Duration    `yaml:"minInterval,omitempty"`
    Client         *ClientKeepalive `yaml:"client,omitempty"`
    DeliveryClient *ClientKeepalive `yaml:"deliveryClient,omitempty"`
}

type Ledger

type Ledger struct {
    // Blockchain - not sure if it's needed
    State   *StateConfig   `yaml:"state,omitempty"`
    History *HistoryConfig `yaml:"history,omitempty"`
}

type Logging

type Logging struct {
    Format string `yaml:"format,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Metrics

type Metrics struct {
    Provider string  `yaml:"provider"`
    Statsd   *Statsd `yaml:"statsd,omitempty"`
}

type NetworkTimeouts

type NetworkTimeouts struct {
    DialTimeout  time.Duration `yaml:"DialTimeout,omitempty"`
    ReadTimeout  time.Duration `yaml:"ReadTimeout,omitempty"`
    WriteTimeout time.Duration `yaml:"WriteTimeout,omitempty"`
}

type Node

type Node struct {
    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Operations

type Operations struct {
    ListenAddress string `yaml:"listenAddress,omitempty"`
    TLS           *TLS   `yaml:"tls"`
}

type Orderer

type Orderer struct {
    General    *General           `yaml:"General,omitempty"`
    FileLedger *FileLedger        `yaml:"FileLedger,omitempty"`
    RAMLedger  *RAMLedger         `yaml:"RAMLedger,omitempty"`
    Kafka      *Kafka             `yaml:"Kafka,omitempty"`
    Operations *OrdererOperations `yaml:"Operations,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type OrdererAuthentication

type OrdererAuthentication struct {
    TimeWindow time.Duration `yaml:"TimeWindow,omitempty"`
}

type OrdererKeepalive

type OrdererKeepalive struct {
    ServerMinInterval time.Duration `yaml:"ServerMinInterval,omitempty"`
    ServerInterval    time.Duration `yaml:"ServerInterval,omitempty"`
    ServerTimeout     time.Duration `yaml:"ServerTimeout,omitempty"`
}

type OrdererMetrics

type OrdererMetrics struct {
    Provider string         `yaml:"Provider"`
    Statsd   *OrdererStatsd `yaml:"Statsd,omitempty"`
}

type OrdererOperations

type OrdererOperations struct {
    ListenAddress string          `yaml:"ListenAddress,omitempty"`
    Metrics       *OrdererMetrics `yaml:"Metrics,omitempty"`
    TLS           *OrdererTLS     `yaml:"TLS"`
}

type OrdererProfile

type OrdererProfile struct {
    Enabled bool   `yaml:"Enabled"`
    Address string `yaml:"Address,omitempty"`
}

type OrdererSASLPlain

type OrdererSASLPlain struct {
    Enabled  bool   `yaml:"Enabled"`
    User     string `yaml:"User,omitempty"`
    Password string `yaml:"Password,omitempty"`
}

type OrdererStatsd

type OrdererStatsd struct {
    Network       string        `yaml:"Network,omitempty"`
    Address       string        `yaml:"Address,omitempty"`
    WriteInterval time.Duration `yaml:"WriteInterval,omitempty"`
    Prefix        string        `yaml:"Prefix,omitempty"`
}

type OrdererTLS

type OrdererTLS struct {
    Enabled            bool     `yaml:"Enabled"`
    PrivateKey         string   `yaml:"PrivateKey,omitempty"`
    Certificate        string   `yaml:"Certificate,omitempty"`
    RootCAs            []string `yaml:"RootCAs,omitempty"`
    ClientAuthRequired bool     `yaml:"ClientAuthRequired"`
    ClientRootCAs      []string `yaml:"ClientRootCAs,omitempty"`
}

type OrdererTopic

type OrdererTopic struct {
    ReplicationFactor int16
}

type Organization

type Organization struct {
    Name             string             `yaml:"Name,omitempty"`
    SkipAsForeign    bool               `yaml:"SkipAsForeign,omitempty"`
    ID               string             `yaml:"ID,omitempty"`
    MSPDir           string             `yaml:"MSPDir,omitempty"`
    Policies         map[string]*Policy `yaml:"Policies,omitempty"`
    OrdererEndpoints []string           `yaml:"OrdererEndpoints,omitempty"`
    AnchorPeers      []*AnchorPeer      `yaml:"AnchorPeers,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Peer

type Peer struct {
    ID                     string          `yaml:"id,omitempty"`
    NetworkID              string          `yaml:"networkId,omitempty"`
    ListenAddress          string          `yaml:"listenAddress,omitempty"`
    ChaincodeListenAddress string          `yaml:"chaincodeListenAddress,omitempty"`
    ChaincodeAddress       string          `yaml:"chaincodeAddress,omitempty"`
    Address                string          `yaml:"address,omitempty"`
    AddressAutoDetect      bool            `yaml:"addressAutoDetect"`
    Keepalive              *Keepalive      `yaml:"keepalive,omitempty"`
    Gossip                 *Gossip         `yaml:"gossip,omitempty"`
    Events                 *Events         `yaml:"events,omitempty"`
    TLS                    *TLS            `yaml:"tls,omitempty"`
    Authentication         *Authentication `yaml:"authentication,omitempty"`
    FileSystemPath         string          `yaml:"fileSystemPath,omitempty"`
    BCCSP                  *BCCSP          `yaml:"BCCSP,omitempty"`
    MSPConfigPath          string          `yaml:"mspConfigPath,omitempty"`
    LocalMSPID             string          `yaml:"localMspId,omitempty"`
    Deliveryclient         *DeliveryClient `yaml:"deliveryclient,omitempty"`
    LocalMspType           string          `yaml:"localMspType,omitempty"`
    AdminService           *Service        `yaml:"adminService,omitempty"`
    Handlers               *Handlers       `yaml:"handlers,omitempty"`
    ValidatorPoolSize      int             `yaml:"validatorPoolSize,omitempty"`
    Discovery              *Discovery      `yaml:"discovery,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type Policy

type Policy struct {
    Type string `yaml:"Type,omitempty"`
    Rule string `yaml:"Rule,omitempty"`

    ExtraProperties map[string]interface{} `yaml:",inline,omitempty"`
}

type RAMLedger

type RAMLedger struct {
    HistorySize int `yaml:"HistorySize,omitempty"`
}

type Retry

type Retry struct {
    ShortInterval   time.Duration    `yaml:"ShortInterval,omitempty"`
    ShortTotal      time.Duration    `yaml:"ShortTotal,omitempty"`
    LongInterval    time.Duration    `yaml:"LongInterval,omitempty"`
    LongTotal       time.Duration    `yaml:"LongTotal,omitempty"`
    NetworkTimeouts *NetworkTimeouts `yaml:"NetworkTimeouts,omitempty"`
    Metadata        *Backoff         `yaml:"Metadata,omitempty"`
    Producer        *Backoff         `yaml:"Producer,omitempty"`
    Consumer        *Backoff         `yaml:"Consumer,omitempty"`
}

type Service

type Service struct {
    Enabled       bool   `yaml:"enabled"`
    ListenAddress string `yaml:"listenAddress,omitempty"`
}

type SoftwareProvider

type SoftwareProvider struct {
    Hash     string `yaml:"Hash,omitempty"`
    Security int    `yaml:"Security,omitempty"`
}

type StateConfig

type StateConfig struct {
    StateDatabase string         `yaml:"stateDatabase,omitempty"`
    CouchDBConfig *CouchDBConfig `yaml:"couchDBConfig,omitempty"`
}

type Statsd

type Statsd struct {
    Network       string        `yaml:"network,omitempty"`
    Address       string        `yaml:"address,omitempty"`
    WriteInterval time.Duration `yaml:"writeInterval,omitempty"`
    Prefix        string        `yaml:"prefix,omitempty"`
}

type SystemFlags

type SystemFlags struct {
    CSCC string `yaml:"cscc,omitempty"`
    LSCC string `yaml:"lscc,omitempty"`
    ESCC string `yaml:"escc,omitempty"`
    VSCC string `yaml:"vscc,omitempty"`
    QSCC string `yaml:"qscc,omitempty"`
}

type TLS

type TLS struct {
    Enabled            bool      `yaml:"enabled"`
    ClientAuthRequired bool      `yaml:"clientAuthRequired"`
    CA                 *FileRef  `yaml:"ca,omitempty"`
    Cert               *FileRef  `yaml:"cert,omitempty"`
    Key                *FileRef  `yaml:"key,omitempty"`
    RootCert           *FileRef  `yaml:"rootcert,omitempty"`
    ClientRootCAs      *FilesRef `yaml:"clientRootCAs,omitempty"`
    ClientKey          *FileRef  `yaml:"clientKey,omitempty"`
    ClientCert         *FileRef  `yaml:"clientCert,omitempty"`
}

type VM

type VM struct {
    Endpoint string  `yaml:"endpoint,omitempty"`
    Docker   *Docker `yaml:"docker,omitempty"`
}