Chaincode Frontend Design

https://hlf.readthedocs.io/en/latest/commands/peerlifecycle.html

Chaincode Management Page

Workflow

Ā  Ā  upload chaincodeā†’install chaincodeā†’ approveā†’ commit

Ā  Ā  1. Upload chaincode: Each organizational user uploads the packaged chaincode compressed package to their respective cello;

Ā  Ā  2. Install chaincode: Each organizational user installs the chain code on their respective nodes;

Ā  Ā  3. Approve: Each organization performs licensing operations on the chain code separately;

Ā  Ā  4. Commit: When the number of licensed organizations meets the policy, one of the organizations performs the submission operation.

APIsĀ 

  1. Get chaincode information list
  2. Submit chaincode

Information List UI

NameLabelVersionPackageIdOperation
Cc1
V1sha2sumInstall | Approve | Commit | Delete (if chaincode not used yet)
Cc2
V1sha2sumInstall | Approve | Commit | Delete (if chaincode not used yet)





Upload Chaincode UI

Chaincode Name:
Description:

Version:


Choose File:
Chaincode language:

Chaincode hash:

(maybe calculated by backend depending on performance)


Chaincode Installation Page

APIs

  1. Get nodes of the current organization
  2. Get chaincode installation status of each node
  3. Submit requests to install chaincode

Install Chaincode UI

Choose the node to install chaincode (current org)


Approvement Page

APIs

  1. Get all orgs' approvement status
  2. Approve current org's chaincode

Approve Chaincode UI

Choose Channel
OrgApproved/Not Approved
Org1Approved
Org2Not Approved
Org3(Current Org)Not Approved (A clickable link/button)

Approving current Org's chaincode doesn't require a page. After clicking the link, it prompts a confirmation window, sends a "approve" request to backend if confirmed.

The backend checks if approvement is successful or not and returns the result to frontend (it's better to include failure info). Frontend then prompts the response.