Mining Pearl บน Apple Silicon (และ CPU host อื่นๆ)¶
OpenJarvis สามารถขุดเชน Pearl
บน Mac ที่ใช้ Apple Silicon (M1/M2/M3/M4) ด้วย provider cpu-pearl นี่คือ
v1: การขุดด้วย CPU แบบแยกอิสระ เวิร์กโฟลว์ LLM ในเครื่องที่คุณใช้อยู่แล้ว
(Ollama, MLX-LM, llama.cpp, vLLM) จะไม่ถูกแตะต้อง การขุดรันเป็น process แยก
อยู่เบื้องหลัง
ความคาดหวังที่ตรงไปตรงมา¶
Hashrate บน CPU ของ Apple Silicon ต่ำกว่าที่ H100 ทำได้ด้วย vllm-miner
ของ Pearl มาก กฎง่ายๆ คร่าวๆ (ขึ้นอยู่กับความยากของเครือข่าย):
- M2 Max / M4 Max: ≪ 1 share ต่อวินาที ที่ความยากทั่วไปของ mainnet
- H100 พร้อม
vllm-miner: สูงกว่าอย่างมีนัยสำคัญ และงานขุดยังถูก amortize ไปกับการอนุมาน LLM จริงด้วย
หากคุณต้องการขุดเพื่อผลตอบแทน นี่ไม่ใช่เส้นทางนั้น หากคุณต้องการมีส่วนร่วมใน เครือข่ายด้วยฮาร์ดแวร์ที่คุณมีอยู่แล้ว โดยไม่ต้องซื้อฮาร์ดแวร์พิเศษ นี่คือเส้นทางนั้น
มี provider ทดลอง apple-mps-pearl สำหรับนักพัฒนา มันใช้ PyTorch MPS สำหรับ
matmul ของ NoisyGEMM ในขณะที่การ hash transcript และการสร้าง proof ยังคงรัน
บน CPU สิ่งนี้พิสูจน์ว่าเส้นทาง Apple-GPU สร้าง PlainProof ที่ validator
ยอมรับได้ แต่ยังไม่ใช่เส้นทาง Metal kernel ประสิทธิภาพสูง
สิ่งที่ต้องมีก่อน¶
- macOS arm64 (M1, M2, M3, M4) — หรือ Linux x86_64 / aarch64
- Python 3.12 (
brew install python@3.12หรือใช้uv venv --python 3.12) - Rust toolchain (
brew install rustหรือcurl https://sh.rustup.rs -sSf | sh) - node
pearldของคุณเอง ที่กำลังรันอยู่ โดย RPC เข้าถึงได้ที่http://localhost:44107 - ที่อยู่ Pearl Taproot wallet จาก
oyster(wallet CLI ของ Pearl) - พื้นที่ว่างดิสก์ ~1 GB สำหรับ clone source ของ Pearl และ build artifact
ติดตั้ง¶
หาก wheel ของ Pearl ยังไม่มีบน PyPI (ยังเป็นเช่นนั้น ณ 2026-05-05) uv sync
จะสำเร็จ แต่ไม่ได้ติดตั้งแพ็กเกจ Python ของ Pearl จริง ต้อง build/ติดตั้งจาก
Pearl checkout ในเครื่องเอง:
cd /path/to/pearl/py-pearl-mining
maturin build --release
uv pip install target/wheels/py_pearl_mining-*.whl
uv pip install ../miner/miner-utils ../miner/pearl-gateway ../miner/miner-base
ตั้งค่า¶
สร้าง Pearl wallet และเริ่ม pearld ที่ sync แล้วแยกต่างหาก ตาม README ของ
Pearl จากนั้นเขียน config การขุดของ OpenJarvis:
export PEARLD_RPC_PASSWORD="rpcpass"
jarvis mine init \
--provider cpu-pearl \
--wallet-address "<your-prl1...address>" \
--pearld-rpc-url http://127.0.0.1:44107 \
--pearld-rpc-user rpcuser \
--pearld-rpc-password-env PEARLD_RPC_PASSWORD
บน Apple Silicon --provider auto จะเลือก apple-mps-pearl ให้ ใช้
--provider cpu-pearl สำหรับเส้นทาง CPU แบบระมัดระวัง เส้นทาง MPS เป็นแบบ
ทดลองและปัจจุบันมีประโยชน์สำหรับการ validate/profiling ไม่ใช่รายได้
คำสั่งนี้จะเขียน:
[mining]
provider = "cpu-pearl"
wallet_address = "prl1..."
submit_target = "solo"
fee_bps = 0
[mining.extra]
pearld_rpc_url = "http://127.0.0.1:44107"
pearld_rpc_user = "rpcuser"
pearld_rpc_password_env = "PEARLD_RPC_PASSWORD"
gateway_host = "127.0.0.1"
gateway_port = 8337
metrics_port = 9109
รัน¶
jarvis mine doctor # capability matrix
jarvis mine start # launch gateway + miner-loop subprocesses
jarvis mine status # check sidecar + gateway metrics
jarvis mine logs -n 120 # print recent logs
jarvis mine stop # stop mining subprocesses
การอ่านผลลัพธ์ mine doctor¶
แต่ละแถวคือหนึ่งการตรวจสอบ ✓ หมายถึงผ่าน ✗ แสดงวิธีแก้ที่ทำได้
$ jarvis mine doctor
Hardware
GPU vendor apple ✓
Apple chip M2 Max ✓
Pearl install
py-pearl-mining 0.1.0 (cp312-abi3-macos-arm64) ✓
miner-base 0.1.0 ✓
pearl-gateway 0.1.0 ✓
Pearl node
RPC http://localhost:44107 ✓
Block height 442107 (synced) ✓
Wallet
Address format prl1q... ✓
Provider capability
cpu-pearl SUPPORTED (calibrated 0.X share/h on M2 Max)
Notes
- This is decoupled mining: your normal LLM inference is unaffected
- Hashrate is far below H100 mining; see this doc above
- MPS mining: available as experimental apple-mps-pearl
Session
Sidecar absent (not running)
ข้อจำกัด¶
- v1 ยังไม่รองรับ Windows ตัวขุดแบบ pure-Rust ของ Pearl build บน Windows ได้ในทางทฤษฎี แต่เส้นทางติดตั้งข้ามแพลตฟอร์มยังไม่ผ่านการทดสอบ ใช้ WSL2 หากจำเป็นต้องใช้
- ยังไม่เชื่อมโยงกับ inference v1 เป็น process แยก CPU ของคุณทำการขุด GPU ของคุณทำ inference ทั้งสองไม่แชร์งานกัน v2 จะเปลี่ยนสิ่งนี้
- PyTorch-MPS ยังเป็นแบบทดลองเท่านั้น
apple-mps-pearlย้าย matmul ของ NoisyGEMM ไปที่ MPS แต่ยังต้อง readback กลับ CPU สำหรับการ hash transcript และการสร้าง proof ใช้เพื่อการ validate และ profiling ไม่ใช่เพื่อคาดหวังรายได้ - ไม่มี pool แบบหลาย host รองรับเฉพาะการขุดเดี่ยว (solo mining) งาน pool เป็น spec แยกต่างหาก
การแก้ปัญหา¶
| อาการ | สาเหตุที่เป็นไปได้ | วิธีแก้ |
|---|---|---|
mine doctor แจ้งว่า Pearl Python packages not installed |
ยังไม่ได้ build wheel | รัน jarvis mine init |
log ของ pearl-gateway แสดง connection refused ไปยัง http://localhost:44107 |
pearld ไม่ได้รันอยู่ |
เริ่ม pearld ตาม README ของ Pearl |
mine status แสดง last_error: gateway metrics unreachable |
pearl-gateway crash |
ตรวจสอบ ~/.openjarvis/logs/mining/pearl-gateway.log |
Build ล้มเหลวด้วย error: linker 'cc' not found |
ยังไม่ได้ติดตั้ง Xcode CLT | xcode-select --install |
maturin build แจ้งเตือนเกี่ยวกับ tikv-jemallocator |
macOS SDK เก่าเกินไป | อัปเดต macOS / Xcode |
สำหรับอะไรที่ไม่อยู่ในรายการนี้ เก็บ ~/.openjarvis/logs/mining/ แล้วเปิด
issue ที่ https://github.com/open-jarvis/OpenJarvis/issues
สิ่งที่เปลี่ยนใน v2 / v3¶
- v2: ปรับปรุงเส้นทาง
apple-mps-pearlปัจจุบัน แล้วอาจต่อเข้ากับ MLX-LM หรือllama-cpp-pythonเพื่อให้ matmul ของ inference กลายเป็นงาน ขุดด้วย - v3 (เฉพาะถ้าประสิทธิภาพของ v2 ไม่เพียงพอ): Metal kernel เนทีฟในฐานะ contribution ต้นน้ำให้ Pearl ไม่มีการเปลี่ยนแปลงที่ผู้ใช้เห็นได้ นอกจาก hashrate ที่สูงขึ้น