-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Status: To DoThis issue is ready to be picked up by a team member.This issue is ready to be picked up by a team member.
Description
ποΈ Docker-based Hyperledger Fabric: Structure Evaluation
β Current Strengths
| Aspect | Compliance | Rationale |
|---|---|---|
| Separation of Concerns | β SOLID (SRP) | Each directory has single, clear purpose |
| Docker Foundation | β Present | docker/ directory with logical organization |
| Reproducibility | β Good | Fixtures and automation included |
β οΈ Required Improvements
π³ Enhanced Docker Structure
docker/
βββ images/
β βββ fabric-peer/
β βββ fabric-orderer/
β βββ base/ # π DRY: Shared dependencies
βββ compose/
β βββ base/ # π DRY: Reusable services
β β βββ peer-base.yaml
β β βββ orderer-base.yaml
β βββ networks/ # π― KISS: 2/4/10/20 nodes
β βββ overlays/ # π SOLID: Crypto modes
β βββ ecdsa-only.yaml
β βββ pqc-only.yaml
β βββ hybrid.yaml
βββ configs/
π¦ Refactored Source
src/
βββ chaincode/ # βοΈ Renamed from fabric/
βββ pqc/
β βββ Dockerfile
βββ sdk/
β βββ Dockerfile
βββ fabric-patches/ # π Core modifications
π οΈ Essential Scripts
tools/scripts/
βββ docker/
β βββ network-up.sh # π― Single entry point
β βββ network-down.sh
β βββ switch-crypto-mode.sh
βββ fabric/
β βββ generate-crypto.sh
β βββ deploy-chaincode.sh
βββ utils/
βββ validate-config.sh
π Environment Management
.env.example
env/
βββ dev.env
βββ test.env
βββ benchmark.env
Example:
CRYPTO_MODE=hybrid # ecdsa | pqc | hybrid
NETWORK_SIZE=4 # 2 | 4 | 10 | 20
PQC_ALGORITHM=dilithium3
π Gap Analysis
| Component | Status | Priority |
|---|---|---|
| Base Docker configs | β Missing | π΄ High |
| Environment templates | β Missing | π΄ High |
| Reusable compose files | β Missing | π‘ Medium |
β Implementation Checklist
- π΄ Create base Dockerfiles with multi-stage builds (KISS)
- π΄ Implement compose inheritance: base + overlays (DRY)
- π΄ Add
env/directory with configuration templates - π‘ Rename
src/fabric/βsrc/chaincode/(clarity) - π‘ Create
tools/scripts/docker/network-up.shentry point - π‘ Add
.dockerignorefiles - π’ Implement Docker health checks
- π’ Create smoke test script
π― Final Assessment
Readiness: 85%
π΄ Critical Gaps
- No reusable base configurations (DRY violation)
- Missing environment management
- Ambiguous
src/fabric/naming
π Priority Actions
- Refactor
docker/compose/β base + overlay pattern - Add
env/with templates - Create unified
network-up.shscript - Rename
src/fabric/βsrc/chaincode/
Result: Principle-compliant, production-grade structure for PQC research.
Metadata
Metadata
Assignees
Labels
Status: To DoThis issue is ready to be picked up by a team member.This issue is ready to be picked up by a team member.