ฟีเจอร์หลัก
สร้างมาสำหรับการขุดแบบมืออาชีพ — ปลอดภัย ขยายได้ และไม่มี downtime
อุโมงค์เข้ารหัสทราฟฟิกเต็มรูปแบบ
ปัญหา
ทราฟฟิก mining ที่ส่งแบบ plaintext ผ่านเครือข่ายซับซ้อนถูกระบุ จำกัด และบล็อกโดย ISP ได้ง่าย การดักฟังทราฟฟิกและการขโมย hashrate เป็นภัยคุกคามจริง
ทางแก้
HashRelay แทรกชั้นการเข้ารหัสระหว่าง miner กับ pool client ห่อหุ้มทราฟฟิก Stratum ในอุโมงค์ TLS 1.3 หรือ QUIC ก่อนส่งต่อไปยัง relay server ISP เห็นแค่ข้อมูล HTTPS/QUIC ที่เข้ารหัส
จุดเด่นทางเทคนิค
- 1โหมดใบรับรอง TLS 1.3 (แนะนำสำหรับ production)
- 2TCP + AES-256-GCM สำหรับสภาพแวดล้อมไม่มีใบรับรอง
- 3TCP + ChaCha20-Poly1305 สำหรับ CPU ระดับต่ำที่ไม่มี AES acceleration
- 4QUIC สำหรับเครือข่ายอ่อน/ข้ามพรมแดน (latency ต่ำสุด)
การส่งต่อแบบขนาน Multi-Pool Multi-Coin
ปัญหา
ฟาร์ม mining แบบดั้งเดิมที่ขุดหลายเหรียญต้องดูแล proxy แยกต่อเหรียญ — จัดการซับซ้อน กำหนดพอร์ตยุ่งเหยิง และแก้ปัญหายาก
ทางแก้
port mapping แบบ static ทำให้ instance HashRelay เดียวส่งต่อหลายเหรียญไป pool ต่างๆ พร้อมกัน พอร์ต 3333 → pool BTC, พอร์ต 4444 → pool ETH miner ไม่ต้องเปลี่ยนอะไร
การแมปพอร์ต
+ สร้าง| พอร์ต | พูล | โปรโตคอล | รวม | สถานะ |
|---|---|---|---|---|
| 3333 | F2Pool · BTC | TCP+TLS | เปิด | เปิดใช้ |
| 3334 | AntPool · BTC | QUIC | เปิด | เปิดใช้ |
| 4444 | Poolin · LTC | TCP+TLS | ปิด | เปิดใช้ |
| 5555 | Luxor · KAS | QUIC | เปิด | เปิดใช้ |
| 6666 | Foundry · BCH | TCP+TLS | ปิด | หยุดชั่วคราว |
จุดเด่นทางเทคนิค
- 1การส่งต่อโปร่งใสไม่ขึ้นกับโปรโตคอลสำหรับเหรียญ Stratum ใดก็ได้
- 2แต่ละ mapping ตั้งค่าแยกด้วยที่อยู่ pool และการตั้งค่าการรวม
- 3เปลี่ยนคอนฟิก push ไปยัง client แบบเรียลไทม์ ไม่ต้อง restart
- 4เปิด/ปิด Stratum parsing ต่อ pool ได้แยกกัน
การรวมคำขอ
ปัญหา
ฟาร์มใหญ่ที่มี miner หลายพันตัว แต่ละตัวเปิดการเชื่อมต่ออุโมงค์แยก กิน bandwidth และทรัพยากรเซิร์ฟเวอร์มหาศาล — และเสี่ยงโดน pool แบนการเชื่อมต่อ
ทางแก้
Aggregation Engine ในตัว parse โปรโตคอล Stratum ฝั่ง client และรวมคำขอจาก miner หลายพันเป็นการเชื่อมต่อ upstream ไม่กี่ช่อง miner 1,000 ตัว → 2 การเชื่อมต่อ
การแมปพอร์ต
+ สร้าง| พอร์ต | พูล | โปรโตคอล | รวม | สถานะ |
|---|---|---|---|---|
| 3333 | F2Pool · BTC | TCP+TLS | เปิด | เปิดใช้ |
| 3334 | AntPool · BTC | QUIC | เปิด | เปิดใช้ |
| 4444 | Poolin · LTC | TCP+TLS | ปิด | เปิดใช้ |
| 5555 | Luxor · KAS | QUIC | เปิด | เปิดใช้ |
| 6666 | Foundry · BCH | TCP+TLS | ปิด | หยุดชั่วคราว |
จุดเด่นทางเทคนิค
- 1รองรับ Stratum V1, V1-Ethash และ Stratum V2
- 2miners_per_conn ควบคุมอัตราส่วน ค่าเริ่มต้น 500 miner/การเชื่อมต่อ ปรับขนาดอัตโนมัติ
- 3การแบ่งพื้นที่ extranonce2 ทำให้แต่ละ miner มี search space ไม่ซ้ำ
- 4JSON-RPC ID remapping ป้องกัน ID คำขอพร้อมกันชนกัน
แดชบอร์ดปฏิบัติการรวมศูนย์และการแจ้งเตือน
ปัญหา
ทีม ops สลับแอป Bitmain, MicroBT, Canaan ฯลฯ — มุมมองกระจัด ตอบสนองช้า เครื่อง offline เป็นชั่วโมงไม่รู้ reject พุ่งต้องเข้าเว็บ pool เอง
ทางแก้
HashRelay รวม hashrate, uptime, reject rate และสุขภาพฮาร์ดแวร์บนแดชบอร์ดเดียว Parse Stratum ฝั่ง mirror แบบ async — ไม่กระทบ latency ของ relay เกินเกณฑ์ → Email, Telegram, Webhook ทันที
ประวัติและสถิติ
จุดเด่นทางเทคนิค
- 1ทั้งฟาร์มบนจอเดียว — เลิกสลับแอปยี่ห้อ
- 2เครื่อง offline: ตรวจจับภายในไม่กี่วินาที
- 3Reject สูง: แจ้งเตือนที่ ≥30% (ขั้นต่ำ 10 share)
- 4Hashrate ร่วง: ตรวจจับแบบ sliding window แจ้งหลายช่องทาง
Hot Push คอนฟิกแบบไดนามิก
ปัญหา
proxy แบบดั้งเดิมต้อง restart บริการทุกครั้งที่เปลี่ยนคอนฟิก pool ทำให้ miner ตัดการเชื่อมต่อชั่วคราว — หายนะเมื่อขยายขนาด
ทางแก้
admin เปลี่ยน mapping ผ่าน dashboard หรือ API เซิร์ฟเวอร์บันทึกการเปลี่ยนแปลงใน database transaction และ push ทันทีไปยัง client node ที่เกี่ยวข้องผ่านการเชื่อมต่อถาวร miner ไม่รู้สึกอะไร
การแมปพอร์ต
+ สร้าง| พอร์ต | พูล | โปรโตคอล | รวม | สถานะ |
|---|---|---|---|---|
| 3333 | F2Pool · BTC | TCP+TLS | เปิด | เปิดใช้ |
| 3334 | AntPool · BTC | QUIC | เปิด | เปิดใช้ |
| 4444 | Poolin · LTC | TCP+TLS | ปิด | เปิดใช้ |
| 5555 | Luxor · KAS | QUIC | เปิด | เปิดใช้ |
| 6666 | Foundry · BCH | TCP+TLS | ปิด | หยุดชั่วคราว |
จุดเด่นทางเทคนิค
- 1ประเภท push event: CREATED, UPDATED, ENABLED, DISABLED, DELETED
- 2client hot-update listener ท้องถิ่น ไม่ต้อง restart
- 3database + push แบบ atomic รับประกันความสอดคล้อง
- 4การเปลี่ยนแปลงมีผลภายในไม่ถึงหนึ่งวินาที
โปรโตคอลคู่ TCP + QUIC
ปัญหา
การสูญเสียแพ็กเก็ตสูงบนลิงก์ข้ามพรมแดนทำให้ throughput TCP ล่ม แต่บางเครือข่ายบล็อก UDP ทำให้ QUIC ใช้ไม่ได้ ไม่มีโปรโตคอลเดียวเหมาะทุกสภาพแวดล้อม
ทางแก้
HashRelay ฟังทั้ง TCP และ QUIC พร้อมกัน เลือกโปรโตคอลในไฟล์คอนฟิกตามสภาพเครือข่ายจริง ทั้งคู่พร้อม production และสลับได้ทันที
จุดเด่นทางเทคนิค
- 1QUIC: เหมาะเครือข่ายข้ามพรมแดน/อ่อน — latency ต่ำ ทนต่อการสูญเสียแพ็กเก็ต
- 2TCP + TLS cert: ความเข้ากันได้ดีที่สุดสำหรับเครือข่าย datacenter เสถียร
- 3TCP + ChaCha20: เหมาะเครือข่องภายในที่ไม่มี cert และ CPU ระดับต่ำ
- 4ทั้งสองโปรโตคอลทำงานพร้อมกัน client เลือกตามการติดตั้ง
เชื่อมต่อใหม่อัตโนมัติอัจฉริยะ
ปัญหา
ความผันผวนของเครือข่ายตัดการเชื่อมต่อและบังคับให้ miner หยุด — สูญเสียรายได้จาก hashrate
ทางแก้
client มีการ reconnect ไม่จำกัดในตัว ช่วงเวลาเริ่มต้น 5 วินาที Stratum listener ท้องถิ่นยังทำงานระหว่าง reconnect miner ไม่ถูกขัดจังหวะ
จุดเด่นทางเทคนิค
- 1Heartbeat: ช่วง Ping/Pong 60 วินาที
- 2พลาด heartbeat 3 ครั้งติด (~180 วินาที) จะ reconnect
- 3miner ยังส่ง shares ไปพอร์ตท้องถิ่นระหว่างกู้คืนอุโมงค์
- 4ลดการสูญเสีย hashrate ระหว่างเครือข่องไม่เสถียร
Management API
ปัญหา
การดำเนินการด้วยมือในระดับใหญ่ผิดพลาดง่ายและช้า ทีมต้องการควบคุมคอนฟิก pool, mapping และสถิติแบบ programmatic
ทางแก้
RESTful JSON API เต็มรูปแบบที่ /api/v1/ รองรับ scripting การรวม CI/CD pipeline และระบบอัตomation ของบุคคลที่สามเพื่อจัดการทรัพยากร HashRelay ทั้งหมด
จุดเด่นทางเทคนิค
- 1จัดการ pool: การดำเนินการ CRUD
- 2จัดการ port mapping พร้อมสถานะ live
- 3จัดการ client node และสร้าง token
- 4endpoint สถิติและเหตุการณ์แจ้งเตือน
ประสิทธิภาพและความเสถียรด้วย Rust
ปัญหา
Mining relay ทำงานร้อน 24/7 ด้วย concurrency สูง ภาษาสคริปต์และ stack ผสมทำให้ GC pause รั่วหน่วยความจำ jitter — ยอมรับไม่ได้ระดับล้านเครื่อง
ทางแก้
เส้นทางหลัก HashRelay เขียนด้วย Rust ตั้งแต่ต้น — ปลอดภัยด้านหน่วยความจำ zero-cost abstraction pipeline zero-copy ส่งต่อได้มั่นคงด้วย CPU น้อย
จุดเด่นทางเทคนิค
- 1Rust full stack: relay สถิติ admin รันไทม์เดียวกัน
- 2Zero-copy: เก็บ byte ใน kernel เมื่อเป็นไปได้
- 3ไม่มี GC pause: latency ต่ำภายใต้โหลดต่อเนื่อง
- 4ปลอดภัยด้านหน่วยความจำ: กำจัด bug class ตอน compile
เทเลเมทรีฮาร์ดแวร์และประวัติ
ปัญหา
ปัญหาความร้อนและกำลังไฟเพี้ยนรู้ช้า แต่ละยี่ห้อ format ต่างกัน — ไม่มี trend ข้ามรุ่น
ทางแก้
HashRelay เก็บอุณหภูมิ กำลังไฟ ความเร็วพัดลมเป็นระยะ จัดเก็บรวมศูนย์พร้อมดูย้อนหลังตามช่วงเวลา วิเคราะห์สาเหตุได้ตรงจุด
เทเลเมทรีฮาร์ดแวร์
เก็บแล้วจุดเด่นทางเทคนิค
- 1เก็บอัตโนมัติเป็นระยะ ไม่ต้องเดินตรวจ
- 2เมตริกหลัก: อุณหภูมิ กำลังไฟ RPM พัดลม
- 3เก็บประวัติครบเพื่อเปรียบเทียบ trend
- 4เชื่อมกับแดชบอร์ดและการแจ้งเตือน
เข้าถึงคอนโซลเครื่องขุดระยะไกล
ปัญหา
Web UI เครื่องขุดอยู่ใน LAN เท่านั้น ทีม remote เข้าไม่ได้ — ต้องไปหน้างานหรือ VPN ทีละ rig
ทางแก้
HashRelay tunnel ไปยัง Web UI แต่ละเครื่องผ่านช่องทางเข้ารหัส เปิดหน้าตั้งค่า log วินิจฉัยได้จากที่ไหนก็ได้ — เหมือนอยู่หน้างาน
Worker
1024 ไมเนอร์| สถานะ | Worker | พูล | Hash 5m | Reject |
|---|---|---|---|---|
| ออนไลน์ | farm-a-01 | F2PoolBTC | 118.2 TH | 0.08% |
| ออนไลน์ | farm-a-02 | F2PoolBTC | 117.9 TH | 0.11% |
| ออนไลน์ | farm-b-07 | AntPoolBTC | 96.4 TH | 0.22% |
| ออฟไลน์ | farm-b-12 | AntPoolBTC | — | — |
| ออนไลน์ | rack-c-03 | PoolinLTC | 8.6 GH | 0.05% |
| ออนไลน์ | rack-c-09 | LuxorKAS | 12.1 TH | 0.14% |
จุดเด่นทางเทคนิค
- 1เครื่องขุดไม่ต้องมี IP สาธารณะ
- 2tunnel เข้ารหัสตรงไป Web UI
- 3แก้ปัญหาได้ทุกที่ทุกเวลา
- 4ควบคุมการเข้าถึงผ่านแพลตฟอร์ม relay
วอลล์มอนิเตอร์ปฏิบัติการรวมศูนย์
ปัญหา
ฟาร์มหลายยี่ห้อ = N แอปมอนิเตอร์ hashrate ฮาร์ดแวร์ แจ้งเตือนกระจายหลายจอ ประสิทธิภาพ ops ลดลง
ทางแก้
วอลล์ปฏิบัติการ HashRelay รวม hashrate, uptime, reject และเทเลเมทรีฮาร์ดแวร์ ความผิดปกติไฮไลต์และแจ้งเตือนอัตโนมัติ — แพลตฟอร์มเดียวแทน N เครื่องมือยี่ห้อ
- Worker farm-a-12 ออฟไลน์ > 5m00:42
- reject พุ่งที่ :333301:18
- โหนดไคลเอนต์ edge-03 กำลังเชื่อมต่อใหม่02:05
จุดเด่นทางเทคนิค
- 1KPI ทั้งฟาร์มบนจอเดียว
- 2ไฮไลต์และแจ้งเตือนอัตโนมัติเมื่อผิดปกติ
- 3มุมมองมอนิเตอร์รวมข้ามยี่ห้อ
- 4พร้อมสำหรับจอใหญ่ในห้องควบคุม