fabric-docs-i18n
fabric-docs-i18n copied to clipboard
[ja_JP] Tutorials / Creating a channel / Using configtx.yaml to build a channel configuration
Original HTML: https://hyperledger-fabric.readthedocs.io/en/release-2.5/create_channel/create_channel_config.html Original Source: https://github.com/hyperledger/fabric/blob/e1e8e2e52aa4fc543360d245fe6554a0eaf81183/docs/source/create_channel/create_channel_config.md
diff --git a/docs/source/create_channel/create_channel_config.md b/docs/source/create_channel/create_channel_config.md
index fdc15d761..6396c5a94 100644
--- a/docs/source/create_channel/create_channel_config.md
+++ b/docs/source/create_channel/create_channel_config.md
@@ -17,7 +17,7 @@ You can use this tutorial to learn how to use the `configtx.yaml` file to build
Because different sections of the file work together to create the policies that govern the channel, we will discuss channel policies in [their own tutorial](channel_policies.html).
-Building off of the [Creating a channel tutorial](create_channel.html), we will use the `configtx.yaml` file that is used to deploy the Fabric test network as an example. Open a command terminal on your local machine and navigate to the `test-network` directory in your local clone of the Fabric samples:
+Building off of the [Creating a channel tutorial](create_channel_participation.html), we will use the `configtx.yaml` file that is used to deploy the Fabric test network as an example. Open a command terminal on your local machine and navigate to the `test-network` directory in your local clone of the Fabric samples:
```
cd fabric-samples/test-network
```
@@ -58,6 +58,11 @@ You can see the part of `configtx.yaml` that defines Org1 of the test network be
Endorsement:
Type: Signature
Rule: "OR('Org1MSP.peer')"
+
+ # OrdererEndpoints is a list of all orderers this org runs which clients
+ # and peers may to connect to to push transactions and receive blocks respectively.
+ OrdererEndpoints:
+ - "orderer.example.com:7050"
```
- The `Name` field is an informal name used to identify the organization.
@@ -74,6 +79,8 @@ You can see the part of `configtx.yaml` that defines Org1 of the test network be
- The `Policies` section is used to define a set of signature policies that reference the channel member. We will discuss these policies in more detail when we discuss [channel policies](channel_policies.html).
+ - The `OrdererEndpoints` indicates the orderer node endpoints that this organization makes available to clients and peers. Service discovery uses this information so that clients can pass the appropriate TLS certificates when connecting to an orderer endpoint.
+
## Capabilities
Fabric channels can be joined by orderer and peer nodes that are running different versions of Hyperledger Fabric. Channel capabilities allow organizations that are running different Fabric binaries to participate on the same channel by only enabling certain features. For example, organizations that are running Fabric v1.4 and organizations that are running Fabric v2.x can join the same channel as long as the channel capabilities levels are set to V1_4_X or below. None of the channel members will be able to use the features introduced in Fabric v2.0.
@@ -113,13 +120,11 @@ Each channel configuration includes the orderer nodes in the channel [consenter
Port: 7050
ClientTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
ServerTLSCert: ../organizations/ordererOrganizations/example.com/orderers/orderer.example.com/tls/server.crt
- Addresses:
- - orderer.example.com:7050
```
- Each ordering node in the list of consenters is identified by their endpoint address and their client and server TLS certificate. If you are deploying a multi-node ordering service, you would need to provide the hostname, port, and the path to the TLS certificates used by each node. You would also need to add the endpoint address of each ordering node to the list of `Addresses`.
+ Each ordering node in the list of consenters is identified by their endpoint address and their client and server TLS certificate. If you are deploying a multi-node ordering service, you would need to provide the hostname, port, and the path to the TLS certificates used by each node.
-- You can use the `BatchTimeout` and `BatchSize` fields to tune the latency and throughput of the channel by changing the maximum size of each block and how often a new block is created.
+- You can use the `BatchTimeout` and `BatchSize` fields to tune the latency and throughput of the channel by changing the maximum size of each block and how often a new block is created. The `BatchSize` property includes `MaxMessageCount`, `AbsoluteMaxBytes`, and `PreferredMaxBytes` settings. A block will be cut when any of the `BatchTimeout` or `BatchSize` criteria has been met. For `AbsoluteMaxBytes` it is recommended not to exceed 49 MB, given the default gRPC maximum message size of 100 MB configured on orderer and peer nodes (and allowing for message expansion during communication).
- The `Policies` section creates the policies that govern the channel consenter set. The test network uses the default policies provided by Fabric, which require that a majority of orderer administrators approve the addition or removal of ordering nodes, organizations, or an update to the block cutting parameters.
@@ -135,7 +140,7 @@ The test network uses the default policies provided by Fabric, which require tha
The `configtxgen` tool reads the channel profiles in the **Profiles** section to build a channel configuration. Each profile uses YAML syntax to gather data from other sections of the file. The `configtxgen` tool uses this configuration to create a channel creation transaction for an applications channel, or to write the channel genesis block for a system channel. To learn more about YAML syntax, [Wikipedia](https://en.wikipedia.org/wiki/YAML) provides a good place to get started.
-The `configtx.yaml` used by the test network contains two channel profiles, `TwoOrgsOrdererGenesis` and `TwoOrgsChannel`:
+The `configtx.yaml` used by the test network contains two channel profiles, `TwoOrgsOrdererGenesis` and `TwoOrgsChannel`. If you want to create a channel without a system channel by using the `osnadmin CLI` then you can refer to the `SampleAppChannelEtcdRaft`
### TwoOrgsOrdererGenesis
@@ -179,3 +184,32 @@ TwoOrgsChannel:
The system channel is used by the ordering service as a template to create application channels. The nodes of the ordering service that are defined in the system channel become the default consenter set of new channels, while the administrators of the ordering service become the orderer administrators of the channel. The channel MSPs of channel members are transferred to the new channel from the system channel. After the channel is created, ordering nodes can be added or removed from the channel by updating the channel configuration. You can also update the channel configuration to [add other organizations as channel members](../channel_update_tutorial.html).
The `TwoOrgsChannel` provides the name of the consortium, `SampleConsortium`, hosted by the test network system channel. As a result, the ordering service defined in the `TwoOrgsOrdererGenesis` profile becomes channel consenter set. In the `Application` section, both organizations from the consortium, Org1 and Org2, are included as channel members. The channel uses `V2_0` as the application capabilities, and uses the default policies from the **Application** section to govern how peer organizations will interact with the channel. The application channel also uses the default policies from the **Channel** section and enables `V2_0` as the channel capability level.
+
+### SampleAppChannelEtcdRaft
+
+The `SampleAppChannelEtcdRaft` profile is provided for customers that prefer to create a channel without a system channel by using the `osnadmin CLI`. The major difference is that a consortium definition is no longer required. Check out the [Create a channel](create_channel_participation.html) tutorial to learn more about how to use this profile.
+
+```
+SampleAppChannelEtcdRaft:
+ <<: *ChannelDefaults
+ Orderer:
+ <<: *OrdererDefaults
+ OrdererType: etcdraft
+ Organizations:
+ - <<: *SampleOrg
+ Policies:
+ <<: *SampleOrgPolicies
+ Admins:
+ Type: Signature
+ Rule: "OR('SampleOrg.member')"
+ Application:
+ <<: *ApplicationDefaults
+ Organizations:
+ - <<: *SampleOrg
+ Policies:
+ <<: *SampleOrgPolicies
+ Admins:
+ Type: Signature
+ Rule: "OR('SampleOrg.member')"
+```
+For simplicity, this snippet assumes that the peers and orderers belong to the same organization `SampleOrg`. For a production deployment however, it is recommended that the peer and ordering nodes belong to separate organizations.