Hyperledger Fabric Documentation
The Hyperledger fabric is an implementation of blockchain technology, that has been collaboratively developed under the Linux Foundation’s Hyperledger Project. It leverages familiar and proven technologies, and offers a modular architecture that allows pluggable implementations of various function including membership services, consensus, and smart contracts (Chaincode) execution. It features powerful container technology to host any mainstream language for smart contracts development.
To contribute to this documentation, create an issue for any requests for clarification or to highlight any errors, or you may fork and update the source, and submit a pull request.
Below, you’ll find the following sections:
- Getting started
- Developer guides
- Fabric developer guide
- Chaincode developer guide
- API developer guide
- Operations guide
If you are new to the project, you can begin by reviewing the following links. If you’d prefer to dive right in, see the Quickstart section, below.
- Whitepaper WG: where the community is developing a whitepaper to explain the motivation and goals for the project.
- Requirements WG: where the community is developing use cases and requirements.
- Canonical use cases
- Glossary: to understand the terminology that we use throughout the Fabric project’s documentation.
- Fabric FAQs
- Development environment set-up: if you are considering helping with development of the Hyperledger Fabric or Fabric-API projects themselves, this guide will help you install and configure all you’ll need. The development environment is also useful (but, not necessary) for developing blockchain applications and/or Chaincode.
- Network setup: This document covers setting up a network on your local machine for development.
- Chaincode development environment: Chaincode developers need a way to test and debug their Chaincode without having to set up a complete peer network. This document describes how to write, build, and test Chaincode in a local development environment.
- APIs: This document covers the available APIs for interacting with a peer node.
Fabric developer guide
When you are ready to start contributing to the Hyperledger fabric project, we strongly recommend that you read the protocol specification for the technical details so that you have a better understanding of how the code fits together.
- Making code contributions: First, you’ll want to familiarize yourself with the project’s contribution guidelines.
- Setting up the development environment: after that, you will want to set up your development environment.
- Building the fabric core: next, try building the project in your local development environment to ensure that everything is set up correctly.
- Building outside of Vagrant: for the adventurous, you might try to build outside of the standard Vagrant development environment.
- Logging control: describes how to tweak the logging levels of various components within the fabric.
- License header: every source file must include this license header modified to include a copyright statement for the principle author(s).
Chaincode developer guide
- Setting up the development environment: when developing and testing Chaincode, or an application that leverages the fabric API or SDK, you’ll probably want to run the fabric locally on your laptop to test. You can use the same setup that Fabric developers use.
- Setting Up a Network For Development: alternately, you can follow these instructions for setting up a local network for Chaincode development without the entire fabric development environment setup.
- Writing, Building, and Running Chaincode in a Development Environment: a step-by-step guide to writing and testing Chaincode.
- Chaincode FAQ: a FAQ for all of your burning questions relating to Chaincode.
API developer guide
- APIs - CLI, REST, and Node.js
- CLI: working with the command-line interface.
- REST: working with the REST API.
- Node.js SDK: working with the Node.js SDK.
- Setting Up a Network: instructions for setting up a network of fabric peers.
- Certificate Authority (CA) Setup: setting up a CA to support identity, security (authentication/authorization), privacy and confidentiality.
- Application ACL: working with access control lists.