Skip to content

Commit

Permalink
FAB-385 fix search issue in readthedocs
Browse files Browse the repository at this point in the history
created and updated custom searchbox.html file in mkdocs.yml file
also updated yaml file with strict parameter set to true to fail
the build on broken links.

https://jira.hyperledger.org/browse/FAB-385

Change-Id: Ibcd09beb22725e9dfaf1b9c4318a73904db71912
Signed-off-by: rameshthoomu <rameshbabu.thoomu@gmail.com>
  • Loading branch information
rameshthoomu committed Oct 21, 2016
1 parent 8ffaebb commit 9ce6d3e
Show file tree
Hide file tree
Showing 3 changed files with 122 additions and 114 deletions.
5 changes: 5 additions & 0 deletions docs/custom_theme/searchbox.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<div role="search">
<form id ="rtd-search-form-alt" class="wy-form" action="{{ base_url }}/search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
</form>
</div>
228 changes: 114 additions & 114 deletions docs/protocol-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,134 +13,134 @@ ________________________________________________________

## Table of Contents
#### [1. Introduction](#1-introduction_1)
- [1.1 What is the fabric?](#11-what-is-the-fabric)
- [1.2 Why the fabric?](#12-why-the-fabric)
- [1.3 Terminology](#13-terminology)
* [1.1 What is the fabric?](#11-what-is-the-fabric)
* [1.2 Why the fabric?](#12-why-the-fabric)
* [1.3 Terminology](#13-terminology)

#### [2. Fabric](#2-fabric_1)
- [2.1 Architecture](#21-architecture)
- [2.1.1 Membership Services](#211-membership-services)
- [2.1.2 Blockchain Services](#212-blockchain-services)
- [2.1.3 Chaincode Services](#213-chaincode-services)
- [2.1.4 Events](#214-events)
- [2.1.5 Application Programming Interface (API)](#215-application-programming-interface-api)
- [2.1.6 Command Line Interface (CLI)](#216-command-line-interface-cli)
- [2.2 Topology](#22-topology)
- [2.2.1 Single Validating Peer](#221-single-validating-peer)
- [2.2.2 Multiple Validating Peers](#222-multiple-validating-peers)
- [2.2.3 Multichain](#223-multichain)
* [2.1 Architecture](#21-architecture)
- [2.1.1 Membership Services](#211-membership-services)
- [2.1.2 Blockchain Services](#212-blockchain-services)
- [2.1.3 Chaincode Services](#213-chaincode-services)
- [2.1.4 Events](#214-events)
- [2.1.5 Application Programming Interface (API)](#215-application-programming-interface-api)
- [2.1.6 Command Line Interface (CLI)](#216-command-line-interface-cli)
* [2.2 Topology](#22-topology)
- [2.2.1 Single Validating Peer](#221-single-validating-peer)
- [2.2.2 Multiple Validating Peers](#222-multiple-validating-peers)
- [2.2.3 Multichain](#223-multichain)

#### [3. Protocol](#3-protocol_1)
- [3.1 Message](#31-message)
- [3.1.1 Discovery Messages](#311-discovery-messages)
- [3.1.2 Transaction Messages](#312-transaction-messages)
- [3.1.2.1 Transaction Data Structure](#3121-transaction-data-structure)
- [3.1.2.2 Transaction Specification](#3122-transaction-specification)
- [3.1.2.3 Deploy Transaction](#3123-deploy-transaction)
- [3.1.2.4 Invoke Transaction](#3124-invoke-transaction)
- [3.1.2.5 Query Transaction](#3125-query-transaction)
- [3.1.3 Synchronization Messages](#313-synchronization-messages)
- [3.1.4 Consensus Messages](#314-consensus-messages)
- [3.2 Ledger](#32-ledger)
- [3.2.1 Blockchain](#321-blockchain)
- [3.2.1.1 Block](#3211-block)
- [3.2.1.2 Block Hashing](#3212-block-hashing)
- [3.2.1.3 NonHashData](#3213-nonhashdata)
- [3.2.1.4 Transaction Execution](#3214-transaction-execution)
- [3.2.2 World State](#322-world-state)
- [3.2.2.1 Hashing the world state](#3221-hashing-the-world-state)
- [3.2.2.1.1 Bucket-tree](#32211-buckettree)
- [3.3 Chaincode](#33-chaincode)
- [3.3.1 Virtual Machine Instantiation](#331-virtual-machine-instantiation)
- [3.3.2 Chaincode Protocol](#332-chaincode-protocol)
- [3.3.2.1 Chaincode Deploy](#3321-chaincode-deploy)
- [3.3.2.2 Chaincode Invoke](#3322-chaincode-invoke)
- [3.3.2.3 Chaincode Query](#3323-chaincode-query)
- [3.3.2.4 Chaincode State](#3324-chaincode-state)
- [3.4 Pluggable Consensus Framework](#34-pluggable-consensus-framework)
- [3.4.1 Consenter interface](#341-consenter-interface)
- [3.4.2 CPI interface](#342-cpi-interface)
- [3.4.3 Inquirer interface](#343-inquirer-interface)
- [3.4.4 Communicator interface](#344-communicator-interface)
- [3.4.5 SecurityUtils interface](#345-securityutils-interface)
- [3.4.6 LedgerStack interface](#346-ledgerstack-interface)
- [3.4.7 Executor interface](#347-executor-interface)
- [3.4.7.1 Beginning a transaction batch](#3471-beginning-a-transaction-batch)
- [3.4.7.2 Executing transactions](#3472-executing-transactions)
- [3.4.7.3 Committing and rolling-back transactions](#3473-committing-and-rollingback-transactions)
- [3.4.8 Ledger interface](#348-ledger-interface)
- [3.4.8.1 ReadOnlyLedger interface](#3481-readonlyledger-interface)
- [3.4.8.2 UtilLedger interface](#3482-utilledger-interface)
- [3.4.8.3 WritableLedger interface](#3483-writableledger-interface)
- [3.4.9 RemoteLedgers interface](#349-remoteledgers-interface)
- [3.4.10 controller package](#3410-controller-package)
- [3.4.10.1 controller.NewConsenter](#34101-controllernewconsenter)
- [3.4.11 helper package](#3411-helper-package)
- [3.4.11.1 High-level overview](#34111-highlevel-overview)
- [3.4.11.2 helper.ConsensusHandler](#34112-helperconsensushandler)
- [3.4.11.3 helper.NewConsensusHandler](#34113-helpernewconsensushandler)
- [3.4.11.4 helper.Helper](#34114-helperhelper)
- [3.4.11.5 helper.NewHelper](#34115-helpernewhelper)
- [3.4.11.6 helper.HandleMessage](#34116-helperhandlemessage)
- [3.5 Events](#35-events)
- [3.5.1 Event Stream](#351-event-stream)
- [3.5.1.1 Event Producer](#3511-event-producer)
- [3.5.1.2 Event Consumer](#3512-event-consumer)
- [3.5.2 Event Adapters](#352-event-adapters)
- [3.5.3 Event Structure](#353-event-structure)
* [3.1 Message](#31-message)
- [3.1.1 Discovery Messages](#311-discovery-messages)
- [3.1.2 Transaction Messages](#312-transaction-messages)
* [3.1.2.1 Transaction Data Structure](#3121-transaction-data-structure)
* [3.1.2.2 Transaction Specification](#3122-transaction-specification)
* [3.1.2.3 Deploy Transaction](#3123-deploy-transaction)
* [3.1.2.4 Invoke Transaction](#3124-invoke-transaction)
* [3.1.2.5 Query Transaction](#3125-query-transaction)
- [3.1.3 Synchronization Messages](#313-synchronization-messages)
- [3.1.4 Consensus Messages](#314-consensus-messages)
* [3.2 Ledger](#32-ledger)
- [3.2.1 Blockchain](#321-blockchain)
* [3.2.1.1 Block](#3211-block)
* [3.2.1.2 Block Hashing](#3212-block-hashing)
* [3.2.1.3 NonHashData](#3213-nonhashdata)
* [3.2.1.4 Transaction Execution](#3214-transaction-execution)
- [3.2.2 World State](#322-world-state)
* [3.2.2.1 Hashing the world state](#3221-hashing-the-world-state)
* [3.2.2.1.1 Bucket-tree](#32211-buckettree)
* [3.3 Chaincode](#33-chaincode)
- [3.3.1 Virtual Machine Instantiation](#331-virtual-machine-instantiation)
- [3.3.2 Chaincode Protocol](#332-chaincode-protocol)
* [3.3.2.1 Chaincode Deploy](#3321-chaincode-deploy)
* [3.3.2.2 Chaincode Invoke](#3322-chaincode-invoke)
* [3.3.2.3 Chaincode Query](#3323-chaincode-query)
* [3.3.2.4 Chaincode State](#3324-chaincode-state)
* [3.4 Pluggable Consensus Framework](#34-pluggable-consensus-framework)
- [3.4.1 Consenter interface](#341-consenter-interface)
- [3.4.2 CPI interface](#342-cpi-interface)
- [3.4.3 Inquirer interface](#343-inquirer-interface)
- [3.4.4 Communicator interface](#344-communicator-interface)
- [3.4.5 SecurityUtils interface](#345-securityutils-interface)
- [3.4.6 LedgerStack interface](#346-ledgerstack-interface)
- [3.4.7 Executor interface](#347-executor-interface)
* [3.4.7.1 Beginning a transaction batch](#3471-beginning-a-transaction-batch)
* [3.4.7.2 Executing transactions](#3472-executing-transactions)
* [3.4.7.3 Committing and rolling-back transactions](#3473-committing-and-rollingback-transactions)
- [3.4.8 Ledger interface](#348-ledger-interface)
* [3.4.8.1 ReadOnlyLedger interface](#3481-readonlyledger-interface)
* [3.4.8.2 UtilLedger interface](#3482-utilledger-interface)
* [3.4.8.3 WritableLedger interface](#3483-writableledger-interface)
- [3.4.9 RemoteLedgers interface](#349-remoteledgers-interface)
- [3.4.10 controller package](#3410-controller-package)
* [3.4.10.1 controller.NewConsenter](#34101-controllernewconsenter)
- [3.4.11 helper package](#3411-helper-package)
* [3.4.11.1 High-level overview](#34111-highlevel-overview)
* [3.4.11.2 helper.ConsensusHandler](#34112-helperconsensushandler)
* [3.4.11.3 helper.NewConsensusHandler](#34113-helpernewconsensushandler)
* [3.4.11.4 helper.Helper](#34114-helperhelper)
* [3.4.11.5 helper.NewHelper](#34115-helpernewhelper)
* [3.4.11.6 helper.HandleMessage](#34116-helperhandlemessage)
* [3.5 Events](#35-events)
- [3.5.1 Event Stream](#351-event-stream)
* [3.5.1.1 Event Producer](#3511-event-producer)
* [3.5.1.2 Event Consumer](#3512-event-consumer)
- [3.5.2 Event Adapters](#352-event-adapters)
- [3.5.3 Event Structure](#353-event-structure)

#### [4. Security](#4-security_1)
- [4.1 Business security requirements](#41-business-security-requirements)
- [4.2 User Privacy through Membership Services](#42-user-privacy-through-membership-services)
- [4.2.1 User/Client Enrollment Process](#421-userclient-enrollment-process)
- [4.2.2 Expiration and revocation of certificates](#422-expiration-and-revocation-of-certificates)
- [4.3 Transaction security offerings at the infrastructure level](#43-transaction-security-offerings-at-the-infrastructure-level)
- [4.3.1 Security Lifecycle of Transactions](#431-security-lifecycle-of-transactions)
- [4.3.2 Transaction confidentiality](#432-transaction-confidentiality)
- [4.3.2.1 Confidentiality against users](#4321-confidentiality-against-users)
- [4.3.2.2 Confidentiality against validators](#4322-confidentiality-against-validators)
- [4.3.3 Replay attack resistance](#433-replay-attack-resistance)
- [4.4 Access control features on the application](#44-access-control-features-on-the-application)
- [4.4.1 Invocation access control](#441-invocation-access-control)
- [4.4.2 Read access control](#442-read-access-control)
- [4.5 Online wallet service](#45-online-wallet-service)
- [4.6 Network security (TLS)](#46-network-security-tls)
- [4.7 Restrictions in the current release](#47-restrictions-in-the-current-release)
- [4.7.1 Simplified client](#471-simplified-client)
- [4.7.2 Simplified transaction confidentiality](#472-simplified-transaction-confidentiality)
* [4.1 Business security requirements](#41-business-security-requirements)
* [4.2 User Privacy through Membership Services](#42-user-privacy-through-membership-services)
- [4.2.1 User/Client Enrollment Process](#421-userclient-enrollment-process)
- [4.2.2 Expiration and revocation of certificates](#422-expiration-and-revocation-of-certificates)
* [4.3 Transaction security offerings at the infrastructure level](#43-transaction-security-offerings-at-the-infrastructure-level)
- [4.3.1 Security Lifecycle of Transactions](#431-security-lifecycle-of-transactions)
- [4.3.2 Transaction confidentiality](#432-transaction-confidentiality)
* [4.3.2.1 Confidentiality against users](#4321-confidentiality-against-users)
* [4.3.2.2 Confidentiality against validators](#4322-confidentiality-against-validators)
- [4.3.3 Replay attack resistance](#433-replay-attack-resistance)
* [4.4 Access control features on the application](#44-access-control-features-on-the-application)
- [4.4.1 Invocation access control](#441-invocation-access-control)
- [4.4.2 Read access control](#442-read-access-control)
* [4.5 Online wallet service](#45-online-wallet-service)
* [4.6 Network security (TLS)](#46-network-security-tls)
* [4.7 Restrictions in the current release](#47-restrictions-in-the-current-release)
- [4.7.1 Simplified client](#471-simplified-client)
- [4.7.2 Simplified transaction confidentiality](#472-simplified-transaction-confidentiality)

#### [5. Byzantine Consensus](#5-byzantine-consensus_1)
- [5.1 Overview](#51-overview)
- [5.2 Core PBFT Functions](#52-core-pbft-functions)
- [5.2.1 newPbftCore](#521-newpbftcore)
* [5.1 Overview](#51-overview)
* [5.2 Core PBFT Functions](#52-core-pbft-functions)
* [5.2.1 newPbftCore](#521-newpbftcore)

#### [6. Application Programming Interface](#6-application-programming-interface_1)
- [6.1 REST Service](#61-rest-service)
- [6.2 REST API](#62-rest-api)
- [6.2.1 REST Endpoints](#621-rest-endpoints)
- [6.2.1.1 Block API](#6211-block-api)
- [6.2.1.2 Blockchain API](#6212-blockchain-api)
- [6.2.1.3 Chaincode API](#6213-chaincode-api)
- [6.2.1.4 Network API](#6214-network-api)
- [6.2.1.5 Registrar API (member services)](#6215-registrar-api-member-services)
- [6.2.1.6 Transactions API](#6216-transactions-api)
- [6.3 CLI](#63-cli)
- [6.3.1 CLI Commands](#631-cli-commands)
- [6.3.1.1 node start](#6311-node-start)
- [6.3.1.2 network login](#6312-network-login)
- [6.3.1.3 chaincode deploy](#6313-chaincode-deploy)
- [6.3.1.4 chaincode invoke](#6314-chaincode-invoke)
- [6.3.1.5 chaincode query](#6315-chaincode-query)
* [6.1 REST Service](#61-rest-service)
* [6.2 REST API](#62-rest-api)
- [6.2.1 REST Endpoints](#621-rest-endpoints)
* [6.2.1.1 Block API](#6211-block-api)
* [6.2.1.2 Blockchain API](#6212-blockchain-api)
* [6.2.1.3 Chaincode API](#6213-chaincode-api)
* [6.2.1.4 Network API](#6214-network-api)
* [6.2.1.5 Registrar API (member services)](#6215-registrar-api-member-services)
* [6.2.1.6 Transactions API](#6216-transactions-api)
* [6.3 CLI](#63-cli)
- [6.3.1 CLI Commands](#631-cli-commands)
* [6.3.1.1 node start](#6311-node-start)
* [6.3.1.2 network login](#6312-network-login)
* [6.3.1.3 chaincode deploy](#6313-chaincode-deploy)
* [6.3.1.4 chaincode invoke](#6314-chaincode-invoke)
* [6.3.1.5 chaincode query](#6315-chaincode-query)

#### [7. Application Model](#7-application-model_1)
- [7.1 Composition of an Application](#71-composition-of-an-application)
- [7.2 Sample Application](#72-sample-application)
* [7.1 Composition of an Application](#71-composition-of-an-application)
* [7.2 Sample Application](#72-sample-application)

#### [8. Future Directions](#8-future-directions_1)
- [8.1 Enterprise Integration](#81-enterprise-integration)
- [8.2 Performance and Scalability](#82-performance-and-scalability)
- [8.3 Additional Consensus Plugins](#83-additional-consensus-plugins)
- [8.4 Additional Languages](#84-additional-languages)
* [8.1 Enterprise Integration](#81-enterprise-integration)
* [8.2 Performance and Scalability](#82-performance-and-scalability)
* [8.3 Additional Consensus Plugins](#83-additional-consensus-plugins)
* [8.4 Additional Languages](#84-additional-languages)

#### [9.1 Authors](#91-authors)
#### [9.2 Reviewers](#92-reviewers)
Expand Down
3 changes: 3 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ site_url: http://hyperledger-fabric.readthedocs.io
theme: readthedocs
repo_url: https://github.com/hyperledger/fabric.git
site_description: 'Welcome to the Hyperledger fabric documentation'
strict: true
theme_dir: 'docs/custom_theme'


pages:
- Home: index.md
Expand Down

1 comment on commit 9ce6d3e

@OutsourcedGuru
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it appropriate in a document describing a secure system to indicate which of the prominent cryptographic methodologies are being used: RSA or ECC? If, like Bitcoin, it uses elliptic curve then it's reasonably known by anyone paying attention that NSA built a backdoor into the random bit generator. In real-world terms this allows the NSA to steal bitcoin or commercial paper, in this case.

Please sign in to comment.