Web Services or AWS.
To install and run Hyperldger Fabric on AWS, the following software packages are needed:
- cURL: A tool used to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP, or FILE). The command is designed to work without user interaction.
- Docker: A tool to create, deploy, and run applications using containers. Containers allow developers to package applications with all of the parts it needs, such as libraries and other dependencies, and ship it out as one package.
- Docker Compose: It is a tool which is used for defining and running Multi-container application. You can create and start all the services with help of a single command from your configuration YAML file.
- Go: An open source programming language that makes it easy to build simple, reliable, andefficient software. Hyperledger Fabric is primarily developed using the Go language.
- npm package manager: A tool that will allow you to install third-party libraries (other people’s code) using the command line.
- Python: A general-purpose programming language for developing both desktop and web applications. Python is also used to develop complex scientific and numeric applications. It is designed with features to facilitate data analysis and visualization.
Also, installing the following applications are useful for learning the capabilities and operations of Hyperledger Fabric:
- balance-transfer: A sample Node.js app to demonstrate fabric-client and fabric-ca-client Node.js SDK APIs.
- basic-network: A basic network with certificates and key materials, predefined transactions, and one channel, mychannel.
- bin: Binary and scripts for fabric-ca, orderer, and peer.
- chaincode: Chaincode developed for fabcar, marbles, and a few other examples.
- chaincode-docker-devmode: Develops chaincode in dev mode for rapid code/build/run/debug.
- config: YAML files to define transaction, orderer, organization, and chaincode.
- fabcar: A sample Node.js app to demonstrate the capabilities with chaincode deployment, query, and updating the ledger.
- fabric-ca: Uses the Fabric CA client and server to generate all crypto material and learn how to use attribute-based access control.
- first-network: Builds the first hyperledger fabric network with byfn.sh and eyfn.sh.
- Jenkinsfile: Jenkins is a suite of plugins that supports implementing and integrating continuous-delivery pipelines. The definition of a Jenkins pipeline is typically written into a text file, Jenkinsfile, which in turn is checked into a project's source-control repository.
- scripts: There are two scripts in this directory: bootstrap.sh and Jenkins_Scripts.
This article is written by Matt Zand (Founder of High School Technology Services) in collaboration with Brian Wu who is a senior blockchain instructor at Coding Bootcamps school in Virginia.