Validator toolkit for DECLOUD - Decentralized Cloud for AI Training
Project description
DECLOUD Validator Kit
DECLOUD is a decentralized cloud platform for distributed machine learning on Solana.
Validators earn rewards by evaluating training contributions from trainers. This toolkit provides everything you need to become a validator.
🚀 Quick Start
Installation
pip install decloud-validator
Or install from source:
git clone https://github.com/jorikkkbrooo/validator-kit
cd validator-kit
pip install -e .
Prerequisites
- Python 3.9+
- Node.js 18+
- Solana CLI (optional)
Install Node.js dependencies:
npm install @solana/web3.js @coral-xyz/anchor bs58
Setup
# Download validation datasets (minimal ~500MB)
decloud datasets download --minimal
# Start validating
decloud validate start --private-key <YOUR_BASE58_PRIVATE_KEY>
📦 Datasets
DECLOUD supports 80+ datasets across multiple domains:
| Category | Count | Examples |
|---|---|---|
| Images Classification | 16 | CIFAR-10, MNIST, ImageNet |
| Text Sentiment | 8 | IMDB, SST-2, Yelp |
| Text Classification | 7 | AG News, DBpedia |
| Audio | 10 | Speech Commands, GTZAN |
| Tabular | 10 | Iris, Titanic, Adult Income |
| Medical | 9 | Chest X-Ray, Skin Cancer |
| Code | 4 | HumanEval, MBPP, Spider |
| And more... | 20+ | Graphs, Time Series, Security |
Download Datasets
# Download minimal pack (~500MB)
decloud datasets download --minimal
# Download all datasets (~50GB, skips very large ones)
decloud datasets download
# Download specific category
decloud datasets download --category images_classification
# Download specific dataset
decloud datasets download --dataset Cifar10
# Show download status
decloud datasets list --status
🔧 Configuration
# Show current config
decloud config show
# Set values
decloud config set network devnet
decloud config set min_reward 0.01
decloud config set auto_claim true
Configuration file: ~/.decloud/config.json
Environment variables:
DECLOUD_PRIVATE_KEY- Validator private keyDECLOUD_RPC_URL- Solana RPC URLDECLOUD_NETWORK- Network (devnet/mainnet)DECLOUD_DATA_DIR- Dataset storage directory
💻 Python API
from decloud import Validator, DatasetManager, Config
# Initialize
config = Config.load()
validator = Validator(config)
# Login
validator.login("your_base58_private_key")
print(f"Balance: {validator.balance} SOL")
# Download datasets
datasets = DatasetManager()
datasets.download_minimal()
# Get available rounds
rounds = validator.get_available_rounds()
for r in rounds:
print(f"Round #{r.id}: {r.reward_amount/1e9} SOL")
# Claim and validate a round
validator.claim_round(round_id=1)
validator.start_training(round_id=1)
# ... wait for submissions ...
validator.evaluate_and_complete(round_id=1)
# Or run in auto mode
validator.start() # Runs forever, auto-claims and validates
Custom Evaluation
def my_evaluator(submission):
"""
Custom evaluator function.
Returns a score between 0 and 1.
"""
# Download and evaluate gradients
gradients = download_gradients(submission.gradient_cid)
score = evaluate_gradients(gradients)
return score
validator.start(evaluator=my_evaluator)
📊 Validation Flow
1. Creator creates round (deposits SOL)
↓
2. Validator claims round
↓
3. Trainers join (max 10)
↓
4. Validator starts training
↓
5. Trainers submit gradients
↓
6. Validator evaluates submissions
- Set contribution % for each trainer
↓
7. Validator completes validation
- Receives 10% fee automatically
↓
8. Trainers claim their rewards
🔒 Security
- Never share your private key
- Use environment variables in production
- Private keys are NOT saved to config file by default
- Consider using a separate wallet for validation
🌐 Networks
| Network | RPC URL | Status |
|---|---|---|
| Mainnet | https://api.mainnet-beta.solana.com |
✅ Active |
| Devnet | https://api.devnet.solana.com |
✅ Testing |
📚 CLI Reference
# General
decloud info # Show system info
decloud --version # Show version
# Authentication
decloud login <private_key> # Login with base58 key
decloud login -f keypair.json # Login from file
# Datasets
decloud datasets list # List all datasets
decloud datasets list --status # Show download status
decloud datasets download # Download all
decloud datasets download -m # Download minimal
decloud datasets download -c <category>
decloud datasets download -d <dataset>
# Validation
decloud validate start # Start validator loop
decloud validate start -k <key> # With private key
# Rounds
decloud rounds list # List all rounds
# Configuration
decloud config show # Show config
decloud config set <key> <val> # Set value
🤝 Contributing
Contributions are welcome! Please read our Contributing Guide.
📄 License
MIT License - see LICENSE for details.
🔗 Links
- Website: https://clouddepin.com/
- Documentation: https://clouddepin.com/docs
- Twitter: https://x.com/CloudDepin
DECLOUD - Decentralized Cloud for AI Training
Built on Solana
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file decloud_validator-0.1.0.tar.gz.
File metadata
- Download URL: decloud_validator-0.1.0.tar.gz
- Upload date:
- Size: 39.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ebe5728bee4d26fa95f65d2164b4d3038cb7b2766412b7fbcad74893ee4f6a2
|
|
| MD5 |
c4ae439f3053abc1875c43466bccf1cb
|
|
| BLAKE2b-256 |
2a85aae68a9d2281fea06faaa8451fe1f6ccfa591c0f6742cb8bad499bf33a7c
|
File details
Details for the file decloud_validator-0.1.0-py3-none-any.whl.
File metadata
- Download URL: decloud_validator-0.1.0-py3-none-any.whl
- Upload date:
- Size: 39.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
189daf179219a20862267bc9ef2cf73dbc23dbf0face07bd8384691b98db5f17
|
|
| MD5 |
af785c2bad4edc19d4ee89758b75846e
|
|
| BLAKE2b-256 |
827ef95e8eeeaa4b89dcdb9516572d911b74f685855664f666635b9af0c9654c
|