Commit 9a86c1a2 authored by Gari Singh's avatar Gari Singh
Browse files

FAB-5166 Docs should use Hyperledger Fabric



There are still several places in the docs
which do not properly use Hyperledger Fabric
when referring to Hyperledger Fabric.

While this change covers a lot of files, it
simply changes all reference to
Hyperledger Fabric or provides a minor rewrite
to avoid using the terms at all.

As part of this, also addressed
- FAB-5014
- FAB-5139
- Changed docker to Docker as appropriate
- Other minor cleanups since this included most of the docs

Change-Id: I7818a44b1411abb536a595c537202615bf901199
Signed-off-by: default avatarGari Singh <gari.r.singh@gmail.com>
parent b8e189eb
......@@ -111,7 +111,7 @@ Discussion of the proposed feature should be conducted in the JIRA issue itself,
so that we have a consistent pattern within our community as to where to find
design discussion.
Getting the support of three or more of the Fabric maintainers for the new
Getting the support of three or more of the Hyperledger Fabric maintainers for the new
feature will greatly enhance the probability that the feature's related CRs
will be merged.
......@@ -133,7 +133,7 @@ Next, try :doc:`building the project <dev-setup/build>` in your local
development environment to ensure that everything is set up correctly.
The :doc:`logging-control` document describes how to tweak
the logging levels of various components within the Fabric. Finally,
the logging levels of various components within Hyperledger Fabric. Finally,
every source file needs to include a
`license header <https://github.com/hyperledger/fabric/blob/master/docs/source/dev-setup/headers.txt>`__: modified to include a copyright
statement for the principle author(s).
......
......@@ -154,40 +154,5 @@ of native currency is that some amount will get transacted (the chaincode
defining that currency will get called) every time a transaction is processed
on its chain.
Identity Management (Membership Service)
----------------------------------------
Q. What is unique about the Hyperledger Fabric's membership service module?
A. One of the things that makes the membership service module stand out from
the pack is our implementation of the latest advances in cryptography.
In addition to ensuring private, auditable transactions, our membership
service module introduces the concept of enrollment and transaction
certificates. This innovation ensures that only verified owners can
create asset tokens, allowing an infinite number of transaction
certificates to be issued through parent enrollment certificates while
guaranteeing the private keys of asset tokens can be regenerated if
lost.
Issuers also have the ability revoke transaction certificates or
designate them to expire within a certain timeframe, allowing greater
control over the asset tokens they have issued.
Like most other modules, you can always replace the
default module with another membership service option should the need
arise.
Q. Does its Membership Service make Fabric a centralized solution?
A. No. The only role of the Membership Service module is to issue digital
certificates to validated entities that want to participate in the
network. It does not execute transactions nor is it aware of how or when
these certificates are used in any particular network.
However, because certificates are the way networks regulate and manage
their users, the module serves a central regulatory and organizational
role.
.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/
Requesting a Linux Foundation Account
=====================================
Contributions to the Fabric code base require a Linux Foundation
Contributions to the Hyperledger Fabric code base require a Linux Foundation
account. Follow the steps below to create a Linux Foundation account.
Creating a Linux Foundation ID
......
......@@ -26,10 +26,10 @@ generate/update the respective ``.pb.go`` files.
Adding or updating Go packages
------------------------------
The Hyperledger Fabric Project uses Go 1.6 vendoring for package
The Hyperledger Fabric Project uses Govendor for package
management. This means that all required packages reside in the
``vendor`` folder within the fabric project. Go will use packages in
this folder instead of the GOPATH when the ``go install`` or
``$GOPATH/src/github.com/hyperledger/fabric/vendor`` folder. Go will use
packages in this folder instead of the GOPATH when the ``go install`` or
``go build`` commands are executed. To manage the packages in the
``vendor`` folder, we use
`Govendor <https://github.com/kardianos/govendor>`__, which is installed
......
......@@ -234,8 +234,8 @@ given channel and can then send messages and obtain the messages that
arrive. Channels can be thought of as partitions - clients connecting to
one channel are unaware of the existence of other channels, but clients
may connect to multiple channels. Even though some ordering service
implementations included with Hyperledger Fabric v1 will support
multiple channels, for simplicity of presentation, in the rest of this
implementations included with Hyperledger Fabric support multiple
channels, for simplicity of presentation, in the rest of this
document, we assume ordering service consists of a single channel/topic.
**Ordering service API.** Peers connect to the channel provided by the
......
......@@ -22,8 +22,8 @@ only to the set of nodes participating in that channel.
The Hyperledger Fabric architecture is comprised of the following
components: peer nodes, ordering nodes and the clients applications that
are likely leveraging one of the language-specific Fabric SDKs. These
components have identities derived from certificate authorities.
are likely leveraging one of the language-specific Hyperledger Fabric SDKs.
These components have identities derived from certificate authorities.
Hyperledger Fabric also offers a certificate authority service,
*fabric-ca* but, you may substitute that with your own.
......
......@@ -147,12 +147,12 @@ and is a system by which participants manage their transactions.
Where Hyperledger Fabric breaks from some other blockchain systems is that
it is **private** and **permissioned**. Rather than the “proof of work” some
blockchain networks use to verify identity (allowing anyone who meets those
criteria to join the network), the members of a Fabric network enroll through
a **membership services provider**.
criteria to join the network), the members of a Hyperledger Fabric network
enroll through a **membership services provider**.
Fabric also offers several pluggable options. Ledger data can be stored in
multiple formats, consensus mechanisms can be switched in and out,
and different membership service providers are supported.
Hyperledger Fabric also offers several pluggable options. Ledger data can be
stored in multiple formats, consensus mechanisms can be switched in and out,
and different MSPs are supported.
Hyperledger Fabric also offers the ability to create **channels**, allowing a group of
participants to create a separate ledger of transactions. This is an especially
......
......@@ -2,15 +2,15 @@ Building Your First Network
===========================
.. note:: These instructions have been verified to work against the
version "1.0.0-rc1" tagged docker images and the pre-compiled
version "1.0.0-rc1" tagged Docker images and the pre-compiled
setup utilities within the supplied tar file. If you run
these commands with images or tools from the current master
branch, it is possible that you will see configuration and panic
errors.
The build your first network (BYFN) scenario provisions a sample Fabric network
consisting of two organizations, each maintaining two peer nodes, and a "solo"
ordering service.
The build your first network (BYFN) scenario provisions a sample Hyperledger
Fabric network consisting of two organizations, each maintaining two peer
nodes, and a "solo" ordering service.
Install prerequisites
---------------------
......@@ -38,12 +38,12 @@ sub-directory now.
Want to run it now?
-------------------
We provide a fully annotated script ``byfn.sh`` that leverages these docker
images to quickly bootstrap a Fabric network comprised of 4 peers representing
two different organizations, and an orderer node. It will also launch a
container to run a scripted execution that will join peers to a channel, deploy
and instantiate chaincode and drive execution of transactions against the
deployed chaincode.
We provide a fully annotated script ``byfn.sh`` that leverages these Docker
images to quickly bootstrap a Hyperledger Fabric network comprised of 4 peers
representing two different organizations, and an orderer node. It will also
launch a container to run a scripted execution that will join peers to a
channel, deploy and instantiate chaincode and drive execution of transactions
against the deployed chaincode.
Here's the help text for the ``byfn.sh`` script:
......@@ -213,7 +213,7 @@ Once again, you will be prompted to continue, respond with a ``y``:
If you'd like to learn more about the underlying tooling and bootstrap mechanics,
continue reading. In these next sections we'll walk through the various steps
and requirements to build a fully-functional Fabric network.
and requirements to build a fully-functional Hyperledger Fabric network.
Crypto Generator
----------------
......@@ -229,15 +229,17 @@ How does it work?
Cryptogen consumes a file - ``crypto-config.yaml`` - that contains the network
topology and allows us to generate a set of certificates and keys for both the
Organizations and the components that belong to those Organizations. Each
Organization is provisioned a unique root certificate (``ca-cert``), that binds
Organization is provisioned a unique root certificate (``ca-cert``) that binds
specific components (peers and orderers) to that Org. By assigning each
Organization a unique CA certificate, we are mimicking a typical network where
a participating :ref:`Member` would use its own Certificate Authority.
Transactions and communications within Fabric are signed by an entity's private
key (``keystore``), and then verified by means of a public key (``signcerts``).
You will notice a "count" variable within this file. We use this to specify
the number of peers per Organization; in our case it's two peers per Org. We
won't delve into the minutiae of `x.509 certificates and public key
Transactions and communications within Hyperledger Fabric are signed by an
entity's private key (``keystore``), and then verified by means of a public
key (``signcerts``).
You will notice a ``count`` variable within this file. We use this to specify
the number of peers per Organization; in our case there are two peers per Org.
We won't delve into the minutiae of `x.509 certificates and public key
infrastructure <https://en.wikipedia.org/wiki/Public_key_infrastructure>`__
right now. If you're interested, you can peruse these topics on your own time.
......@@ -284,7 +286,7 @@ Configuration Transaction Generator
The ``configtxgen tool`` is used to create four configuration artifacts:
* orderer ``genesis block``,
* fabric ``channel configuration transaction``,
* channel ``channel configuration transaction``,
* and two ``anchor peer transactions`` - one for each Peer Org.
Please see :doc:`configtxgen` for a complete description of the use of this
......@@ -677,7 +679,7 @@ traditional transaction - read/write - is performed against that chaincode (e.g.
the value of "a"). The transaction causes the container to start. Also,
all peers in a channel maintain an exact copy of the ledger which
comprises the blockchain to store the immutable, sequenced record in
blocks, as well as a state database to maintain current fabric state.
blocks, as well as a state database to maintain a snapshot of the current state.
This includes those peers that do not have chaincode installed on them
(like ``peer1.org1.example.com`` in the above example) . Finally, the chaincode is accessible
after it is installed (like ``peer1.org2.example.com`` in the above example) because it
......@@ -686,7 +688,7 @@ has already been instantiated.
How do I see these transactions?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Check the logs for the CLI docker container.
Check the logs for the CLI Docker container.
.. code:: bash
......@@ -741,17 +743,17 @@ output from each container:
ex02 Invoke
Query Response:{"Name":"a","Amount":"90"}
Understanding the docker-compose topology
Understanding the Docker Compose topology
-----------------------------------------
The BYFN sample offers us two flavors of docker-compose files, both of which
The BYFN sample offers us two flavors of Docker Compose files, both of which
are extended from the ``docker-compose-base.yaml`` (located in the ``base``
folder). Our first flavor, ``docker-compose-cli.yaml``, provides us with a
CLI container, along with an orderer, four peers. We use this docker-compose
CLI container, along with an orderer, four peers. We use this file
for the entirety of the instructions on this page.
.. note:: the remainder of this section covers a docker-compose file designed for the
SDK. Refer to the `Node.js SDK <https://github.com/hyperledger/fabric-sdk-node>`__
SDK. Refer to the `Node SDK <https://github.com/hyperledger/fabric-sdk-node>`__
repo for details on running these tests.
The second flavor, ``docker-compose-e2e.yaml``, is constructed to run end-to-end tests
......@@ -782,7 +784,7 @@ data content contingent upon the chaincode data being modeled as JSON.
To use CouchDB instead of the default database (goleveldb), follow the same
procedures outlined earlier for generating the artifacts, except when starting
the network pass the couchdb docker-compose as well:
the network pass ``docker-compose-couch.yaml`` as well:
.. code:: bash
......@@ -910,8 +912,8 @@ Troubleshooting
- **YOU WILL SEE ERRORS IF YOU DO NOT REMOVE CONTAINERS AND IMAGES**
- If you see docker errors, first check your version (should be 1.12 or above),
and then try restarting your docker process. Problems with Docker are
- If you see Docker errors, first check your version (should be 1.12 or above),
and then try restarting your Docker process. Problems with Docker are
oftentimes not immediately recognizable. For example, you may see errors
resulting from an inability to access crypto material mounted within a
container.
......@@ -970,7 +972,7 @@ channel artifacts.
./byfn.sh -m down
- If you see an error stating that you still have "active endpoints", then prune
your docker networks. This will wipe your previous networks and start you with a
your Docker networks. This will wipe your previous networks and start you with a
fresh environment:
.. code:: bash
......
......@@ -3,8 +3,8 @@ Hyperledger Fabric Capabilities
Hyperledger Fabric is a unique implementation of distributed ledger technology
(DLT) that delivers enterprise-ready network security, scalability,
confidentiality and performance, in a modular blockchain architecture. The
fabric delivers the following blockchain network capabilities:
confidentiality and performance, in a modular blockchain architecture.
Hyperledger Fabric delivers the following blockchain network capabilities:
Identity management
-------------------
......@@ -65,11 +65,11 @@ Modular design
Hyperledger Fabric implements a modular architecture to
provide functional choice to network designers. Specific algorithms for
identity, ordering (consensus) and encryption, for example, can be plugged in
to any fabric network. The result is a universal blockchain architecture that
any industry or public domain can adopt, with the assurance that its networks
will be interoperable across market, regulatory and geographic boundaries. By
contrast, current alternatives to Hyperledger Fabric are largely partisan,
constrained and industry-specific.
to any Hyperledger Fabric network. The result is a universal blockchain
architecture that any industry or public domain can adopt, with the assurance
that its networks will be interoperable across market, regulatory and
geographic boundaries. By contrast, current alternatives to Hyperledger Fabric
are largely partisan, constrained and industry-specific.
.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/
......@@ -24,9 +24,9 @@ We offer two different perspectives on chaincode. One, from the perspective of
an application developer developing a blockchain application/solution
entitled :doc:`chaincode4ade`, and the other, :doc:`chaincode4noah` oriented
to the blockchain network operator who is responsible for managing a blockchain
network, and who would leverage the Fabric API to install, instantiate, and
upgrade chaincode, but would likely not be involved in the development of a
chaincode application.
network, and who would leverage the Hyperledger Fabric API to install,
instantiate, and upgrade chaincode, but would likely not be involved in the
development of a chaincode application.
.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/
......@@ -382,7 +382,7 @@ We start "dev mode" by leveraging pre-generated orderer and channel artifacts fo
a sample dev network. As such, the user can immediately jump into the process
of compiling chaincode and driving calls.
Install Fabric Samples
Install Hyperledger Fabric Samples
----------------------
If you haven't already done so, please install the :doc:`samples`.
......@@ -394,10 +394,10 @@ clone:
cd chaincode-docker-devmode
Download docker images
Download Docker images
----------------------
We need four docker images in order for "dev mode" to run against the supplied
We need four Docker images in order for "dev mode" to run against the supplied
docker compose script. If you installed the ``fabric-samples`` repo clone and
followed the instructions to :ref:`download-platform-specific-binaries`, then
you should have the necessary Docker images installed locally.
......
......@@ -30,9 +30,9 @@ The Hyperledger Fabric API enables interaction with the various nodes
in a blockchain network - the peers, orderers and MSPs - and it also allows
one to package, install, instantiate and upgrade chaincode on the endorsing
peer nodes. The Hyperledger Fabric language-specific SDKs
abstract the specifics of the Hyperledger Fabric's API to facilitate
abstract the specifics of the Hyperledger Fabric API to facilitate
application development, though it can be used to manage a chaincode's
lifecycle. Additionally, the Hyperledger Fabric's API can be accessed
lifecycle. Additionally, the Hyperledger Fabric API can be accessed
directly via the CLI, which we will use in this document.
We provide four commands to manage a chaincode's lifecycle: ``package``,
......@@ -307,7 +307,7 @@ CLI
can simply invoke the commands from within a running docker container.
To view the currently available CLI commands, execute the following command from
within a running ``fabric-peer`` docker container:
within a running ``fabric-peer`` Docker container:
.. code:: bash
......@@ -384,8 +384,9 @@ register with a `fixed set of parameters
compiled in and doesn't have endorsement policies or endorsement policy
functionality.
System chaincode is used in Fabric to implement a number of system behaviors
so that they can be replaced or modified as appropriate by a system integrator.
System chaincode is used in Hyperledger Fabric to implement a number of
system behaviors so that they can be replaced or modified as appropriate
by a system integrator.
The current list of system chaincodes:
......
......@@ -2,7 +2,7 @@ Channel Configuration (configtxgen)
===================================
This document describe the usage for the ``configtxgen`` utility for
manipulating fabric channel configuration.
manipulating Hyperledger Fabric channel configuration.
For now, the tool is primarily focused on generating the genesis block
for bootstrapping the orderer, but it is intended to be enhanced in the
......
Building the fabric
-------------------
Building Hyperledger Fabric
---------------------------
The following instructions assume that you have already set up your
:doc:`development environment <devenv>`.
To build the Fabric:
To build Hyperledger Fabric:
::
......@@ -165,7 +165,7 @@ The available log levels in order of increasing verbosity are: *CRITICAL
See the :doc:`logging-control` document for
instructions on tweaking the level of log messages to output when running
the various Fabric components.
the various Hyperledger Fabric components.
.. Licensed under Creative Commons Attribution 4.0 International License
https://creativecommons.org/licenses/by/4.0/
......@@ -97,13 +97,13 @@ If you continue with ``core.autocrlf`` set to ``true``, the
``./setup.sh: /bin/bash^M: bad interpreter: No such file or directory``
Cloning the Fabric project
^^^^^^^^^^^^^^^^^^^^^^^^^^
Cloning the Hyperledger Fabric project
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Since the Fabric project is a ``Go`` project, you'll need to clone the
Fabric repo to your $GOPATH/src directory. If your $GOPATH has multiple
path components, then you will want to use the first one. There's a
little bit of setup needed:
Since the Hyperledger Fabric project is a ``Go`` project, you'll need to
clone the source repository to your $GOPATH/src directory. If your $GOPATH
has multiple path components, then you will want to use the first one.
There's a little bit of setup needed:
::
......@@ -147,11 +147,12 @@ Once inside the VM, you can find the peer project under
``$GOPATH/src/github.com/hyperledger/fabric``. It is also mounted as
``/hyperledger``.
Building the fabric
~~~~~~~~~~~~~~~~~~~
Building Hyperledger Fabric
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Once you have all the dependencies installed, and have cloned the
repository, you can proceed to :doc:`build and test <build>` the fabric.
repository, you can proceed to :doc:`build and test <build>` Hyperledger
Fabric.
Notes
~~~~~
......
......@@ -3,9 +3,9 @@ Error handling
General Overview
----------------
The Fabric error handling framework can be found in the Fabric repository under
**common/errors**. It defines a new type of error, CallStackError, to use in
place of the standard error type provided by Go.
The Hyperledger Fabric error handling framework can be found in the source
repository under **common/errors**. It defines a new type of error,
CallStackError, to use in place of the standard error type provided by Go.
A CallStackError consists of the following:
......@@ -130,14 +130,14 @@ would display the error message:
.. note:: The callstacks have not been displayed for this example for the sake of
brevity.
General guidelines for error handling in Fabric
-----------------------------------------------
General guidelines for error handling in Hyperledger Fabric
-----------------------------------------------------------
- If it is some sort of best effort thing you are doing, you should log the
error and ignore it.
- If you are servicing a user request, you should log the error and return it.
- If the error comes from elsewhere in the Fabric, you have the choice to wrap
the error or not. Typically, it's best to not wrap the error and simply return
- If the error comes from elsewhere, you have the choice to wrap the error
or not. Typically, it's best to not wrap the error and simply return
it as is. However, for certain cases where a utility function is called,
wrapping the error with a new component and reason code can help an end user
understand where the error is really occurring without inspecting the callstack.
......
......@@ -19,7 +19,7 @@ fulfill its promise of a comprehensive, yet customizable, enterprise blockchain
* :ref:`Security-Membership-Services` - Permissioned membership provides a
trusted blockchain network, where participants know that all transactions can
be detected and traced by authorized regulators and auditors.
* :ref:`Consensus` - Fabric's unique approach to consensus enables the
* :ref:`Consensus` - a unique approach to consensus enables the
flexibility and scalability needed for the enterprise.
.. _Assets:
......@@ -28,15 +28,15 @@ Assets
------
Assets can range from the tangible (real estate and hardware) to the intangible
(contracts and intellectual property). You can easily define Assets in client-side
javascript and use them in your Fabric application using the included
`Fabric Composer <https://github.com/fabric-composer/fabric-composer>`__ tool.
(contracts and intellectual property). Hyperledger Fabric provides the
ability to modify assets using chaincode transactions.
Fabric supports the ability to exchange assets using unspent transaction outputs
as the inputs for subsequent transactions. Assets (and asset registries) live
in Fabric as a collection of key-value pairs, with state changes recorded as transactions
on a :ref:`Channel` ledger. Fabric allows for any asset
to be represented in binary or JSON format.
Assets are represented in Hyperledger Fabric as a collection of
key-value pairs, with state changes recorded as transactions on a :ref:`Channel`
ledger. Assets can be represented in binary and/or JSON form.
You can easily define and use assets in your Hyperledger Fabric applications
using the `Hyperledger Composer <https://github.com/hyperledger/composer>`__ tool.
.. _Chaincode:
......@@ -83,20 +83,20 @@ See the :doc:`ledger` topic for a deeper dive on the databases, storage structur
Privacy through Channels
------------------------
Fabric employs an immutable ledger on a per-channel basis, as well as
Hyperledger Fabric employs an immutable ledger on a per-channel basis, as well as
chaincodes that can manipulate and modify the current state of assets (i.e. update
key value pairs). A ledger exists in the scope of a channel - it can be shared
across the entire network (assuming every participant is operating on one common
channel) - or it can be privatized to only include a specific set of participants.
In the latter scenario, these participants would create a separate channel and
thereby isolate/segregate their transactions and ledger. Fabric even solves
scenarios that want to bridge the gap between total transparency and privacy.
Chaincode gets installed only on peers that need to access the asset states
thereby isolate/segregate their transactions and ledger. In order to solve
scenarios that want to bridge the gap between total transparency and privacy,
chaincode can be installed only on peers that need to access the asset states
to perform reads and writes (in other words, if a chaincode is not installed on
a peer, it will not be able to properly interface with the ledger). To further
obfuscate the data, values within chaincode can be encrypted (in part or in total) using common
cryptographic algorithms such as SHA-256 before appending to the ledger.
cryptographic algorithms such as AES before appending to the ledger.
.. _Security-Membership-Services:
......@@ -108,11 +108,12 @@ known identities. Public Key Infrastructure is used to generate cryptographic
certificates which are tied to organizations, network components, and end users
or client applications. As a result, data access control can be manipulated and
governed on the broader network and on channel levels. This "permissioned" notion
of Fabric, coupled with the existence and capabilities of channels, helps address
scenarios where privacy and confidentiality are paramount concerns.
of Hyperledger Fabric, coupled with the existence and capabilities of channels,
helps address scenarios where privacy and confidentiality are paramount concerns.
See the :doc:`Fabric CA <Setup/ca-setup>` section to better understand cryptographic
implementations, and the sign, verify, authenticate approach used in Fabric.
See the :doc:`msp` topic to better understand cryptographic
implementations, and the sign, verify, authenticate approach used in
Hyperledger Fabric.
.. _Consensus:
......
......@@ -28,8 +28,8 @@ Tutorials
We offer four initial tutorials to get you started with Hyperledger Fabric.
The first is oriented to the Hyperledger Fabric **application developer**,
:doc:`write_first_app`. It takes you through the process of writing your first
blockchain application for Hyperledger Fabric using the Hyperledger Fabric's
`Node.js SDK <https://github.com/hyperledger/fabric-sdk-node>`__.
blockchain application for Hyperledger Fabric using the Hyperledger Fabric
`Node SDK <https://github.com/hyperledger/fabric-sdk-node>`__.
The second tutorial is oriented towards the Hyperledger Fabric network
operators, :doc:`build_network`. This one walks you through the process of
......
......@@ -3,10 +3,10 @@
Glossary
===========================
Terminology is important, so that all Fabric users and developers agree on what
we mean by each specific term. What is chaincode, for example. So we'll point you
there, whenever you want to reassure yourself. Of course, feel free to read the
entire thing in one sitting if you like, it's pretty enlightening!
Terminology is important, so that all Hyperledger Fabric users and developers
agree on what we mean by each specific term. What is chaincode, for example.
The documentation will reference the glossary as needed, but feel free to
read the entire thing in one sitting if you like; it's pretty enlightening!
.. _Anchor-Peer:
......@@ -51,7 +51,7 @@ instructions (business logic) for modifying the assets.
Channel
-------
A channel is a private blockchain overlay on a Fabric network, allowing for data
A channel is a private blockchain overlay which allows for data
isolation and confidentiality. A channel-specific ledger is shared across the
peers in the channel, and transacting parties must be properly authenticated to
a channel in order to interact with it. Channels are defined by a
......@@ -117,7 +117,7 @@ against current state data.
Dynamic Membership
------------------
Fabric supports the addition/removal of members, peers, and ordering service
Hyperledger Fabric supports the addition/removal of members, peers, and ordering service
nodes, without compromising the operationality of the overall network. Dynamic
membership is critical when business relationships adjust and entities need to
be added/removed for various reasons.
......@@ -148,14 +148,13 @@ policy for install and instantiate transactions is also required.
.. _Fabric-ca:
Fabric-ca
-------------
Hyperledger Fabric CA
---------------------
Fabric-ca is the default Certificate Authority component, which issues PKI-based
certificates to network member organizations and their users. The CA issues one
root certificate (rootCert) to each member, one enrollment certificate (eCert)
to each authorized user, and a number of transaction certificates (tCerts) for
each eCert.
Hyperledger Fabric CA is the default Certificate Authority component, which
issues PKI-based certificates to network member organizations and their users.
The CA issues one root certificate (rootCert) to each member and one enrollment
certificate (ECert) to each authorized user.
.. _Genesis-Block:
......@@ -255,13 +254,6 @@ permissioned blockchain network. The membership services code that runs in peers
and orderers both authenticates and authorizes blockchain operations. It is a
PKI-based implementation of the Membership Services Provider (MSP) abstraction.
The ``fabric-ca`` component is an implementation of membership services to manage
identities. In particular, it handles the issuance and revocation of enrollment
certificates and transaction certificates.
An enrollment certificate is a long-term identity credential; a transaction
certificate is a short-term identity credential which is both anonymous and un-linkable.
.. _Ordering-Service:
Ordering Service
......@@ -314,10 +306,9 @@ The Hyperledger Fabric client SDK provides a structured environment of libraries
for developers to write and test chaincode applications. The SDK is fully
configurable and extensible through a standard interface. Components, including
cryptographic algorithms for signatures, logging frameworks and state stores,
are easily swapped in and out of the SDK. The SDK API uses protocol buffers over
gRPC for transaction processing, membership services, node traversal and event
handling applications to communicate across the fabric. The SDK comes in
multiple flavors - Node.js, Java. and Python.
are easily swapped in and out of the SDK. The SDK provides APIs for transaction
processing, membership services, node traversal and event handling. The SDK