Welcome to Hyperledger Fabric¶
Hyperledger Fabric is a platform for distributed ledger solutions, underpinned by a modular architecture delivering high degrees of confidentiality, resiliency, flexibility and scalability. It is designed to support pluggable implementations of different components, and accommodate the complexity and intricacies that exist across the economic ecosystem.
Hyperledger Fabric delivers a uniquely elastic and extensible architecture, distinguishing it from alternative blockchain solutions. Planning for the future of enterprise blockchain requires building on top of a fully-vetted, open source architecture; Hyperledger Fabric is your starting point.
It’s recommended for first-time users to begin by going through the Getting Started section in order to gain familiarity with the Hyperledger Fabric components and the basic transaction flow. Once comfortable, continue exploring the library for demos, technical specifications, APIs, etc.
Note
If you have questions not addressed by this documentation, or run into issues with any of the tutorials, please visit the Still Have Questions? page for some tips on where to find additional help.
Before diving in, watch how Hyperledger Fabric is Building a Blockchain for Business:
Getting Started¶
Key Concepts¶
Tutorials¶
- Building Your First Network
- Writing Your First Application
- Adding an Org to a Channel
- Setup the Environment
- Bring Org3 into the Channel with the Script
- Bring Org3 into the Channel Manually
- Generate the Org3 Crypto Material
- Prepare the CLI Environment
- Fetch the Configuration
- Convert the Configuration to JSON and Trim It Down
- Add the Org3 Crypto Material
- Sign and Submit the Config Update
- Configuring Leader Election
- Join Org3 to the Channel
- Upgrade and Invoke Chaincode
- Conclusion
- Upgrading Your Network Components
- Chaincode Tutorials
- Chaincode for Developers
- What is Chaincode?
- Chaincode API
- Simple Asset Chaincode
- Install Hyperledger Fabric Samples
- Download Docker images
- Terminal 1 - Start the network
- Terminal 2 - Build & start the chaincode
- Terminal 3 - Use the chaincode
- Testing new chaincode
- Chaincode encryption
- Managing external dependencies for chaincode written in Go
- Chaincode for Operators
- System Chaincode Plugins
- Videos
Operations Guide¶
Command Reference¶
Architecture¶
Troubleshooting and FAQs¶
Contributing¶
- Contributions Welcome!
- Install prerequisites
- Getting a Linux Foundation account
- Getting help
- Reporting bugs
- Submitting your fix
- Fixing issues and working stories
- Reviewing submitted Change Requests (CRs)
- Making Feature/Enhancement Proposals
- Setting up development environment
- What makes a good change request?
- Communication
- Maintainers
- Legal stuff
- Maintainers
- Using Jira to understand current work items
- Setting up the development environment
- Building Hyperledger Fabric
- Building outside of Vagrant
- Configuration
- Requesting a Linux Foundation Account
- Working with Gerrit
- Reviewing Using Gerrit
- Viewing Pending Changes
- Submitting a Change to Gerrit
- Reviewing a Change
- Gerrit Recommended Practices
- Browsing the Git Tree
- Watching a Project
- Commit Messages
- Avoid Pushing Untested Work to a Gerrit Server
- Keeping Track of Changes
- Topic branches
- Creating a Cover Letter for a Topic
- Finding Available Topics
- Downloading or Checking Out a Change
- Using Draft Branches
- Using Sandbox Branches
- Updating the Version of a Change
- Rebasing
- Rebasing During a Pull
- Getting Better Logs from Git
- Testing
- Coding guidelines
- Generating gRPC code
- Adding or updating Go packages
Appendix¶
- Glossary
- Anchor Peer
- Block
- Chain
- Chaincode
- Channel
- Commitment
- Concurrency Control Version Check
- Configuration Block
- Consensus
- Current State
- Dynamic Membership
- Endorsement
- Endorsement policy
- Hyperledger Fabric CA
- Genesis Block
- Gossip Protocol
- Initialize
- Install
- Instantiate
- Invoke
- Leading Peer
- Ledger
- Member
- Membership Service Provider
- Membership Services
- Ordering Service
- Peer
- Policy
- Proposal
- Query
- Software Development Kit (SDK)
- State Database
- System Chain
- Transaction
- Release Notes
- v1.1.0-rc1 - March 1, 2018
- Known Vulnerabilities
- Resolved Vulnerabilities
- Known Issues & Workarounds
- v1.1.0-alpha - January 25, 2018
- Known Vulnerabilities
- Resolved Vulnerabilities
- Known Issues & Workarounds
- v1.1.0-preview - November 1, 2017
- Known Vulnerabilities
- Resolved Vulnerabilities
- Known Issues & Workarounds
- v1.0.4 - October 31, 2017
- Known Vulnerabilities
- Resolved Vulnerabilities
- Known Issues & Workarounds
- v1.0.3 - October 3, 2017
- v1.0.2 - August 31, 2017
- v1.0.1 - August 5, 2017
- v1.0.0 - July 11, 2017
- v1.0.0-rc1 - June 23, 2017
- v1.0.0-beta - June 8, 2017
- v1.0.0-alpha2
- v1.0.0-alpha - March 16, 2017
- v0.5-developer-preview - June 17, 2016
- Still Have Questions?
- Status