go_study/fabric-main/docs/source/capability_requirements.rst

50 lines
3.0 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Defining capability requirements
================================
.. note:: This topic describes a network that does not use a "system channel", a
channel that the ordering service is bootstrapped with and the ordering
service exclusively controls. Since the release of v2.3, using a system
channel is now considered the legacy process as compared to the process
to :doc:`create_channel/create_channel_participation`. For a version of this topic that
includes information about the system channel, check out
`Capability requirements <https://hyperledger-fabric.readthedocs.io/en/release-2.2/capability_requirements.html>`_ from the v2.2 documentation.
As discussed in :doc:`capabilities_concept`, capability requirements are defined
per channel in the channel configuration (found in the channels most recent
configuration block). The channel configuration contains three locations, each
of which defines a capability of a different type.
+------------------+-----------------------------------+----------------------------------------------------+
| Capability Type | Canonical Path | JSON Path |
+==================+===================================+====================================================+
| Channel | /Channel/Capabilities | .channel_group.values.Capabilities |
+------------------+-----------------------------------+----------------------------------------------------+
| Orderer | /Channel/Orderer/Capabilities | .channel_group.groups.Orderer.values.Capabilities |
+------------------+-----------------------------------+----------------------------------------------------+
| Application | /Channel/Application/Capabilities | .channel_group.groups.Application.values. |
| | | Capabilities |
+------------------+-----------------------------------+----------------------------------------------------+
Setting Capabilities
--------------------
Capabilities are set as part of the channel configuration (either as part of the
initial configuration -- which we'll talk about in a moment -- or as part of a
reconfiguration).
.. note:: For more information about how to update a channel configuration, check
out :doc:`config_update`.
Capabilities in an Initial Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In the ``configtx.yaml`` file distributed in the ``config`` directory of the release
artifacts, there is a ``Capabilities`` section which enumerates the possible capabilities
for each capability type (Channel, Orderer, and Application).
Note that there is a ``Capabilities`` section defined at the root level (for the channel
capabilities), and at the Orderer level (for orderer capabilities).
.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/