Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 3s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Successful in 2s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 3s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Successful in 2s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Deploy to Testnet / deploy-testnet (push) Successful in 1m12s
Documentation Validation / validate-docs (push) Failing after 8s
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Successful in 2m6s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Successful in 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Failing after 4s
P2P Network Verification / p2p-verification (push) Successful in 4s
Package Tests / Python package - aitbc-agent-sdk (push) Successful in 32s
Package Tests / Python package - aitbc-core (push) Successful in 14s
Package Tests / Python package - aitbc-crypto (push) Successful in 12s
Package Tests / Python package - aitbc-sdk (push) Successful in 9s
Package Tests / JavaScript package - aitbc-sdk-js (push) Successful in 8s
Package Tests / JavaScript package - aitbc-token (push) Successful in 17s
Python Tests / test-python (push) Successful in 15s
Security Scanning / security-scan (push) Successful in 27s
Node Failover Simulation / failover-test (push) Successful in 7s
Multi-Node Stress Testing / stress-test (push) Successful in 6s
Cross-Node Transaction Testing / transaction-test (push) Successful in 4s
- Add SQLCipher encryption for ait-mainnet database with configurable flag - Add db_encryption_enabled and db_encryption_key_path config settings - Implement encryption key loading and PRAGMA key setup via connection events - Add shutdown_db function for proper database cleanup - Export middleware classes in aitbc/__init__.py - Fix import path in sync.py for settings - Remove duplicate agent documentation from docs
142 lines
1.8 KiB
Markdown
142 lines
1.8 KiB
Markdown
# Miner API Reference
|
|
Complete API reference for miner operations.
|
|
|
|
## Endpoints
|
|
|
|
### Register Miner
|
|
|
|
```
|
|
POST /v1/miners
|
|
```
|
|
|
|
**Request Body:**
|
|
|
|
```json
|
|
{
|
|
"name": "my-miner",
|
|
"gpu_type": "v100",
|
|
"gpu_count": 1,
|
|
"location": "us-east",
|
|
"price_per_hour": 0.05,
|
|
"max_concurrent": 4
|
|
}
|
|
```
|
|
|
|
**Response:**
|
|
|
|
```json
|
|
{
|
|
"miner_id": "miner_xyz789",
|
|
"api_key": "key_abc123",
|
|
"status": "pending"
|
|
}
|
|
```
|
|
|
|
### Update Miner
|
|
|
|
```
|
|
PUT /v1/miners/{miner_id}
|
|
```
|
|
|
|
### Heartbeat
|
|
|
|
```
|
|
POST /v1/miners/{miner_id}/heartbeat
|
|
```
|
|
|
|
**Response:**
|
|
|
|
```json
|
|
{
|
|
"status": "ok",
|
|
"jobs_assigned": 0,
|
|
"queue_length": 5
|
|
}
|
|
```
|
|
|
|
### List Available Jobs
|
|
|
|
```
|
|
GET /v1/miners/{miner_id}/jobs/available
|
|
```
|
|
|
|
**Response:**
|
|
|
|
```json
|
|
{
|
|
"jobs": [
|
|
{
|
|
"job_id": "job_abc123",
|
|
"model": "gpt2",
|
|
"gpu_type": "v100",
|
|
"gpu_count": 1,
|
|
"estimated_time": 600,
|
|
"price": 0.05
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
### Accept Job
|
|
|
|
```
|
|
POST /v1/miners/{miner_id}/jobs/{job_id}/accept
|
|
```
|
|
|
|
### Complete Job
|
|
|
|
```
|
|
POST /v1/miners/{miner_id}/jobs/{job_id}/complete
|
|
```
|
|
|
|
**Request Body:**
|
|
|
|
```json
|
|
{
|
|
"result_hash": "sha256:abc123...",
|
|
"metrics": {
|
|
"execution_time_seconds": 600,
|
|
"gpu_time_seconds": 600
|
|
}
|
|
}
|
|
```
|
|
|
|
### Get Miner Stats
|
|
|
|
```
|
|
GET /v1/miners/{miner_id}/stats
|
|
```
|
|
|
|
**Response:**
|
|
|
|
```json
|
|
{
|
|
"total_jobs": 100,
|
|
"success_rate": 0.98,
|
|
"average_completion_time": 600,
|
|
"earnings": 50.5,
|
|
"earnings_per_gpu_hour": 0.05
|
|
}
|
|
```
|
|
|
|
## Error Codes
|
|
|
|
| Code | Description |
|
|
|------|-------------|
|
|
| 400 | Invalid request |
|
|
| 401 | Unauthorized |
|
|
| 404 | Miner/job not found |
|
|
| 409 | Job already assigned |
|
|
| 422 | Validation error |
|
|
|
|
## Rate Limits
|
|
|
|
- 60 requests/minute
|
|
- 10 job operations/minute
|
|
|
|
## Next
|
|
|
|
- [Quick Start](./1_quick-start.md) — Get started
|
|
- [Job Management](./3_job-management.md) — Job management
|
|
- [Monitoring](./6_monitoring.md) - Monitor your miner
|