github.com/leonlxy/hyperledger@v1.0.0-alpha.0.20170427033203-34922035d248/core/endorser/endorser_test.yaml (about)

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