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:
- A full-fledged functional explorer application with UI that is well tested and documented w.r.t the new features implemented.
- Include information on the build and run.
- Cleanup the builds that are no more supported.
- Delete the previously deprecated Fabric releases.
- Config driven data purge based on blockcount (or) duration.
- Partial transaction contents to be used in the search interface. The contents can be from state database, ledger (including block).
- Type ahead search can be enabled.
- Research on metrics and bring up possible metric features.
- Usage: Setup alerts for anomalies. Peers have different block heights. A transaction took too long to process.
- Examples: Information available for the network participants which are not available within the peer/orderer metric endpoint.
- All the UI reported information shall be emitted as a metric. Identify screens and add line items for the mentorship.
- Optional: Pluggable UI for having Grafana dashboard within the Explorer.
- Compatible with latest release version of fabric.
- Docker compose specs in the repository is up to date to support latest version of Fabric (or the previous one).
- Explorer to Fabric release tagging.
- Improvise the UI Design.
- Line items from the UX mentorship.
- User Management - Need to avoid administration key dependency in Explorer View.
- Integrating with LDAP.
- Decouple the admin key requirement.
- Revisit Authentication/Authorization. Support OAuth.
- Optional Feature: View for generated user credentials.
- Connect to Fabric CA and fetch list of all the generated keys.
- Role management in the Explorer.
- Identify the roles.
- Enable role based access mechanism.
- Simulate/read capability for chaincode within the Explorer.
- [Optional] Alternate UI for transaction management, sending transaction, chaincode deployment operations.
- Move the images from the docker hub to GHCR.
- Write/modify the test cases to be in-compliant with the newly added features.
- [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 June | Onboarding and Learning/Ramp Up | ||
| end of July | Monthly Checkpoint
| ||
| end of August | Monthly Checkpoint Midterm mentee evaluation | ||
| end of September | Monthly Checkpoint | ||
| end of October | 3rd quarter mentee evaluation | ||
| end of November | Monthly Checkpoint final mentee evaluation | ||
TBD | Global Meetup: Demo and Showcase (align to The Linux Foundation's timelines) |