Skip to content

Commit

Permalink
FAB-3153 Whitespace fixes (docs)
Browse files Browse the repository at this point in the history
Change-Id: Idf36895256d6fcd1eabd4f44dc72f7449ac7cd86
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
  • Loading branch information
jwagantall committed Apr 19, 2017
1 parent 05de667 commit f8065f9
Show file tree
Hide file tree
Showing 16 changed files with 114 additions and 114 deletions.
8 changes: 4 additions & 4 deletions docs/source/FAQ/chaincode_FAQ.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ executed and validated by chain validators together during the consensus
process. Developers can use chaincodes to develop business contracts,
asset definitions, and collectively-managed decentralized applications.

* How do I create a business contract using the fabric?
* How do I create a business contract using the fabric?

There are generally two ways to develop business contracts: the first way is to
code individual contracts into standalone instances of chaincode; the
Expand All @@ -20,7 +20,7 @@ create decentralized applications that manage the life cycle of one or
multiple types of business contracts, and let end users instantiate
instances of contracts within these applications.

* How do I create assets using the fabric?
* How do I create assets using the fabric?

Users can use chaincode (for business rules) and membership service (for digital tokens) to
design assets, as well as the logic that manages them.
Expand All @@ -35,7 +35,7 @@ fabric does not advocate either one over the other. Instead, one of our
first requirements was to ensure that both approaches can be easily
implemented with tools available in the fabric.

* Which languages are supported for writing chaincode?
* Which languages are supported for writing chaincode?

Chaincode can be written in any programming language and executed in containers
inside the fabric context layer. We are also looking into developing a
Expand All @@ -49,7 +49,7 @@ additional languages and the development of a fabric-specific templating
language have been discussed, and more details will be released in the
near future.

* Does the fabric have native currency?
* Does the fabric have native currency?

No. However, if you really need a native currency for your chain network, you can develop your own
native currency with chaincode. One common attribute of native currency
Expand Down
2 changes: 1 addition & 1 deletion docs/source/FAQ/confidentiality_FAQ.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ known only to their originators, validators, and authorized auditors.
Only holders of the secret keys can interpret transaction contents.

* What if none of the stakeholders of a business contract are
validators?
validators?

In some business scenarios, full confidentiality of contract
logic may be required – such that only contract counterparties and
Expand Down
2 changes: 1 addition & 1 deletion docs/source/FAQ/consensus_FAQ.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Consensus Algorithm
-------------------

Which Consensus Algorithm is used in Fabric?
Which Consensus Algorithm is used in Fabric?

The fabric is built on a pluggable architecture such that developers can configure
their deployment with the consensus module that best suits their needs.
Expand Down
2 changes: 1 addition & 1 deletion docs/source/FAQ/identity_management_FAQ.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Identity Management (Membership Service)
----------------------------------------

* What is unique about the fabric's Membership Service module?
* What is unique about the fabric's Membership Service module?

One of the things that makes the Membership Service module stand out from
the pack is our implementation of the latest advances in cryptography.
Expand Down
6 changes: 3 additions & 3 deletions docs/source/FAQ/usage_FAQ.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Usage
-----

* What are the expected performance figures for the fabric?
* What are the expected performance figures for the fabric?

The performance of any chain network depends on several factors: proximity
of the validating nodes, number of validators, encryption method,
Expand All @@ -15,7 +15,7 @@ continuously improving the performance and the scalability of the
system.

* Do I have to own a validating node to transact on a chain
network?
network?

No. You can still transact on a chain network by owning a
non-validating node (NV-node).
Expand All @@ -32,7 +32,7 @@ In addition, NV-nodes retain full copies of the ledger, enabling local
queries of the ledger data.

* What does the error string "state may be inconsistent, cannot
query" as a query result mean?
query" as a query result mean?

Sometimes, a validating peer will be out
of sync with the rest of the network. Although determining this
Expand Down
12 changes: 6 additions & 6 deletions docs/source/Setup/TLSSetup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Steps to enable TLS for all sever (ECA , ACA , TLSCA , TCA) and between ACA clie
serverhostoverride:
tls_enabled: false
client:
cert:
cert:
file:

To enable TLS between the ACA client and the rest of the CA Services
Expand Down Expand Up @@ -45,7 +45,7 @@ output of the form:
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
EC Public Key:
pub:
pub:
04:38:d2:62:75:4a:18:d9:f7:fe:6a:e7:df:32:e2:
15:0f:01:9c:1b:4f:dc:ff:22:97:5c:2a:d9:5c:c3:
a3:ef:e3:90:3b:3c:8a:d2:45:b1:60:11:94:5e:a7:
Expand All @@ -55,16 +55,16 @@ output of the form:
X509v3 extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
X509v3 Extended Key Usage:
TLS Web Server Authentication
X509v3 Basic Constraints: critical
CA:FALSE
X509v3 Subject Key Identifier:
X509v3 Subject Key Identifier:
E8:9C:86:81:59:D4:D7:76:43:C7:2E:92:88:30:1B:30:A5:B3:A4:5C
X509v3 Authority Key Identifier:
X509v3 Authority Key Identifier:
keyid:5E:33:AC:E0:9D:B9:F9:71:5F:1F:96:B5:84:85:35:BE:89:8C:35:C2

X509v3 Subject Alternative Name:
X509v3 Subject Alternative Name:
DNS:www.example.com
Signature Algorithm: ecdsa-with-SHA256
30:45:02:21:00:9f:7e:93:93:af:3d:cf:7b:77:f0:55:2d:57:
Expand Down
4 changes: 2 additions & 2 deletions docs/source/Style-guides/go-style.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Coding guidelines
-----------------

Coding Golang
Coding Golang
~~~~~~~~~~~~~~

We code in Go™ and strictly follow the `best
Expand All @@ -12,7 +12,7 @@ code and fix all errors and warnings: -
vet <https://golang.org/cmd/vet/>`__ -
`goimports <https://godoc.org/golang.org/x/tools/cmd/goimports>`__

Generating gRPC code
Generating gRPC code
---------------------

If you modify any ``.proto`` files, run the following command to
Expand Down
2 changes: 1 addition & 1 deletion docs/source/biz/usecases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ Key Components
interrogate the chaincode that defines an asset type. If an asset
represents shares of publicly traded companies, then the view access
right must be granted to every entity on the network.


One Trade, One Contract
-----------------------
Expand Down
110 changes: 55 additions & 55 deletions docs/source/case_for_fabric.rst
Original file line number Diff line number Diff line change
@@ -1,71 +1,71 @@
The Case for Fabric
===================

Hyperledger Fabric is a social innovation that is about to free innovators in startups,
enterprises and government to transform and radically reduce the cost of working together
across organizations. By the end of this section, you should have the essential understanding
Hyperledger Fabric is a social innovation that is about to free innovators in startups,
enterprises and government to transform and radically reduce the cost of working together
across organizations. By the end of this section, you should have the essential understanding
of Fabric you need to start *knitting* together a great business network.

Fabric is a network of networks, like the Internet itself. An application can use one or more
networks, each managing different :ref:`Assets`, Agreements and Transactions between different
sets of :ref:`Member` s. In Fabric, the Ordering Service is the foundation of each network.
The founder of a network selects an Ordering Service (or creates a new one) and passes in a
config file with the rules (usually called Policies) that govern it. Examples of these rules
include setting/defining which Members can join the network, how Members can be added or removed,
and configuration details like block size. While it is possible for one company to set and control
these rules as a "dictator," typically these rules will also include policies that make changing
the rules a matter of consensus among the members of the network. Fabric also requires some level of
"endorsement" in order to transact. Check out the power and intricacy of :doc:`endorsement-policies`
, which are used across the Fabric landscape - from a consortium's network configuration to a simple
Fabric is a network of networks, like the Internet itself. An application can use one or more
networks, each managing different :ref:`Assets`, Agreements and Transactions between different
sets of :ref:`Member` s. In Fabric, the Ordering Service is the foundation of each network.
The founder of a network selects an Ordering Service (or creates a new one) and passes in a
config file with the rules (usually called Policies) that govern it. Examples of these rules
include setting/defining which Members can join the network, how Members can be added or removed,
and configuration details like block size. While it is possible for one company to set and control
these rules as a "dictator," typically these rules will also include policies that make changing
the rules a matter of consensus among the members of the network. Fabric also requires some level of
"endorsement" in order to transact. Check out the power and intricacy of :doc:`endorsement-policies`
, which are used across the Fabric landscape - from a consortium's network configuration to a simple
read operation.

We mentioned that the Ordering Service (OS) is the foundation of the network, and you're probably
thinking, "It must do something beyond just ordering." Well you're right! All members and entities
in the network will be tied to a higher level certificate authority, and this authority is defined
within the configuration of the Ordering Service. As a result, the OS can verify and authenticate
transactions arriving from any corner of the network. The OS plays a central and critical role in
the functionality and integrity of the network, and skeptics might fear too much centralization of
power and responsibility. After all, that's a principal feature of shared ledger technology - to
decentralize the control and provide a foundation of trust with entities who you CAN'T wholeheartedly
trust. Well let's assuage that fear. The OS is agnostic to transaction details; it simply orders on
a first-come-first-serve basis and returns blocks to their corresponding channels. Perhaps more
importantly though, control of the ordering service can be shared and co-administered by the
participating members in the network. OR, if even that solution is untenable, then the OS can be
hosted and maintained by a trusted third-party. Fabric is built upon a modular and pluggable
architecture, so the only real decision for business networks is how to configure an OS to meet
their requirements.
We mentioned that the Ordering Service (OS) is the foundation of the network, and you're probably
thinking, "It must do something beyond just ordering." Well you're right! All members and entities
in the network will be tied to a higher level certificate authority, and this authority is defined
within the configuration of the Ordering Service. As a result, the OS can verify and authenticate
transactions arriving from any corner of the network. The OS plays a central and critical role in
the functionality and integrity of the network, and skeptics might fear too much centralization of
power and responsibility. After all, that's a principal feature of shared ledger technology - to
decentralize the control and provide a foundation of trust with entities who you CAN'T wholeheartedly
trust. Well let's assuage that fear. The OS is agnostic to transaction details; it simply orders on
a first-come-first-serve basis and returns blocks to their corresponding channels. Perhaps more
importantly though, control of the ordering service can be shared and co-administered by the
participating members in the network. OR, if even that solution is untenable, then the OS can be
hosted and maintained by a trusted third-party. Fabric is built upon a modular and pluggable
architecture, so the only real decision for business networks is how to configure an OS to meet
their requirements.

(This notion of the OS as a pluggable component also opens the door to exciting opportunities for
innovative teams and individuals. Currently there are only a few OS orchestrations - Solo and Kafka.
However, other options such as Intel's PoET or BFT flavors could be powerful supplementaries to Fabric,
(This notion of the OS as a pluggable component also opens the door to exciting opportunities for
innovative teams and individuals. Currently there are only a few OS orchestrations - Solo and Kafka.
However, other options such as Intel's PoET or BFT flavors could be powerful supplementaries to Fabric,
and help solve challenging use cases.)

To participate in the Network, each Organization maintains a runtime called a :ref:`Peer`, which will
allow an application to participate in Transactions, interact with the Ordering Service, and maintain
a set of ledgers. Notice we said a set of ledgers. One of Fabric's key innovations is the ability to
run multiple :ref:`Channel` s on each network. This is how a network can conduct both highly confidential
bilateral transactions and multilateral, or even public, transactions in the same solution without
everyone having a copy of every transaction or run the code in every agreement. Watch how Fabric is
To participate in the Network, each Organization maintains a runtime called a :ref:`Peer`, which will
allow an application to participate in Transactions, interact with the Ordering Service, and maintain
a set of ledgers. Notice we said a set of ledgers. One of Fabric's key innovations is the ability to
run multiple :ref:`Channel` s on each network. This is how a network can conduct both highly confidential
bilateral transactions and multilateral, or even public, transactions in the same solution without
everyone having a copy of every transaction or run the code in every agreement. Watch how Fabric is
Building a Blockchain for Business .

If you're still reading, you clearly have some knowledge and an interest in distributed ledger
technology, AND you probably think a key piece is missing. Where is consensus in all of this? Well,
it's embedded in the entire life cycle of a transaction. Transactions come into the network, and the
submitting client's identity is verified and consented upon. Transactions then get executed and endorsed,
and these endorsements are consented upon. Transactions get ordered, and the validity of this order is
consented upon. Finally, transactions get committed to a shared ledger, and each transaction's subsequent
impact on the state of the involved asset(s) is consented upon. Consensus isn't pigeonholed into one
module or one function. It lives and exists throughout the entire DNA of Fabric. Fabric is built
with security at the forefront, not as an afterthought. Members and participating entities operate with
known identities, no action on the network circumvents the sign/verify/authenticate mandate. Requirements
such as security, privacy and confidentiality are paramount in some manner to nearly all business dealings,
and they, like consensus, are stitched into the very essence of Fabric.
If you're still reading, you clearly have some knowledge and an interest in distributed ledger
technology, AND you probably think a key piece is missing. Where is consensus in all of this? Well,
it's embedded in the entire life cycle of a transaction. Transactions come into the network, and the
submitting client's identity is verified and consented upon. Transactions then get executed and endorsed,
and these endorsements are consented upon. Transactions get ordered, and the validity of this order is
consented upon. Finally, transactions get committed to a shared ledger, and each transaction's subsequent
impact on the state of the involved asset(s) is consented upon. Consensus isn't pigeonholed into one
module or one function. It lives and exists throughout the entire DNA of Fabric. Fabric is built
with security at the forefront, not as an afterthought. Members and participating entities operate with
known identities, no action on the network circumvents the sign/verify/authenticate mandate. Requirements
such as security, privacy and confidentiality are paramount in some manner to nearly all business dealings,
and they, like consensus, are stitched into the very essence of Fabric.

So what problem do you want to solve? What assets are at stake? Who are the players? What levels of
security and encryption do you need? Fabric is designed to provide an answer and solution to this
challenging collective of questions and beyond. Just like fabric - in the literal sense of the word - is
used in everything from airplane seats to bespoke suits, solutions built on Hyperledger Fabric can range
from diamond provenance to equities trading. Explore the documentation and see how you can leverage Fabric
So what problem do you want to solve? What assets are at stake? Who are the players? What levels of
security and encryption do you need? Fabric is designed to provide an answer and solution to this
challenging collective of questions and beyond. Just like fabric - in the literal sense of the word - is
used in everything from airplane seats to bespoke suits, solutions built on Hyperledger Fabric can range
from diamond provenance to equities trading. Explore the documentation and see how you can leverage Fabric
to craft a PoC for your own business network.


36 changes: 18 additions & 18 deletions docs/source/chaincode.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ languages such as Go or Java. It is installed and instantiated through
an SDK or CLI onto a network of Hyperledger Fabric peer nodes, enabling
interaction with that network's shared ledger.

There are three aspects to chaincode development:
There are three aspects to chaincode development:

* Chaincode Interfaces
* APIs
* APIs
* Chaincode Responses

Chaincode interfaces
--------------------

A chaincode implements the Chaincode Interface that supports two
methods:
methods:

* ``Init``
* ``Init``
* ``Invoke``

Init()
Expand All @@ -45,10 +45,10 @@ Dependencies
------------

The import statement lists a few dependencies for the chaincode to
compile successfully.
compile successfully.

* fmt – contains ``Println`` for debugging/logging.
* errors – standard go error format.
* errors – standard go error format.
* `shim <https://github.com/hyperledger/fabric/tree/master/core/chaincode/shim>`__ – contains the definitions for the chaincode interface and the chaincode stub, which are required to interact with the ledger.

Chaincode APIs
Expand Down Expand Up @@ -80,7 +80,7 @@ The chaincode response comes in the form of a protobuffer.

.. code:: go
message Response {
message Response {
// A status code that should follow the HTTP status codes.
int32 status = 1;
Expand All @@ -98,32 +98,32 @@ events.

.. code:: go
messageEvent {
messageEvent {
oneof Event {
//Register consumer sent event
//Register consumer sent event
Register register = 1;
//producer events common.
Block block = 2;
ChaincodeEvent chaincodeEvent = 3;
//producer events common.
Block block = 2;
ChaincodeEvent chaincodeEvent = 3;
Rejection rejection = 4;
//Unregister consumer sent events
Unregister unregister = 5;
//Unregister consumer sent events
Unregister unregister = 5;
}
}
}
.. code:: go
messageChaincodeEvent {
string chaincodeID = 1;
string txID = 2;
string eventName = 3;
string chaincodeID = 1;
string txID = 2;
string eventName = 3;
bytes payload = 4;
}
Expand Down
Loading

0 comments on commit f8065f9

Please sign in to comment.