github.com/myafeier/fabric@v1.0.1-0.20170722181825-3a4b1f2bce86/core/endorser/endorser_test.yaml (about)

     1  # Copyright IBM Corp. All Rights Reserved.
     2  #
     3  # SPDX-License-Identifier: Apache-2.0
     4  #
     5  
     6  # CA server parameters
     7  #
     8  server:
     9          # current version of the CA
    10          version: "0.1"
    11  
    12          # limits the number of operating system threads used by the CA
    13          gomaxprocs: 2
    14  
    15          # path to the OBC state directory and CA state subdirectory
    16          # rootpath: "."
    17          # cadir: ".ca"
    18  
    19          # port the CA services are listening on
    20          port: ":20051"
    21  
    22          # TLS certificate and key file paths
    23          tls:
    24  
    25  # Enabling/disabling different logging levels of the CA.
    26  #
    27  logging:
    28          trace: 0
    29          info: 1
    30          warning: 1
    31          error: 1
    32          panic: 1
    33  
    34  # Enable attribute encryption in TCerts generated by TCA
    35  tca:
    36      attribute-encryption:
    37         enabled: true
    38  
    39  # Default attributes for Attribute Certificate Authority
    40  aca:
    41      attributes:
    42          attribute-entry-0: user1;bank_a;company;ACompany;2015-01-01T00:00:00-03:00;;
    43          attribute-entry-1: user1;bank_a;position;Software Staff;2015-01-01T00:00:00-03:00;2015-07-12T23:59:59-03:00;
    44          attribute-entry-2: user1;bank_a;position;Software Engineer;2015-07-13T00:00:00-03:00;;
    45          attribute-entry-3: user2;bank_a;company;ACompany;2001-02-02T00:00:00-03:00;;
    46          attribute-entry-4: user2;bank_a;position;Project Manager;2001-02-02T00:00:00-03:00;;
    47      address: localhost:20051
    48      server-name: acap
    49      enabled: true
    50  
    51  # Default users to be registered with the CA on first launch.  The role is a binary OR
    52  # of the different roles a user can have:
    53  #
    54  # - simple client such as a wallet: CLIENT
    55  # - non-validating peer: PEER
    56  # - validating client: VALIDATOR
    57  # - auditing client: AUDITOR
    58  #
    59  eca:
    60          affiliations:
    61             banks_and_institutions:
    62                banks:
    63                    - bank_a
    64                    - bank_b
    65                    - bank_c
    66                institutions:
    67                    - institution_a
    68          users:
    69                  # <EnrollmentID>: <role (1:client, 2: peer, 4: validator, 8: auditor)> <EnrollmentPWD> <Affiliation> <Affiliation_Role>
    70                  lukas: 1 NPKYL39uKbkj institution_a
    71                  diego: 1 DRJ23pEQl16a institution_a
    72                  jim: 1 6avZQLwcUe9b institution_a
    73  
    74                  vp: 4 f3489fy98ghf
    75  
    76  ###############################################################################
    77  #
    78  #    CLI section
    79  #
    80  ###############################################################################
    81  cli:
    82  
    83      # The address that the cli process will use for callbacks from chaincodes
    84      address: 0.0.0.0:7052
    85  
    86  
    87  
    88  ###############################################################################
    89  #
    90  #    REST section
    91  #
    92  ###############################################################################
    93  rest:
    94  
    95      # Enable/disable setting for the REST service. It is recommended to disable
    96      # REST service on validators in production deployment and use non-validating
    97      # nodes to host REST service
    98      enabled: true
    99  
   100      # The address that the REST service will listen on for incoming requests.
   101      address: 0.0.0.0:7050
   102  
   103  
   104  ###############################################################################
   105  #
   106  #    LOGGING section
   107  #
   108  ###############################################################################
   109  logging:
   110  
   111      # Valid logging levels are case-insensitive strings chosen from
   112  
   113      #     CRITICAL | ERROR | WARNING | NOTICE | INFO | DEBUG
   114  
   115      # Logging 'module' names are also strings, however valid module names are
   116      # defined at runtime and are not checked for validity during option
   117      # processing.
   118  
   119      # Default logging levels are specified here for each of the peer
   120      # commands. For commands that have subcommands, the defaults also apply to
   121      # all subcommands of the command. These logging levels can be overridden
   122      # on the command line using the --logging-level command-line option, or by
   123      # setting the CORE_LOGGING_LEVEL environment variable.
   124  
   125      # The logging level specification is of the form
   126  
   127      #     [<module>[,<module>...]=]<level>[:[<module>[,<module>...]=]<level>...]
   128  
   129      # A logging level by itself is taken as the overall default. Otherwise,
   130      # overrides for individual or groups of modules can be specified using the
   131      # <module>[,<module>...]=<level> syntax.
   132  
   133      # Examples:
   134      #   info                                       - Set default to INFO
   135      #   warning:main,db=debug:chaincode=info       - Override default WARNING in main,db,chaincode
   136      #   chaincode=info:main=debug:db=debug:warning - Same as above
   137      msp:       debug
   138      peer:      debug
   139      crypto:    info
   140      status:    warning
   141      stop:      warning
   142      login:     warning
   143      vm:        warning
   144      chaincode: error
   145  
   146  
   147  ###############################################################################
   148  #
   149  #    Peer section
   150  #
   151  ###############################################################################
   152  peer:
   153  
   154      # Peer Version following version semantics as described here http://semver.org/
   155      # The Peer supplies this version in communications with other Peers
   156      version:  0.1.0
   157  
   158      # The Peer id is used for identifying this Peer instance.
   159      id: jdoe
   160  
   161      # The privateKey to be used by this peer
   162      # privateKey: 794ef087680e2494fa4918fd8fb80fb284b50b57d321a31423fe42b9ccf6216047cea0b66fe8365a8e3f2a8140c6866cc45852e63124668bee1daa9c97da0c2a
   163  
   164      # The networkId allows for logical seperation of networks
   165      # networkId: dev
   166      # networkId: test
   167      networkId: dev
   168  
   169      # The Address this Peer will listen on
   170      listenAddress: 0.0.0.0:21212
   171      # The Address this Peer will bind to for providing services
   172      address: 0.0.0.0:21212
   173      # Whether the Peer should programmatically determine the address to bind to.
   174      # This case is useful for docker containers.
   175      addressAutoDetect: true
   176  
   177      # Peer port to accept connections on
   178      port:    21212
   179      # Setting for runtime.GOMAXPROCS(n). If n < 1, it does not change the current setting
   180      gomaxprocs: -1
   181      workers: 2
   182  
   183      # Sync related configuration
   184      sync:
   185          blocks:
   186              # Channel size for readonly SyncBlocks messages channel for receiving
   187              # blocks from oppositie Peer Endpoints.
   188              # NOTE: currently messages are not stored and forwarded, but rather
   189              # lost if the channel write blocks.
   190              channelSize: 10
   191          state:
   192              snapshot:
   193                  # Channel size for readonly syncStateSnapshot messages channel
   194                  # for receiving state deltas for snapshot from oppositie Peer Endpoints.
   195                  # NOTE: currently messages are not stored and forwarded, but
   196                  # rather lost if the channel write blocks.
   197                  channelSize: 50
   198              deltas:
   199                  # Channel size for readonly syncStateDeltas messages channel for
   200                  # receiving state deltas for a syncBlockRange from oppositie
   201                  # Peer Endpoints.
   202                  # NOTE: currently messages are not stored and forwarded,
   203                  # but rather lost if the channel write blocks.
   204                  channelSize: 20
   205  
   206      # Validator defines whether this peer is a validating peer or not, and if
   207      # it is enabled, what consensus plugin to load
   208      validator:
   209          enabled: true
   210  
   211          consensus:
   212              # Consensus plugin to use. The value is the name of the plugin, e.g. pbft, noops ( this value is case-insensitive)
   213              # if the given value is not recognized, we will default to noops
   214              plugin: noops
   215  
   216              # total number of consensus messages which will be buffered per connection before delivery is rejected
   217              buffersize: 1000
   218  
   219          events:
   220              # The address that the Event service will be enabled on the validator
   221              address: 0.0.0.0:7053
   222  
   223              # total number of events that could be buffered without blocking the
   224              # validator sends
   225              buffersize: 100
   226  
   227              # milliseconds timeout for producer to send an event.
   228              # if < 0, if buffer full, unblocks immediately and not send
   229              # if 0, if buffer full, will block and guarantee the event will be sent out
   230              # if > 0, if buffer full, blocks till timeout
   231              timeout: 10
   232  
   233      # TLS Settings for p2p communications
   234      tls:
   235          enabled:  false
   236          cert:
   237              file: testdata/server1.pem
   238          key:
   239              file: testdata/server1.key
   240  
   241          # The server name use to verify the hostname returned by TLS handshake
   242          # The key cert was generated using
   243          #       openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout testdata/server1.key -out testdata/server1.pem
   244          serverhostoverride: dummy
   245  
   246      # PKI member services properties
   247      pki:
   248          eca:
   249              paddr: localhost:20051
   250          tca:
   251              paddr: localhost:20051
   252          tlsca:
   253              paddr: localhost:20051
   254          tls:
   255              enabled: false
   256              rootcert:
   257                  file: tlsca.cert
   258              # The server name use to verify the hostname returned by TLS handshake
   259              serverhostoverride:
   260  
   261      # Peer discovery settings.  Controls how this peer discovers other peers
   262      discovery:
   263  
   264          # The root nodes are used for bootstrapping purposes, and generally
   265          # supplied through ENV variables
   266          rootnode:
   267  
   268          # The duration of time between attempts to asks peers for their connected peers
   269          period:  5s
   270  
   271          ## leaving this in for example of sub map entry
   272          # testNodes:
   273          #    - node   : 1
   274          #      ip     : 127.0.0.1
   275          #      port   : 21212
   276          #    - node   : 2
   277          #      ip     : 127.0.0.1
   278          #      port   : 21212
   279  
   280          # Should the discovered nodes and their reputations
   281          # be stored in DB and persisted between restarts
   282          persist:    true
   283  
   284          # if peer discovery is off
   285          # the peer window will show
   286          # only what retrieved by active
   287          # peer [true/false]
   288          enabled:    true
   289  
   290          # number of workers that
   291          # test the peers for being
   292          # online [1..10]
   293          workers: 8
   294  
   295          # the period in seconds with which the discovery
   296          # tries to reconnect to successful nodes
   297          # 0 means the nodes are not reconnected
   298          touchPeriod: 600
   299  
   300          # the maximum nuber of nodes to reconnect to
   301          # -1 for unlimited
   302          touchMaxNodes: 100
   303  
   304      # Path on the file system where peer will store data
   305      fileSystemPath: /var/hyperledger/production
   306  
   307  
   308      profile:
   309          enabled:     false
   310          listenAddress: 0.0.0.0:6060
   311  
   312      mspConfigPath: ../../sampleconfig/msp
   313  
   314      # BCCSP (Blockchain crypto provider): Select which crypto implementation or
   315      # library to use
   316      BCCSP:
   317          Default: SW
   318          SW:
   319              # TODO: The default Hash and Security level needs refactoring to be
   320              # fully configurable. Changing these defaults requires coordination
   321              # SHA2 is hardcoded in several places, not only BCCSP
   322              Hash: SHA2
   323              Security: 256
   324              FileKeyStore:
   325                  KeyStore:
   326  
   327  ###############################################################################
   328  #
   329  #    VM section
   330  #
   331  ###############################################################################
   332  vm:
   333  
   334      # Endpoint of the vm management system.  For docker can be one of the following in general
   335      # unix:///var/run/docker.sock
   336      # http://localhost:2375
   337      # https://localhost:2376
   338      endpoint: unix:///var/run/docker.sock
   339  
   340      # settings for docker vms
   341      docker:
   342          tls:
   343              enabled: false
   344              cert:
   345                  file: /path/to/server.pem
   346              ca:
   347                  file: /path/to/ca.pem
   348              key:
   349                  file: /path/to/server-key.pem
   350  
   351  ###############################################################################
   352  #
   353  #    Chaincode section
   354  #
   355  ###############################################################################
   356  chaincode:
   357  
   358      # The id is used by the Chaincode stub to register the executing Chaincode
   359      # ID with the Peerand is generally supplied through ENV variables
   360      # the Path form of ID is provided when deploying the chaincode. The name is
   361      # used for all other requests. The name is really a hashcode
   362      # returned by the system in response to the deploy transaction. In
   363      # development mode where user runs the chaincode, the name can be any string
   364      id:
   365          path:
   366          name:
   367  
   368      # Generic builder environment, suitable for most chaincode types
   369      builder: $(DOCKER_NS)/fabric-ccenv:$(ARCH)-$(PROJECT_VERSION)
   370  
   371      golang:
   372          # golang will never need more than baseos
   373          runtime: $(BASE_DOCKER_NS)/fabric-baseos:$(ARCH)-$(BASE_VERSION)
   374  
   375      car:
   376          # car may need more facilities (JVM, etc) in the future as the catalog
   377          # of platforms are expanded.  For now, we can just use baseos
   378          runtime: $(BASE_DOCKER_NS)/fabric-baseos:$(ARCH)-$(BASE_VERSION)
   379  
   380      java:
   381          # This is an image based on java:openjdk-8 with addition compiler
   382          # tools added for java shim layer packaging.
   383          # This image is packed with shim layer libraries that are necessary
   384          # for Java chaincode runtime.
   385          Dockerfile:  |
   386              FROM $(DOCKER_NS)/fabric-javaenv:$(ARCH)-$(PROJECT_VERSION)
   387  
   388      # timeout in millisecs for starting up a container and waiting for Register
   389      # to come through. 1sec should be plenty for chaincode unit tests
   390      startuptimeout: 300000
   391  
   392      #timeout in millisecs for deploying chaincode from a remote repository.
   393      deploytimeout: 30000
   394  
   395      #mode - options are "dev", "net"
   396      #dev - in dev mode, user runs the chaincode after starting validator from
   397      # command line on local machine
   398      #net - in net mode validator will run chaincode in a docker container
   399  
   400      mode: net
   401      # typically installpath should not be modified. Otherwise, user must ensure
   402      # the chaincode executable is placed in the path specifed by installpath in
   403      # the image
   404      installpath: /opt/gopath/bin/
   405  
   406      # keepalive in seconds. In situations where the communiction goes through a
   407      # proxy that does not support keep-alive, this parameter will maintain connection
   408      # between peer and chaincode.
   409      # A value <= 0 turns keepalive off
   410      keepalive: 0
   411  
   412      # system chaincodes whitelist. To add system chaincode "myscc" to the
   413      # whitelist, add "myscc: enable" to the list
   414      system:
   415          lscc: enable
   416          escc: enable
   417          vscc: enable
   418  
   419  ###############################################################################
   420  #
   421  #    Ledger section - ledger configuration encompases both the blockchain
   422  #    and the state
   423  #
   424  ###############################################################################
   425  ledger:
   426  
   427    blockchain:
   428  
   429      # Setting the deploy-system-chaincode property to false will prevent the
   430      # deploying of system chaincode at genesis time.
   431      deploy-system-chaincode: false
   432  
   433    state:
   434  
   435      # Control the number state deltas that are maintained. This takes additional
   436      # disk space, but allow the state to be rolled backwards and forwards
   437      # without the need to replay transactions.
   438      deltaHistorySize: 500
   439  
   440      # The data structure in which the state will be stored. Different data
   441      # structures may offer different performance characteristics.
   442      # Options are 'buckettree', 'trie' and 'raw'.
   443      # ( Note:'raw' is experimental and incomplete. )
   444      # If not set, the default data structure is the 'buckettree'.
   445      # This CANNOT be changed after the DB has been created.
   446      dataStructure:
   447        # The name of the data structure is for storing the state
   448        name: buckettree
   449        # The data structure specific configurations
   450        configs:
   451          # configurations for 'bucketree'. These CANNOT be changed after the DB
   452          # has been created. 'numBuckets' defines the number of bins that the
   453          # state key-values are to be divided
   454          numBuckets: 1000003
   455          # 'maxGroupingAtEachLevel' defines the number of bins that are grouped
   456          #together to construct next level of the merkle-tree (this is applied
   457          # repeatedly for constructing the entire tree).
   458          maxGroupingAtEachLevel: 5
   459          # 'bucketCacheSize' defines the size (in MBs) of the cache that is used to keep
   460          # the buckets (from root upto secondlast level) in memory. This cache helps
   461          # in making state hash computation faster. A value less than or equals to zero
   462          # leads to disabling this caching. This caching helps more if transactions
   463          # perform significant writes.
   464          bucketCacheSize: 100
   465  
   466          # configurations for 'trie'
   467          # 'tire' has no additional configurations exposed as yet
   468  
   469  ################################################################################
   470  #
   471  #   SECTION: STATETRANSFER
   472  #
   473  #   - This applies to recovery behavior when the replica has detected
   474  #     a state transfer is required
   475  #
   476  #   - This might happen:
   477  #     - During a view change in response to a faulty primary
   478  #     - After a network outage which has isolated the replica
   479  #     - If the current blockchain/state is determined to be corrupt
   480  #
   481  ################################################################################
   482  statetransfer:
   483  
   484      # Should a replica attempt to fix damaged blocks?
   485      # In general, this should be set to true, setting to false will cause
   486      # the replica to panic, and require a human's intervention to intervene
   487      # and fix the corruption
   488      recoverdamage: true
   489  
   490      # The number of blocks to retrieve per sync request
   491      blocksperrequest: 20
   492  
   493      # The maximum number of state deltas to attempt to retrieve
   494      # If more than this number of deltas is required to play the state up to date
   495      # then instead the state will be flagged as invalid, and a full copy of the state
   496      # will be retrieved instead
   497      maxdeltas: 200
   498  
   499      # Timeouts
   500      timeout:
   501  
   502          # How long may returning a single block take
   503          singleblock: 2s
   504  
   505          # How long may returning a single state delta take
   506          singlestatedelta: 2s
   507  
   508          # How long may transferring the complete state take
   509          fullstate: 60s