Some checks failed
Blockchain Synchronization Verification / sync-verification (push) Failing after 8s
CLI Tests / test-cli (push) Successful in 10s
Contract Performance Benchmarks / benchmark-gas-usage (push) Successful in 1m22s
Contract Performance Benchmarks / benchmark-execution-time (push) Successful in 1m11s
Contract Performance Benchmarks / benchmark-throughput (push) Successful in 1m13s
Cross-Chain Functionality Tests / test-cross-chain-sync (push) Failing after 5s
Cross-Chain Functionality Tests / test-cross-chain-transactions (push) Successful in 5s
Cross-Chain Functionality Tests / test-cross-chain-bridge (push) Has been skipped
Cross-Chain Functionality Tests / test-multi-chain-consensus (push) Failing after 3s
Cross-Chain Functionality Tests / aggregate-results (push) Has been skipped
Cross-Node Transaction Testing / transaction-test (push) Successful in 5s
Deploy to Testnet / deploy-testnet (push) Successful in 1m14s
Contract Performance Benchmarks / compare-benchmarks (push) Has been cancelled
Documentation Validation / validate-docs (push) Failing after 10s
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Node Failover Simulation / failover-test (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-contracts path:contracts]) (push) Has been cancelled
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Has been cancelled
Smart Contract Tests / test-foundry (push) Has been cancelled
Smart Contract Tests / lint-solidity (push) Has been cancelled
Smart Contract Tests / deploy-contracts (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Successful in 3s
Integration Tests / test-service-integration (push) Failing after 45s
Multi-Chain Island Architecture Tests / test-multi-chain-island (push) Failing after 2s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 5s
P2P Network Verification / p2p-verification (push) Successful in 3s
Production Tests / Production Integration Tests (push) Failing after 7s
Python Tests / test-python (push) Failing after 46s
Staking Tests / test-staking-service (push) Failing after 2s
Staking Tests / test-staking-integration (push) Has been skipped
Staking Tests / test-staking-contract (push) Has been skipped
Staking Tests / run-staking-test-runner (push) Has been skipped
Systemd Sync / sync-systemd (push) Successful in 21s
API Endpoint Tests / test-api-endpoints (push) Failing after 12m19s
- Changed pytest calls to use `venv/bin/python -m pytest` with explicit config - Added `--rootdir "$PWD"` and `--import-mode=importlib` for consistent imports - Fixed PYTHONPATH to use absolute paths with $PWD prefix - Added smart contract security scanning for Solidity files - Added Circom circuit security checks for ZK proof circuits - Added ZK proof implementation security validation - Added contracts/** to security scanning workflow
100 lines
2.5 KiB
Markdown
100 lines
2.5 KiB
Markdown
# AITBC API Reference
|
|
|
|
This section provides comprehensive documentation for all AITBC platform APIs.
|
|
|
|
## Available APIs
|
|
|
|
- [Coordinator API](./coordinator/) - Job submission, management, and coordination
|
|
- [Blockchain Node API](./blockchain/) - Blockchain operations and queries
|
|
- [Wallet Daemon API](./wallet/) - Wallet operations and key management
|
|
|
|
## OpenAPI Specifications
|
|
|
|
Each API includes an OpenAPI 3.1.0 specification that can be used with API documentation tools like:
|
|
- Swagger UI
|
|
- Redoc
|
|
- Postman
|
|
- API clients
|
|
|
|
## Authentication
|
|
|
|
Most API endpoints require authentication via the `X-Api-Key` header. API keys can be obtained through the Coordinator API client registration endpoint.
|
|
|
|
## Quick Start
|
|
|
|
### Using cURL
|
|
|
|
```bash
|
|
# Submit a job
|
|
curl -X POST http://localhost:8011/v1/jobs \
|
|
-H "Content-Type: application/json" \
|
|
-H "X-Api-Key: your-api-key" \
|
|
-d '{
|
|
"payload": {"model": "llama2", "prompt": "Hello world"},
|
|
"ttl_seconds": 900
|
|
}'
|
|
```
|
|
|
|
### Using Python SDK
|
|
|
|
```python
|
|
import aitbc_sdk
|
|
|
|
client = aitbc_sdk.Client(api_key="your-api-key", base_url="http://localhost:8011")
|
|
job = client.submit_job(payload={"model": "llama2", "prompt": "Hello world"})
|
|
```
|
|
|
|
### Using JavaScript SDK
|
|
|
|
```javascript
|
|
import { AITBCClient } from '@aitbc/aitbc-sdk';
|
|
|
|
const client = new AITBCClient({
|
|
apiKey: 'your-api-key',
|
|
baseUrl: 'http://localhost:8011'
|
|
});
|
|
|
|
const job = await client.submitJob({
|
|
payload: { model: 'llama2', prompt: 'Hello world' }
|
|
});
|
|
```
|
|
|
|
## Rate Limiting
|
|
|
|
API endpoints may have rate limits enforced. Check the response headers for rate limit information:
|
|
- `X-RateLimit-Limit`: Maximum requests per window
|
|
- `X-RateLimit-Remaining`: Remaining requests in current window
|
|
- `X-RateLimit-Reset`: Unix timestamp when the window resets
|
|
|
|
## Error Handling
|
|
|
|
API errors follow standard HTTP status codes:
|
|
- `200` - Success
|
|
- `201` - Created
|
|
- `400` - Bad Request
|
|
- `401` - Unauthorized
|
|
- `403` - Forbidden
|
|
- `404` - Not Found
|
|
- `429` - Too Many Requests
|
|
- `500` - Internal Server Error
|
|
|
|
Error responses include a JSON body with details:
|
|
```json
|
|
{
|
|
"detail": "Error message describing the issue"
|
|
}
|
|
```
|
|
|
|
## WebSocket Endpoints
|
|
|
|
Real-time updates are available via WebSocket connections for:
|
|
- Job status updates
|
|
- Blockchain events
|
|
- Marketplace offers
|
|
|
|
See individual API documentation for WebSocket connection details.
|
|
|
|
## Versioning
|
|
|
|
API versions are specified in the URL path (e.g., `/v1/jobs`). Breaking changes will be introduced in new major versions. Minor versions may add new features without breaking existing functionality.
|