Skip to main content

Validator toolkit for DECLOUD - Decentralized Cloud for AI Training

Project description

DECLOUD Validator Kit

DECLOUD Validator Solana Mainnet Python 3.9+

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 key
  • DECLOUD_RPC_URL - Solana RPC URL
  • DECLOUD_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


DECLOUD - Decentralized Cloud for AI Training
Built on Solana

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

decloud_validator-0.1.0.tar.gz (39.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

decloud_validator-0.1.0-py3-none-any.whl (39.1 kB view details)

Uploaded Python 3

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

Hashes for decloud_validator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6ebe5728bee4d26fa95f65d2164b4d3038cb7b2766412b7fbcad74893ee4f6a2
MD5 c4ae439f3053abc1875c43466bccf1cb
BLAKE2b-256 2a85aae68a9d2281fea06faaa8451fe1f6ccfa591c0f6742cb8bad499bf33a7c

See more details on using hashes here.

File details

Details for the file decloud_validator-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for decloud_validator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 189daf179219a20862267bc9ef2cf73dbc23dbf0face07bd8384691b98db5f17
MD5 af785c2bad4edc19d4ee89758b75846e
BLAKE2b-256 827ef95e8eeeaa4b89dcdb9516572d911b74f685855664f666635b9af0c9654c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page