---
id: "hyperledger-fabric"
type: "component"
kind: "ledger"
provider: "default"
category: "data"
docs: "https://hyperledger-fabric.readthedocs.io/en/release-2.5/"
url: "https://localhost:3000/catalogue/components/hyperledger-fabric"
---

# Hyperledger Fabric

Permissioned distributed ledger with channels, chaincode and a Raft ordering service.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Ledger](https://localhost:3000/catalogue/kinds/ledger) |
| Category | Data |
| Official docs | [https://hyperledger-fabric.readthedocs.io/en/release-2.5/](https://hyperledger-fabric.readthedocs.io/en/release-2.5/) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `appendOnly` | boolean | — | no | true | **true** |
| `chaincodeLanguage` | enum | `go`, `java`, `node` | no | — | inherited |
| `channels` | boolean | — | no | true | inherited |
| `doubleEntry` | boolean | — | no | true | **false** |
| `indexConsistency` (advanced) | enum | `strong`, `eventual` | no | "strong" | **"strong"** |
| `managed` | boolean | — | no | false | **false** |
| `ordererConsensus` | enum | `raft`, `bft` | no | "raft" | inherited |
| `permissionedMembership` | boolean | — | no | true | inherited |
| `sealed` (advanced) | boolean | — | no | false | **false** |
| `tamperEvident` | boolean | — | no | false | **true** |
| `tiering` (advanced) | boolean | — | no | false | inherited |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 10

- [Blockchain as a Service](https://localhost:3000/catalogue/components/alibaba-blockchain-as-a-service.md) `alibaba-blockchain-as-a-service` — alibabacloud
- [Amazon Managed Blockchain network](https://localhost:3000/catalogue/components/aws-managed-blockchain.md) `aws-managed-blockchain` — aws
- [Amazon QLDB](https://localhost:3000/catalogue/components/qldb.md) `qldb` — aws
- [Azure confidential ledger](https://localhost:3000/catalogue/components/azure-confidential-ledger.md) `azure-confidential-ledger` — azure
- [Double-entry ledger](https://localhost:3000/catalogue/components/double-entry-ledger.md) `double-entry-ledger` — default
- [Formance Ledger](https://localhost:3000/catalogue/components/formance.md) `formance` — default
- [Generic ledger](https://localhost:3000/catalogue/components/ledger.md) `ledger` — default
- [TigerBeetle](https://localhost:3000/catalogue/components/tigerbeetle.md) `tigerbeetle` — default
- [Blockchain Node Engine](https://localhost:3000/catalogue/components/google-blockchain-node-engine.md) `google-blockchain-node-engine` — gcp
- [Oracle Blockchain Platform](https://localhost:3000/catalogue/components/oci-blockchain-platform.md) `oci-blockchain-platform` — oci

## Use it in a design

```yaml
nodes:
  - { id: "hyperledger-fabric", component: "hyperledger-fabric" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Hyperledger Fabric: "an open source enterprise-grade permissioned distributed ledger technology
# (DLT) platform". Participants "are known to each other, rather than anonymous"; channels scope which
# members see which transactions; chaincode is written in Java, Go or Node.js; the ledger is "an
# immutable transaction ledger"; and the shipped ordering service is a crash-fault-tolerant Raft
# implementation ("Introduction"). It is not a double-entry accounting ledger.
schemaVersion: "1"
type: "component"
id: "hyperledger-fabric"
kind: "ledger"
provider: "default"
docs: "https://hyperledger-fabric.readthedocs.io/en/release-2.5/"
defaults:
  managed: false
  doubleEntry: false
  appendOnly: true
  tamperEvident: true
  sealed: false
  indexConsistency: "strong"
properties:
  ordererConsensus:
    type: "enum"
    values: ["raft", "bft"]
    default: "raft"
  permissionedMembership:
    type: "boolean"
    default: true
  channels:
    type: "boolean"
    default: true
  chaincodeLanguage:
    type: "enum"
    values: ["go", "java", "node"]
```

Human page: https://localhost:3000/catalogue/components/hyperledger-fabric
