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
The Parity Protocol ecosystem consists of five core components, each serving a specific purpose in the network:
- 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
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 |
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
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
# 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}/config/config.example.yaml \
parity-${component}/config/config.yaml
done
Each component requires specific configuration. Follow these steps carefully:
- Navigate to
parity-server
directory - Open
config/config.yaml
- Configure according to the server documentation
- Key focus areas:
- Database configuration
- Blockchain connection parameters
- Network settings
- Navigate to
parity-runner
directory - Open
config/config.yaml
- Configure according to the runner documentation
- Key focus areas:
- Docker environment settings
- Server connection parameters
- Resource allocation limits
- Navigate to
parity-client
directory - Open
config/config.yaml
- Configure according to the client documentation
- Key focus areas:
- API configurations
- Server connection details
- Client-specific parameters
- 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
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
We welcome contributions from the community! Here's how to get started:
-
Find an Issue Browse our repositories for open issues:
-
Fork & Clone Fork the relevant repository and create your feature branch:
git checkout -b feature/amazing-feature
-
Set Up Development Environment
make install-hooks
-
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.