How to
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: https://blog.csdn.net/m0_43445928/article/details/130524917
Alternative: Deploy Kubernetes using your preferred method.
Register CP on Web Interface
Access Grid's official portal: https://grid.metamemo.one/
Navigate to Grid Provider section
Click Become A Provider
Complete registration form with:
Provider name
Public IP address
Service port
Domain name
Add Nodes via Web Interface
Go to Add Node page
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
→ ID0
node-5
→ ID4
Configure Kubernetes Node Labels
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
Build & Configure CP Backend
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
Wallet import failure
Verify SK format and file permissions
Node label mismatch
Confirm kubectl context is correct
Blockchain RPC errors
Check network connectivity
Last updated