Abstract

Blockchain Explorer is a GUI tool that allows users to view blocks, transactions, nodes, channels, chaincodes and other associated information about the blockchain network. The aim of this project is to enhance the existing application in-terms of new features and uplift the user-interface with the robust design. Blockchain explorer uses fabric-sdk to get the details from the fabric network and stores the data in the postgres database, which is later used by the explorer UI.

Mentors and Mentees

Mentors

Arigela Satyanarayana, Discord: Arigelas#4597
Archana Arige, Discord: Archana#6996
Ajin S, Discord: ajin847#0328
Arun S M, Discord: arsulegai#7968
Aditya Joshi, Discord: adityajoshi#9707

Mentee

Venkata Manoj, Discord: MVB#8720

Scope:

  1. A full-fledged functional explorer application with UI that is well tested and documented w.r.t the new features implemented.
    1. Include information on the build and run.
    2. Cleanup the builds that are no more supported.
    3. Delete the previously deprecated Fabric releases.
  2. Config driven data purge based on blockcount (or) duration.
    1. Partial transaction contents to be used in the search interface. The contents can be from state database, ledger (including block).
    2. Type ahead search can be enabled.
  3. Research on metrics and bring up possible metric features.
    1. Usage: Setup alerts for anomalies. Peers have different block heights. A transaction took too long to process.
    2. Examples: Information available for the network participants which are not available within the peer/orderer metric endpoint.
    3. All the UI reported information shall be emitted as a metric. Identify screens and add line items for the mentorship.
    4. Optional: Pluggable UI for having Grafana dashboard within the Explorer.
  4. Compatible with latest release version of fabric.
    1. Docker compose specs in the repository is up to date to support latest version of Fabric (or the previous one).
    2. Explorer to Fabric release tagging.
  5. Improvise the UI Design.
    1. Line items from the UX mentorship.
  6. User Management - Need to avoid administration key dependency in Explorer View.
    1. Integrating with LDAP.
    2. Decouple the admin key requirement.
    3. Revisit Authentication/Authorization. Support OAuth.
  7. Optional Feature: View for generated user credentials.
    1. Connect to Fabric CA and fetch list of all the generated keys.
  8. Role management in the Explorer.
    1. Identify the roles.
    2. Enable role based access mechanism.
  9. Simulate/read capability for chaincode within the Explorer.
  10. [Optional] Alternate UI for transaction management, sending transaction, chaincode deployment operations.
  11. Move the images from the docker hub to GHCR.
  12. Write/modify the test cases to be in-compliant with the newly added features.
  13. [Optional] Look into library approach. Separate core features and design interfaces in the backend. Make it pluggable.

Deliverables

  • Data Purging based on blockcount/time
  • User Access Management
  • Fix the running issues
  • Migrate Images from docker-hub to GHCR
  • Research and implement Metrics - Network Level Observability
  • Test-cases and documentation

Milestones

Eval 1:

  • Research on the best practices of purging the postgres DB data
  • Implement the purging feature based on blockcount/time
  • Improve Boot time for loading blocks and transactions

Eval 2:

  • User Access Management -Integrating with LDAP
  • Decouple the admin key requirement
  • Revisit Authentication/Authorization. Support OAuth.

Eval 3:

  • Fix the running issues
  • Migrate Images from docker-hub to GHCR

Eval 4:

  • Research and implement Metrics - Network Level Observability
  • Test Cases and Documentation

Eval 5:

  • Optional: Create UI screens based on wire-frames 
  • Integrate the UI with backend

Timeline

Goal

Activity

Status

Est. Time of Completion

Milestone

Onboard & Ramp-up

end of JuneOnboarding and Learning/Ramp Up
  • Data Purging


end of July

Monthly Checkpoint

  •  1st quarter mentee evaluation
  • User Access Management


end of August

Monthly Checkpoint

Midterm mentee evaluation

  • Fix the running issues
  • Test Cases


end of September

Monthly Checkpoint

  • Network Level Observability


end of October

 3rd quarter mentee evaluation

  • Improved Documentation
  • Add the tutorial on deployment


end of November

Monthly Checkpoint

 final mentee evaluation




TBD

Global Meetup: Demo and Showcase

(align to The Linux Foundation's timelines)

  • No labels