Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
zistvan-public
StreamChain Prototype
Commits
a2f91c59
Commit
a2f91c59
authored
Jul 05, 2017
by
Jonathan Levi (HACERA)
Committed by
Gerrit Code Review
Jul 05, 2017
Browse files
Merge "FAB-5166 Docs should use Hyperledger Fabric"
parents
6c3cb99d
9a86c1a2
Changes
31
Hide whitespace changes
Inline
Side-by-side
docs/source/CONTRIBUTING.rst
View file @
a2f91c59
...
...
@@ -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).
...
...
docs/source/Fabric-FAQ.rst
View file @
a2f91c59
...
...
@@ -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/
docs/source/Gerrit/lf-account.rst
View file @
a2f91c59
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
...
...
docs/source/Style-guides/go-style.rst
View file @
a2f91c59
...
...
@@ -26,10 +26,10 @@ generate/update the respective ``.pb.go`` files.
Adding
or
updating
Go
packages
------------------------------
The
Hyperledger
Fabric
Project
uses
Go
1.6
vendor
ing
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
...
...
docs/source/arch-deep-dive.rst
View file @
a2f91c59
...
...
@@ -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
...
...
docs/source/architecture.rst
View file @
a2f91c59
...
...
@@ -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.
...
...
docs/source/blockchain.rst
View file @
a2f91c59
...
...
@@ -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 provider
s 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
MSP
s 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
...
...
docs/source/build_network.rst
View file @
a2f91c59
...
...
@@ -2,15 +2,15 @@ Building Your First Network
===========================
.. note:: These instructions have been verified to work against the
version "1.0.0-rc1" tagged
d
ocker images and the pre-compiled
version "1.0.0-rc1" tagged
D
ocker 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
d
ocker
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
D
ocker
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
d
ocker container.
Check the logs for the CLI
D
ocker container.
.. code:: bash
...
...
@@ -741,17 +743,17 @@ output from each container:
ex02 Invoke
Query Response:{"Name":"a","Amount":"90"}
Understanding the
d
ocker
-c
ompose topology
Understanding the
D
ocker
C
ompose topology
-----------------------------------------
The BYFN sample offers us two flavors of
d
ocker
-c
ompose files, both of which
The BYFN sample offers us two flavors of
D
ocker
C
ompose 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-compos
e
CLI container, along with an orderer, four peers. We use this
fil
e
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
d
ocker errors, first check your version (should be 1.12 or above),
and then try restarting your
d
ocker process. Problems with Docker are
- If you see
D
ocker errors, first check your version (should be 1.12 or above),
and then try restarting your
D
ocker 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
d
ocker networks. This will wipe your previous networks and start you with a
your
D
ocker networks. This will wipe your previous networks and start you with a
fresh environment:
.. code:: bash
...
...
docs/source/capabilities.rst
View file @
a2f91c59
...
...
@@ -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
f
abric delivers the following blockchain network capabilities:
confidentiality and performance, in a modular blockchain architecture.
Hyperledger F
abric 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
f
abric 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 F
abric 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/
docs/source/chaincode.rst
View file @
a2f91c59
...
...
@@ -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/
docs/source/chaincode4ade.rst
View file @
a2f91c59
...
...
@@ -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
d
ocker
images
Download
D
ocker
images
----------------------
We
need
four
d
ocker
images
in
order
for
"dev mode"
to
run
against
the
supplied
We
need
four
D
ocker
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
.
...
...
docs/source/chaincode4noah.rst
View file @
a2f91c59
...
...
@@ -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
``
d
ocker
container
:
within
a
running
``
fabric
-
peer
``
D
ocker
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:
...
...
docs/source/configtxgen.rst
View file @
a2f91c59
...
...
@@ -2,7 +2,7 @@ Channel Configuration (configtxgen)
===================================
This document describe the usage for the ``configtxgen`` utility for
manipulating
f
abric channel configuration.
manipulating
Hyperledger F
abric 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
...
...
docs/source/dev-setup/build.rst
View file @
a2f91c59
Building
the f
abric
-------------------
Building
Hyperledger F
abric
-------------------
--------
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/
docs/source/dev-setup/devenv.rst
View file @
a2f91c59
...
...
@@ -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 f
abric
~~~~~~~~~~~~~~~~~~~
Building
Hyperledger F
abric
~~~~~~~~~~~~~~~~~~~
~~~~~~~~
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
~~~~~
...
...
docs/source/error-handling.rst
View file @
a2f91c59
...
...
@@ -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.
...
...
docs/source/fabric_model.rst
View file @
a2f91c59
...
...
@@ -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
solve
s
scenarios that want to bridge the gap between total transparency and privacy
.
C
haincode
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
,
c
haincode
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:
...
...
docs/source/getting_started.rst
View file @
a2f91c59
...
...
@@ -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
...
...
docs/source/glossary.rst
View file @
a2f91c59
...
...
@@ -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
t
he
re, 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.
T
he
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,
allow
ing
for data
A channel is a private blockchain overlay
which
allow
s
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
comes in multiple flavors: Node.js, Java. and Python.