Prerequisites
Before installing CP, ensure the following prerequisites are met:
A public IP address is available
The IP address has a bound domain name
Go version 1.21+ is installed
Multiple hosts with NVIDIA GPUs are prepared
Install Kubernetes
To deploy Kubernetes v1.25.3, follow this guide:
Alternative: Deploy Kubernetes using your preferred method.
Register CP on Web Interface
Access Grid's official portal:
Navigate to Grid Provider section
Complete registration form with:
Add Nodes via Web Interface
Configure node parameters:
Node Name Format: node-[number] (e.g., node-1)
Pricing Strategy: Set your price per compute unit
Node ID Assignment Rule:
Node ID = Node Name Number - 1
Example:
node-1
→ ID 0
node-5
→ ID 4
Step 1: Retrieve Node ID
Check node ID in web interface's node details page.
Step 2: Apply Labels
kubectl label node <NODE_NAME> id=<NODE_ID>
Example for node gpu-server-1
with ID 3
:
kubectl label node gpu-server-1 id=3
1. Compile from Source
git clone https://github.com/gridprotocol/computing-api.git
cd computing-api/bin
make clean && make
2. Wallet Management
Import Existing Wallet
./computing-api wallet import \
--sk=234fe73f5154570065a202f185dca074f1d7482a5e08ce093a92ed96807a6cf0 \
--pw=123123
Create New Wallet
./computing-api wallet init --pw=STRONG_PASSWORD
Gas Fee Recharge
Contact Grid administrators for blockchain gas fee top-up:
admin@grid.metamemo.one
Configuration File Setup
Edit computing-api/bin/config.toml
:
# Network Configuration
[Grpc]
Listen = "0.0.0.0:12345" # gRPC service port
[Http]
Listen = "0.0.0.0:12346" # HTTP service port
HSKey = "memo.io" # Session encryption key
CookieExpire = 86400 # 24h session validity
# Wallet Settings
[Remote]
KeyStore = "./.keystore" # Wallet storage path
Wallet = "0xEf95c72C836605203F7f66788E450Af2a4141957" # Your wallet address
# Infrastructure Endpoints
[Platform]
Url = "http://183.240.197.189:18002" # Production database URL
[Validator]
Url = "http://validator.grid.io:8081" # Validation service endpoint
Service Startup
Start Backend Service
# Syntax: ./restart.sh [chain_type]
./restart.sh test # Testnet
./restart.sh dev # Development
./restart.sh prod # Production
Monitor Logs
tail -f log/computing-api.log | grep -E 'ERROR|WARN'
Verify Service Status
curl http://localhost:12346/healthcheck
# Expected response: {"status":"ok"}
Troubleshooting
Verify SK format and file permissions
Confirm kubectl context is correct
Check network connectivity