Skip to content

Commit

Permalink
Fix for FAB-16996, Removed solo and kafka refference in BYNF doc
Browse files Browse the repository at this point in the history
Signed-off-by: Sajan Jaiswal <sjnjaiswal@gmail.com>
  • Loading branch information
sajanjswl authored and denyeart committed Dec 6, 2019
1 parent 05706bb commit c3720b4
Showing 1 changed file with 11 additions and 61 deletions.
72 changes: 11 additions & 61 deletions docs/source/build_network.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ Building Your First Network

The build your first network (BYFN) scenario provisions a sample Hyperledger
Fabric network consisting of two organizations, each maintaining two peer
nodes. It also will deploy a "Solo" ordering service by default, though other
ordering service implementations are available.
nodes. It also will deploy a Raft ordering service by default.

Install prerequisites
---------------------
Expand All @@ -38,8 +37,8 @@ Want to run it now?

We provide a fully annotated script --- ``byfn.sh`` --- that leverages these Docker
images to quickly bootstrap a Hyperledger Fabric network that by default is
comprised of four peers representing two different organizations, and an orderer
node. It will also launch a container to run a scripted execution that will join
comprised of four peers representing two different organizations, and a Raft ordering
service. It will also launch a container to run a scripted execution that will join
peers to a channel, deploy a chaincode and drive execution of transactions
against the deployed chaincode.

Expand All @@ -61,7 +60,8 @@ Here's the help text for the ``byfn.sh`` script:
-f <docker-compose-file> - specify which docker-compose file use (defaults to docker-compose-cli.yaml)"
-s <dbtype> - the database backend to use: goleveldb (default) or couchdb"
-l <language> - the chaincode language: golang (default), node, or java"
-o <consensus-type> - the consensus-type of the ordering service: solo (default), kafka, or etcdraft"
-a - launch certificate authorities (no certificate authorities are launched by default)
-n - do not deploy chaincode (abstore chaincode is deployed by default)
-i <imagetag> - the tag to be used to launch the network (defaults to \"latest\")"
-v - verbose mode"
byfn.sh -h (print this message)"
Expand Down Expand Up @@ -182,24 +182,7 @@ the following command instead:
.. note:: Do not run both of these commands. Only one language can be tried unless
you bring down and recreate the network between.
In addition to support for multiple chaincode languages, you can also issue a
flag that will bring up a five node Raft ordering service or a Kafka ordering
service instead of the one node Solo orderer. For more information about the
currently supported ordering service implementations, check out :doc:`orderer/ordering_service`.

To bring up the network with a Raft ordering service, issue:

.. code:: bash
./byfn.sh up -o etcdraft
To bring up the network with a Kafka ordering service, issue:

.. code:: bash
./byfn.sh up -o kafka
Once again, you will be prompted as to whether you wish to continue or abort.
You will be prompted as to whether you wish to continue or abort.
Respond with a ``y`` or hit the return key:
.. code:: bash
Expand Down Expand Up @@ -328,9 +311,8 @@ right now. If you're interested, you can peruse these topics on your own time.
After we run the ``cryptogen`` tool, the generated certificates and keys will be
saved to a folder titled ``crypto-config``. Note that the ``crypto-config.yaml``
file lists five orderers as being tied to the orderer organization. While the
``cryptogen`` tool will create certificates for all five of these orderers, unless
the Raft or Kafka ordering services are being used, only one of these orderers
will be used in a Solo ordering service implementation and be used to create the
``cryptogen`` tool will create certificates for all five of these orderers. These orderers
will be used in a etcdraft ordering service implementation and be used to create the
system channel and ``mychannel``.
Configuration Transaction Generator
Expand Down Expand Up @@ -360,15 +342,9 @@ two Peer Orgs. Pay specific attention to the "Profiles" section at the bottom o
this file. You will notice that we have several unique profiles. A few are worth
noting:
* ``TwoOrgsOrdererGenesis``: generates the genesis block for a Solo ordering
service.

* ``SampleMultiNodeEtcdRaft``: generates the genesis block for a Raft ordering
service. Only used if you issue the ``-o`` flag and specify ``etcdraft``.
* ``SampleDevModeKafka``: generates the genesis block for a Kafka ordering
service. Only used if you issue the ``-o`` flag and specify ``kafka``.

* ``TwoOrgsChannel``: generates the genesis block for our channel, ``mychannel``.
These headers are important, as we will pass them in as arguments when we create
Expand Down Expand Up @@ -431,33 +407,10 @@ present working directory:
Then, we'll invoke the ``configtxgen`` tool to create the orderer genesis block:
.. code:: bash
../bin/configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
To output a genesis block for a Raft ordering service, this command should be:

.. code:: bash
../bin/configtxgen -profile SampleMultiNodeEtcdRaft -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
Note the ``SampleMultiNodeEtcdRaft`` profile being used here.

To output a genesis block for a Kafka ordering service, issue:

.. code:: bash
../bin/configtxgen -profile SampleDevModeKafka -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
If you are not using Raft or Kafka, you should see an output similar to the
following:

.. code:: bash
2017-10-26 19:21:56.301 EDT [common/tools/configtxgen] main -> INFO 001 Loading configuration
2017-10-26 19:21:56.309 EDT [common/tools/configtxgen] doOutputBlock -> INFO 002 Generating genesis block
2017-10-26 19:21:56.309 EDT [common/tools/configtxgen] doOutputBlock -> INFO 003 Writing genesis block
.. note:: The orderer genesis block and the subsequent artifacts we are about to create
will be output into the ``channel-artifacts`` directory at the root of this
project. The `channelID` in the above command is the name of the system channel.
Expand All @@ -476,13 +429,10 @@ set ``CHANNEL_NAME`` as an environment variable that can be used throughout thes
export CHANNEL_NAME=mychannel && ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
Note that you don't have to issue a special command for the channel if you are
using a Raft or Kafka ordering service. The ``TwoOrgsChannel`` profile will use
the ordering service configuration you specified when creating the genesis block
for the network.
Note that the ``TwoOrgsChannel`` profile will use the ordering service
configuration you specified when creating the genesis block for the network.
If you are not using a Raft or Kafka ordering service, you should see an output
similar to the following in your terminal:
You should see an output similar to the following in your terminal:
.. code:: bash
Expand Down

0 comments on commit c3720b4

Please sign in to comment.