fabric-samples/test-network-k8s
jkneubuh dcc5e5650c
Update test network to fabric 2.4.3 (#660)
Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
2022-02-28 08:07:14 -05:00
..
chaincode Adding examples of CCAAS and support into the test-network-k8s (#527) 2021-12-17 14:09:03 +00:00
config Employs the Kubernetes cert-manager for storage and organization of TLS certificates. (#612) 2022-02-08 09:31:09 +00:00
docs Employs the Kubernetes cert-manager for storage and organization of TLS certificates. (#612) 2022-02-08 09:31:09 +00:00
kube impl for couchdb supports in test0network8s as hardcode (#651) 2022-02-21 06:07:24 -05:00
scripts impl for couchdb supports in test0network8s as hardcode (#651) 2022-02-21 06:07:24 -05:00
.gitignore Run the fabric test network on Kubernetes (#498) 2021-10-06 15:50:39 +00:00
network Update test network to fabric 2.4.3 (#660) 2022-02-28 08:07:14 -05:00
README.md Employs the Kubernetes cert-manager for storage and organization of TLS certificates. (#612) 2022-02-08 09:31:09 +00:00

Kubernetes Test Network

This project re-establishes the Hyperledger test-network as a cloud native application.

Objectives:

  • Provide a simple, one click activity for running the Fabric test network.
  • Provide a reference guide for deploying production-style networks on Kubernetes.
  • Provide a cloud ready platform for developing chaincode, Gateway, and blockchain apps.
  • Provide a Kube supplement to the Fabric CA Operations and Deployment guides.
  • Support a transition to Chaincode as a Service.
  • Support a transition from the Internal, Docker daemon to External Chaincode builders.
  • Run on any Kube.

Fabric, Ahoy!

Prerequisites

Quickstart

Create a local Kubernetes cluster:

./network kind

Launch the network, create a channel, and deploy the basic-asset-transfer smart contract:

./network up
./network channel create
./network chaincode deploy

Invoke and query chaincode:

./network chaincode invoke '{"Args":["CreateAsset","1","blue","35","tom","1000"]}' 
./network chaincode query '{"Args":["ReadAsset","1"]}'

Access the blockchain with a REST API:

./network rest-easy

Tear down the test network:

./network down 

Tear down the cluster:

./network unkind

Detailed Guides

Areas for Improvement / TODOs

  • Refine the recipe and guidelines for use with k3s / nerdctl (rancherdesktop.io) as an alternative to Docker / KIND.
  • Test the recipe with OCP, AWS, gcp, Azure, etc. (These should ONLY differ w.r.t. pvc and ingress)
  • Address any of the 20+ todo: notes in network.sh
  • Implement mutual TLS across peers, orderers, and clients.
  • Caliper?