HyperLedger Fabric ReadtheDocs
http://hyperledger-fabric.readthedocs.io/en/release-1.1/
APIs of HyperLedger Fabric
https://godoc.org/github.com/hyperledger/fabric
Package shim provides APIs for the chaincode to access its state variables, transaction context and call other chaincodes.
https://godoc.org/github.com/hyperledger/fabric/core/chaincode/shim
Package cscc chaincode configer provides functions to manage configuration transactions as the network is being reconfigured.
https://godoc.org/github.com/hyperledger/fabric/core/scc/cscc
HyperLedger NODEJs SDK
https://github.com/hyperledger/fabric-sdk-node
HyperLedger NODEJs SDK Documentation
https://fabric-sdk-node.github.io/
HyperLedger Java SDK for 1.1
The SDK helps facilitate Java applications to manage the lifecycle of Hyperledger channels and user chaincode. The SDK also provides a means to execute user chaincode, query blocks and transactions on the channel, and monitor events on the channel.
https://github.com/hyperledger/fabric-sdk-java
HyperLedger Help
https://chat.hyperledger.org/channel/general
Transaction Flow
http://hyperledger-fabric.readthedocs.io/en/latest/txflow.html
Endorsement Policies
Hyperledger Fabric Model
This section outlines the key design features woven into Hyperledger Fabric that fulfill its promise of a comprehensive, yet customizable, enterprise blockchain solution:
- Assets – Asset definitions enable the exchange of almost anything with monetary value over the network, from whole foods to antique cars to currency futures.
- Chaincode – Chaincode execution is partitioned from transaction ordering, limiting the required levels of trust and verification across node types, and optimizing network scalability and performance.
- Ledger Features – The immutable, shared ledger encodes the entire transaction history for each channel, and includes SQL-like query capability for efficient auditing and dispute resolution.
- Privacy through Channels – Channels enable multi-lateral transactions with the high degrees of privacy and confidentiality required by competing businesses and regulated industries that exchange assets on a common network.
- Security & Membership Services – Permissioned membership provides a trusted blockchain network, where participants know that all transactions can be detected and traced by authorized regulators and auditors.
- Consensus – a unique approach to consensus enables the flexibility and scalability needed for the enterprise.
The different actors in a blockchain network include peers, orderers, client applications, administrators and more. Each of these actors has an identity that is encapsulated in an X.509 digital certificate. These identities really matter because they determine the exact permissions over resources that actors have in a blockchain network.
Having a valid credit card is not enough – it must also be accepted by the store! PKIs and MSPs work together in the same way – PKI provides a list of identities, and an MSP says which of these are members of a given organization that participates in the network.
In cryptography, X.509 is a standard that defines the format of public key certificates. X.509 certificates are used in many Internet protocols, including TLS/SSL, which is the basis for HTTPS
Fabric CA
http://hyperledger-fabric-ca.readthedocs.io/en/latest/
Run your First Network
root@BlockChainHLF:~/work/hlf/fabric-samples/first-network# ./byfn.sh –help
Usage:
byfn.sh up|down|restart|generate|upgrade [-c ] [-t ] [-d ] [-f ] [-s ] [-i ]
byfn.sh -h|–help (print this message)
<mode> – one of ‘up’, ‘down’, ‘restart’ or ‘generate’
– ‘up’ – bring up the network with docker-compose up
– ‘down’ – clear the network with docker-compose down
– ‘restart’ – restart the network
– ‘generate’ – generate required certificates and genesis block
– ‘upgrade’ – upgrade the network from v1.0.x to v1.1
-c – channel name to use (defaults to “mychannel”)
-t <timeout> – CLI timeout duration in seconds (defaults to 10)
-d <delay> – delay duration in seconds (defaults to 3)
-f <docker-compose-file> – specify which docker-compose file use (defaults to docker-compose-cli.yaml)
-s – the database backend to use: goleveldb (default) or couchdb
-l – the chaincode language: golang (default) or node
-i – the tag to be used to launch the network (defaults to “latest”)
Typically, one would first generate the required certificates and
genesis block, then bring up the network. e.g.:
byfn.sh generate -c mychannel
byfn.sh up -c mychannel -s couchdb
byfn.sh up -c mychannel -s couchdb -i 1.1.0-alpha
byfn.sh up -l node
byfn.sh down -c mychannel
byfn.sh upgrade -c mychannel
Taking all defaults:
byfn.sh generate
byfn.sh up
byfn.sh down
root@BlockChainHLF:~/work/hlf/fabric-samples/first-network#