github.com/kaituanwang/hyperledger@v2.0.1+incompatible/docs/source/capability_requirements.rst (about)

     1  Defining capability requirements
     2  ================================
     3  
     4  As discussed in :doc:`capabilities_concept`, capability requirements are defined
     5  per channel in the channel configuration (found in the channel’s most recent
     6  configuration block). The channel configuration contains three locations, each
     7  of which defines a capability of a different type.
     8  
     9  +------------------+-----------------------------------+----------------------------------------------------+
    10  | Capability Type  | Canonical Path                    | JSON Path                                          |
    11  +==================+===================================+====================================================+
    12  | Channel          | /Channel/Capabilities             | .channel_group.values.Capabilities                 |
    13  +------------------+-----------------------------------+----------------------------------------------------+
    14  | Orderer          | /Channel/Orderer/Capabilities     | .channel_group.groups.Orderer.values.Capabilities  |
    15  +------------------+-----------------------------------+----------------------------------------------------+
    16  | Application      | /Channel/Application/Capabilities | .channel_group.groups.Application.values.          |
    17  |                  |                                   | Capabilities                                       |
    18  +------------------+-----------------------------------+----------------------------------------------------+
    19  
    20  Setting Capabilities
    21  --------------------
    22  
    23  Capabilities are set as part of the channel configuration (either as part of the
    24  initial configuration -- which we'll talk about in a moment -- or as part of a
    25  reconfiguration).
    26  
    27  .. note:: For more information about how to update a channel configuration, check
    28            out :doc:`config_update`.
    29  
    30  Because new channels copy the configuration of the ordering system channel by
    31  default, new channels will automatically be configured to work with the orderer
    32  and channel capabilities of the ordering system channel and the application
    33  capabilities specified by the channel creation transaction.
    34  
    35  Capabilities in an Initial Configuration
    36  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    37  
    38  In the ``configtx.yaml`` file distributed in the ``config`` directory of the release
    39  artifacts, there is a ``Capabilities`` section which enumerates the possible capabilities
    40  for each capability type (Channel, Orderer, and Application).
    41  
    42  Note that there is a ``Capabilities`` section defined at the root level (for the channel
    43  capabilities), and at the Orderer level (for orderer capabilities).
    44  
    45  When defining the orderer system channel there is no Application section, as those
    46  capabilities are defined during the creation of an application channel.
    47  
    48  .. Licensed under Creative Commons Attribution 4.0 International License
    49     https://creativecommons.org/licenses/by/4.0/