How ayushdevadiga1/fedledger works
FedLedger coordinates three organisations’ private-data model training: clients send model weights to a Flower server, which performs weighted aggregation, computes accuracy, and logs a hash of the aggregate on Ethereum. The audit bridge also retrieves records and verifies candidate weights; the documented Streamlit dashboard has training, audit, and verification panels, but all are scaffold stubs. The dataset partitioner and contract/deployment capabilities are included from README evidence. Excerpts show server-to-client workflow and audit calls; several documented subsystem internals and dashboard data wiring are not shown, so those links are omitted.
Main entry points: blockchain_logger.py Blockchain logger · server.py FL server strategy · node.py FL client node · main.py Streamlit entry point
Components 14
Private Data
- Partition generator
data/generate_partitions.py - Private partitions
data/node1
Federated Learning
- FL client node
fl_nodes/node.py - FL server strategy
fl_server/server.py - FedAvg and hashing
fl_server/fedavg.py
Blockchain Audit
- Blockchain logger
fl_server/blockchain_logger.py - Append-only audit contract
blockchain/contracts/FLAuditLog.sol - Contract deployment
blockchain/scripts/deploy.js - Ethereum node
Dashboard
- Streamlit entry point
app/main.py - Training panel
app/training_view.py - Audit panel
app/audit_view.py - Verification panel
app/verify_view.py
Other components
- Organisation operator
Connections 18
- Organisation operator → Partition generator: generates partitions
README.md - Partition generator → Private partitions: saves partitions
data/generate_partitions.py - Organisation operator → FL client node: starts node
README.md - Private partitions → FL client node: loads private data
fl_nodes/node.py - FL client node → FL server strategy: sends weights
fl_nodes/node.py - FL server strategy → FL client node: distributes parameters
fl_server/server.py - FL server strategy → FedAvg and hashing: aggregates weights
fl_server/server.py - FL server strategy → Blockchain logger: logs round
fl_server/server.py - Blockchain logger → FedAvg and hashing: computes weight hash
fl_server/blockchain_logger.py - Blockchain logger → Ethereum node: submits transactions
fl_server/blockchain_logger.py - Ethereum node → Append-only audit contract: executes calls
- Organisation operator → Contract deployment: deploys contract
README.md - Contract deployment → Append-only audit contract: deploys
blockchain/scripts/deploy.js - Streamlit entry point → Training panel: renders panel
app/main.py - Streamlit entry point → Audit panel: renders panel
app/main.py - Streamlit entry point → Verification panel: renders panel
app/main.py - Audit panel → Blockchain logger: reads audit records
app/audit_view.py - Verification panel → Blockchain logger: verifies weights
app/verify_view.py