|
1 |
| -V1 Architecture |
2 |
| -=========================== |
| 1 | +Hyperledger Fabric FAQs |
| 2 | +======================= |
3 | 3 |
|
4 | 4 | Endorsement
|
5 | 5 | -----------
|
@@ -90,6 +90,99 @@ queried may be recovering and catching up on block processing?
|
90 | 90 | A. The client can query multiple peers, compare their block heights, compare their query results,
|
91 | 91 | and favor the peers at the higher block heights.
|
92 | 92 |
|
| 93 | +Chaincode (Smart Contracts and Digital Assets) |
| 94 | +---------------------------------------------- |
| 95 | + |
| 96 | +* Does the fabric implementation support smart contract logic? |
| 97 | + |
| 98 | +Yes. Chaincode is the fabric’s interpretation of the smart contract |
| 99 | +method/algorithm, with additional features. |
| 100 | + |
| 101 | +A chaincode is programmatic code deployed on the network, where it is |
| 102 | +executed and validated by chain validators together during the consensus |
| 103 | +process. Developers can use chaincodes to develop business contracts, |
| 104 | +asset definitions, and collectively-managed decentralized applications. |
| 105 | + |
| 106 | +* How do I create a business contract using the fabric? |
| 107 | + |
| 108 | +There are generally two ways to develop business contracts: the first way is to |
| 109 | +code individual contracts into standalone instances of chaincode; the |
| 110 | +second way, and probably the more efficient way, is to use chaincode to |
| 111 | +create decentralized applications that manage the life cycle of one or |
| 112 | +multiple types of business contracts, and let end users instantiate |
| 113 | +instances of contracts within these applications. |
| 114 | + |
| 115 | +* How do I create assets using the fabric? |
| 116 | + |
| 117 | +Users can use chaincode (for business rules) and membership service (for digital tokens) to |
| 118 | +design assets, as well as the logic that manages them. |
| 119 | + |
| 120 | +There are two popular approaches to defining assets in most blockchain |
| 121 | +solutions: the stateless UTXO model, where account balances are encoded |
| 122 | +into past transaction records; and the account model, where account |
| 123 | +balances are kept in state storage space on the ledger. |
| 124 | + |
| 125 | +Each approach carries its own benefits and drawbacks. This blockchain |
| 126 | +fabric does not advocate either one over the other. Instead, one of our |
| 127 | +first requirements was to ensure that both approaches can be easily |
| 128 | +implemented with tools available in the fabric. |
| 129 | + |
| 130 | +* Which languages are supported for writing chaincode? |
| 131 | + |
| 132 | +Chaincode can be written in any programming language and executed in containers |
| 133 | +inside the fabric context layer. We are also looking into developing a |
| 134 | +templating language (such as Apache Velocity) that can either get |
| 135 | +compiled into chaincode or have its interpreter embedded into a |
| 136 | +chaincode container. |
| 137 | + |
| 138 | +The fabric's first fully supported chaincode language is Golang, and |
| 139 | +support for JavaScript and Java is planned for 2016. Support for |
| 140 | +additional languages and the development of a fabric-specific templating |
| 141 | +language have been discussed, and more details will be released in the |
| 142 | +near future. |
| 143 | + |
| 144 | +* Does the fabric have native currency? |
| 145 | + |
| 146 | +No. However, if you really need a native currency for your chain network, you can develop your own |
| 147 | +native currency with chaincode. One common attribute of native currency |
| 148 | +is that some amount will get transacted (the chaincode defining that |
| 149 | +currency will get called) every time a transaction is processed on its |
| 150 | +chain. |
| 151 | + |
| 152 | +Identity Management (Membership Service) |
| 153 | +---------------------------------------- |
| 154 | + |
| 155 | +* What is unique about the fabric's Membership Service module? |
| 156 | + |
| 157 | +One of the things that makes the Membership Service module stand out from |
| 158 | +the pack is our implementation of the latest advances in cryptography. |
| 159 | + |
| 160 | +In addition to ensuring private, auditable transactions, our Membership |
| 161 | +Service module introduces the concept of enrollment and transaction |
| 162 | +certificates. This innovation ensures that only verified owners can |
| 163 | +create asset tokens, allowing an infinite number of transaction |
| 164 | +certificates to be issued through parent enrollment certificates while |
| 165 | +guaranteeing the private keys of asset tokens can be regenerated if |
| 166 | +lost. |
| 167 | + |
| 168 | +Issuers also have the ability revoke transaction certificates or |
| 169 | +designate them to expire within a certain timeframe, allowing greater |
| 170 | +control over the asset tokens they have issued. |
| 171 | + |
| 172 | +Like most other modules on Fabric, you can always replace the |
| 173 | +default module with another membership service option should the need |
| 174 | +arise. |
| 175 | + |
| 176 | +* Does its Membership Service make Fabric a centralized solution? |
| 177 | + |
| 178 | +No. The only role of the Membership Service module is to issue digital |
| 179 | +certificates to validated entities that want to participate in the |
| 180 | +network. It does not execute transactions nor is it aware of how or when |
| 181 | +these certificates are used in any particular network. |
| 182 | + |
| 183 | +However, because certificates are the way networks regulate and manage |
| 184 | +their users, the module serves a central regulatory and organizational |
| 185 | +role. |
| 186 | + |
93 | 187 | .. Licensed under Creative Commons Attribution 4.0 International License
|
94 | 188 | https://creativecommons.org/licenses/by/4.0/
|
95 |
| -
|
|
0 commit comments