Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kamalbuilds/decentralised-federated-learning-platform
https://github.com/kamalbuilds/decentralised-federated-learning-platform
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/kamalbuilds/decentralised-federated-learning-platform
- Owner: kamalbuilds
- Created: 2024-11-07T10:53:05.000Z (7 days ago)
- Default Branch: main
- Last Pushed: 2024-11-07T12:11:08.000Z (7 days ago)
- Last Synced: 2024-11-07T12:31:53.060Z (7 days ago)
- Language: TypeScript
- Size: 137 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Decentralized Federated Learning Platform
A blockchain-based federated learning platform built on NEAR Protocol that enables decentralized machine learning model training while preserving data privacy.
## Features
- Decentralized model training using federated learning
- Privacy-preserving data handling
- NEAR blockchain integration for transparency and incentives
- Real-time model status tracking
- Participant management system
- Reward distribution mechanism## Tech Stack
- **Frontend**: Next.js, TypeScript, TailwindCSS
- **Smart Contract**: Rust, near-sdk
- **Blockchain**: NEAR Protocol
- **Machine Learning**: TensorFlow.js## Prerequisites
- Node.js >= 16
- Rust toolchain
- NEAR CLI
- A NEAR testnet account## Installation
1. Clone the repository:
```bash
git clone https://github.com/kamalbuilds/decentralised-federated-learning-platform
cd decentralised-federated-learning-platform
```2. Install frontend dependencies:
```bash
cd frontend
npm install
```3. Build the smart contract:
```bash
cd contract
cargo near build
```## Smart Contract Deployment
1. Login to your NEAR testnet account:
```bash
near login
```2. Deploy the contract:
```bash
near deploy --accountId your-testnet-account.testnet --wasmFile target/wasm32-unknown-unknown/release/contract.wasm
```## Running the Application
1. Start the frontend development server:
```bash
cd frontend
npm run dev
```2. Open your browser and navigate to `http://localhost:3000`
## Usage
1. **Connect Wallet**: Click "Connect Wallet" to link your NEAR account
2. **Register as Participant**: Register to participate in the federated learning process
3. **Train Model**: Contribute to model training using your local data
4. **View Status**: Monitor training progress and model updates
5. **Receive Rewards**: Earn rewards for successful contributions
## Architecture
### Smart Contract
- Manages participant registration
- Handles model updates
- Distributes rewards
- Maintains training status### Frontend
- User interface for model training
- Wallet integration
- Real-time status updates
- Training visualization## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
## Acknowledgments
- NEAR Protocol team
- Federated Learning community
- Open source contributors