Skip to content

A decentralized protocol for verifiable distributed compute. Sandboxed execution with modular verification, powering LLM inference and federated learning at scale.

Notifications You must be signed in to change notification settings

theblitlabs/parity-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Parity Protocol

Go Version PostgreSQL Docker License

Introduction

Parity Protocol is a cutting-edge distributed computation network that enables secure and verifiable task execution across verified nodes. Built and maintained by Blit Labs, this protocol offers a cloudless architecture that prioritizes security, reliability, and efficient resource utilization.

📚 Read the Complete Documentation

System Architecture

The Parity Protocol ecosystem consists of five core components, each serving a specific purpose in the network:

Core Components

  • Manages secure task execution in isolated Docker environments
  • Provides comprehensive execution metrics and system usage analytics
  • Ensures computational integrity and optimal resource allocation
  • Orchestrates task distribution and validation processes
  • Handles node registration and reputation management
  • Implements real-time communication via webhooks
  • Delivers a seamless interface for task submission and monitoring
  • Provides robust APIs for comprehensive task management
  • Features real-time execution tracking and detailed analytics
  • Implements a custom ERC20 token for network operations
  • Powers protocol economics and staking mechanisms
  • Facilitates automated reward distribution
  • Provides secure token management capabilities
  • Features enterprise-grade authentication system
  • Enables efficient transaction handling

Supporting Tools

Tool Purpose
gologger Advanced structured logging for Go applications
deviceid Robust device identification system
keystore Secure cryptographic key management
go-wallet-sdk Comprehensive Go SDK for blockchain interactions

Getting Started

System Requirements

Before beginning, ensure your system meets these prerequisites:

  • Go: Version 1.22.7 or higher
  • PostgreSQL: Version 14.0 or higher
  • Docker: Latest stable version
  • Make: Latest version
  • Git: Latest version

Installation Guide

1. Repository Setup

mkdir parity-workspace && cd parity-workspace

# Clone core repositories
for repo in server runner client token wallet; do
    git clone https://github.com/theblitlabs/parity-${repo}.git
done

2. Initial Configuration

# Set up token and wallet first
cd parity-token
# Follow README instructions for:
# 1. Token contract deployment
# 2. Parameter configuration
# 3. Initial distribution setup

cd ../parity-wallet
# Follow README instructions for:
# 1. Wallet infrastructure setup
# 2. Authentication configuration
# 3. Token contract integration

# Copy example configs for core components
for component in server runner client; do
    cp parity-${component}/.env.sample \
       parity-${component}/.env
done
Deployed Addresses

For reference, here are the current deployed addresses on Ethereum:

  • Stake Wallet Address: 0x261259e9467E042DBBF372906e17b94fC06942f2
  • Token Contract Address: 0x844303bcC1a347bE6B409Ae159b4040d84876024

3. Component Configuration

Each component requires specific configuration. Follow these steps carefully:

Server Setup
  1. Navigate to parity-server directory
  2. Open .env
  3. Configure according to the server documentation
  4. Key focus areas:
    • Database configuration
    • Blockchain connection parameters
    • Network settings
Runner Setup
  1. Navigate to parity-runner directory
  2. Open .env
  3. Configure according to the runner documentation
  4. Key focus areas:
    • Docker environment settings
    • Server connection parameters
    • Resource allocation limits
Client Setup
  1. Navigate to parity-client directory
  2. Open .env
  3. Configure according to the client documentation
  4. Key focus areas:
    • API configurations
    • Server connection details
    • Client-specific parameters

⚠️ Important Configuration Notes:

  • Verify all placeholder values are replaced with actual configurations
  • Ensure no port conflicts between components
  • Double-check file permissions
  • Use secure values for authentication tokens and keys

4. Launch Services

Run each component in a separate terminal window:

# Terminal 1: Server
cd parity-server
make build
parity-server auth --private-key YOUR_PRIVATE_KEY
parity-server

# Terminal 2: Runner
cd parity-runner
make build
parity-runner auth --private-key YOUR_PRIVATE_KEY
parity-runner stake --amount 10
parity-runner

# Terminal 3: Client
cd parity-client
make build
parity-client

Contributing

We welcome contributions from the community! Here's how to get started:

  1. Find an Issue Browse our repositories for open issues:

  2. Fork & Clone Fork the relevant repository and create your feature branch:

    git checkout -b feature/amazing-feature
  3. Set Up Development Environment

    make install-hooks
  4. Submit Your Work

    • Follow Conventional Commits guidelines
    • Include comprehensive documentation updates
    • Provide clear descriptions of changes
    • Reference the issue being addressed

📝 For detailed information about each component, please refer to their respective documentation.

About

A decentralized protocol for verifiable distributed compute. Sandboxed execution with modular verification, powering LLM inference and federated learning at scale.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published