คุณ
นักพัฒนา

API ของพูล

พูลทุกแห่งของ HeroMiners ตอบชุด endpoint HTTP แบบอ่านอย่างเดียวชุดเดียวกัน ไม่ต้องใช้คีย์ ไม่ต้องมีบัญชี และไม่ต้องสมัคร: เรียก URL แล้วคุณจะได้ JSON กลับมา โดยตั้งค่า Access-Control-Allow-Origin: * ไว้ เพื่อให้หน้าเว็บในเบราว์เซอร์เรียกใช้ได้โดยตรง ใช้สร้างระบบเฝ้าดู rig ระบบแจ้งเตือนการจ่ายเงิน แดชบอร์ดของคุณเอง หรือดึงข้อมูลพูลเข้าสเปรดชีต

กรอกที่อยู่ของคุณ แล้วทุกตัวอย่างด้านล่างจะพร้อมรันกับพูลนี้ สิ่งที่คุณพิมพ์ที่นี่จะไม่ถูกส่งไปที่ใดนอกจากตัวพูลเอง และจะส่งเฉพาะเมื่อคุณกดปุ่มรัน

URL หลัก
https://qubitcoin.herominers.com

Endpoint

GET /api/stats

ทุกอย่างที่พูลรู้เกี่ยวกับตัวเองในขณะนี้: แฮชเรทของพูลและเครือข่าย นักขุดและ worker ที่เชื่อมต่ออยู่ บล็อกล่าสุด ค่าธรรมเนียม พอร์ต และการตั้งค่าการจ่ายเงิน

พารามิเตอร์
address
ที่อยู่สำหรับรับการจ่ายเงิน จะเพิ่มนักขุดรายนั้นไว้ใต้ miner และใต้ solo_miner หากขุดแบบ solo ด้วย หากไม่ระบุ จะไม่ส่งทั้งสองคีย์

นี่คือ endpoint ที่ควรเริ่มต้น หน้าพูล หน้านักขุด และกราฟทุกกราฟบนเว็บไซต์นี้สร้างจาก endpoint นี้

คำขอ
curl "https://qubitcoin.herominers.com/api/stats"
คำตอบ

ออบเจ็กต์ที่มี pool, network, config, charts, lastblock, payments และ visitors ซึ่งบอกจำนวนคนที่อยู่บนเว็บไซต์ในขณะนี้ ในรูป { windowMinutes, activeVisitors, activeLookups } คำนวณใหม่หนึ่งครั้งต่อรอบสถิติ การเรียกถี่กว่านั้นจึงได้ตัวเลขเดิม

GET /api/live_stats

ข้อมูลชุดเดียวกับ /api/stats แต่จะค้างการเชื่อมต่อไว้จนกว่ารอบสถิติถัดไปเสร็จแล้วจึงตอบ ใช้หนึ่งคำขอต่อการอัปเดตแทนการเรียกตามตัวจับเวลา

พารามิเตอร์
address
รวมนักขุดไว้ในข้อมูล เช่นเดียวกับ /api/stats

เปิดการเชื่อมต่อหนึ่งรายการ แล้วเปิดใหม่เมื่อได้รับคำตอบ การเปิดหลายรายการพร้อมกันจาก IP เดียวกันจะถูกปฏิเสธด้วย 503 ดังนั้นอย่ากระจายคำขอ

คำขอ
curl "https://qubitcoin.herominers.com/api/live_stats"
คำตอบ

รูปแบบเดียวกับ /api/stats ยกเว้นว่า miner และ solo_miner จะถูกส่งเสมอ โดยเป็นค่าว่างเมื่อไม่ได้ระบุที่อยู่ คำขอจะเปิดค้างไว้ได้นานสูงสุดหนึ่งรอบสถิติ

GET /api/stats_address

นักขุดหนึ่งราย: แฮชเรทปัจจุบันและเฉลี่ย share ที่ถูกต้องและ share ที่ล้าสมัย ยอดคงเหลือ จำนวนที่จ่ายแล้ว และตัวเลขเดียวกันราย worker

พารามิเตอร์
addressจำเป็น
ที่อยู่สำหรับรับการจ่ายเงินที่ต้องการค้นหา
คำขอ
curl "https://qubitcoin.herominers.com/api/stats_address"

กรอก address ด้านบนเพื่อรันคำขอนี้ คำสั่งแสดงค่านี้ไว้เพราะพูลจะตอบเป็นข้อผิดพลาดหากไม่มี

คำตอบ

ออบเจ็กต์ที่มี stats (ยอดรวมของนักขุด), payments, charts, unlocked และ workers ซึ่งเป็นอาร์เรย์ที่มีหนึ่งรายการต่อหนึ่ง worker ระบุด้วย name ของ worker นั้น ที่อยู่ที่ไม่เคยขุดที่นี่จะได้คำตอบเป็นข้อผิดพลาด แทนที่จะเป็นนักขุดว่างเปล่า

GET /api/get_blocks

บล็อกที่พูลพบและไม่อยู่ในสถานะรอดำเนินการแล้ว: จ่ายแล้วหรือเป็นบล็อกกำพร้า status บอกว่าเป็นแบบใด

พารามิเตอร์
heightจำเป็น
คืนบล็อกที่ต่ำกว่าความสูงนี้ ส่งตัวเลขที่สูงกว่าปลายเชนมากๆ เพื่อได้หน้าใหม่สุด แล้วส่งความสูงต่ำสุดที่ได้รับเพื่อย้อนไปหน้าก่อนหน้า
status
ส่ง matured, solo หรือ orphaned เพื่อรับเฉพาะบล็อกประเภทนั้น คำตอบจะกลายเป็น { blocks, next }: blocks อยู่ในรูปแบบเดียวกับเมื่อไม่ส่งค่านี้ และ next คือความสูงที่ต้องส่งเพื่อรับหน้าถัดไป หรือเป็น null เมื่อไม่มีบล็อกที่เก่ากว่าเหลืออยู่ หน้าหนึ่งอาจไม่มีบล็อกเลยแต่ยังมี next ได้
limit
จำนวนบล็อกที่จะคืน สูงสุด 100 จำเป็นเมื่อส่ง status หากไม่ส่ง status จะเว้นไว้ก็ได้ แล้วจะใช้ขนาดหน้าของพูลเอง

ที่อยู่ของผู้พบจะถูกปิดบังบางส่วนก่อนออกจากพูล endpoint นี้จึงใช้เก็บรวบรวมที่อยู่ไม่ได้ time เป็นวินาที Unix reward อยู่ในหน่วยย่อยที่สุดของเหรียญ และบล็อก solo จะมี score เป็น s0 เมื่อจ่ายแล้ว หรือ s1 เมื่อเป็นบล็อกกำพร้า

คำขอ
curl "https://qubitcoin.herominers.com/api/get_blocks?height=9999999999"
คำตอบ

อาร์เรย์แบนที่สลับค่ากับความสูง: [block, height, block, height, ...] แต่ละบล็อกคั่นด้วยเครื่องหมายโคลอน:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

การจ่ายเงินที่พูลส่งไปแล้ว ทั้งของทั้งพูลหรือของที่อยู่เดียว

พารามิเตอร์
timeจำเป็น
คืนการจ่ายเงินก่อนเวลาประทับ Unix นี้ (หน่วยวินาที) ใช้เวลาปัจจุบันเพื่อได้หน้าใหม่สุด แล้วใช้เวลาประทับเก่าสุดที่ได้รับเพื่อย้อนไปหน้าก่อนหน้า
address
จำกัดเฉพาะที่อยู่สำหรับรับการจ่ายเงินเดียว หากไม่ระบุ จะได้ทุกการจ่ายเงินที่พูลเคยทำ
limit
จำนวนที่ต้องการให้คืน สูงสุด 100 หากเว้นไว้จะใช้ขนาดหน้าของพูลเอง
format
ส่ง parsed เพื่อได้ออบเจ็กต์ { tx, amount, time } แทนอาร์เรย์ดิบ
conversions
เมื่อใช้คู่กับ address ให้ส่ง 1 เพื่อรับบันทึกการแปลงของทุกการจ่ายเงินในหน้านั้นที่ถูกแปลงเป็นเหรียญอื่นด้วย คำตอบจะกลายเป็น { payments, conversions } ไม่มีผลเมื่อใช้ format=parsed
คำขอ
curl "https://qubitcoin.herominers.com/api/get_payments?time=1794072114"
คำตอบ

หากไม่มี format จะได้อาร์เรย์แบนที่สลับค่ากับเวลาประทับ โดยแต่ละค่าเป็น txid:amount จำนวนเงินเป็นสตริงในหน่วยย่อยที่สุดของเหรียญและต้องเก็บเป็นสตริงไว้: การแปลงเป็นตัวเลขจะเสียความแม่นยำบนเชนที่มีทศนิยม 18 ตำแหน่ง

GET /api/get_miners_stats

นักขุดสิบรายที่ใหญ่ที่สุดในพูลพร้อมการแยกตามซอฟต์แวร์ขุดและตามภูมิภาคที่อยู่เบื้องหลังหน้านักขุด

คำขอ
curl "https://qubitcoin.herominers.com/api/get_miners_stats"
คำตอบ

ออบเจ็กต์ที่มี miners, agents, regions, regionHistory และ statsDisplay ที่อยู่จะถูกปิดบังบางส่วน เมื่อแผงใดไม่ได้เปิดใช้งาน อาร์เรย์ของแผงนั้นจะว่างเปล่า และ statsDisplay จะบอกไว้

GET /api/get_blocks_search_config

การค้นหาบล็อกเปิดใช้อยู่หรือไม่ และขอบเขตที่คำค้นต้องอยู่ภายใน เพื่อให้ตั้งค่าช่องค้นหาได้ก่อนการค้นหาครั้งแรก

คำขอ
curl "https://qubitcoin.herominers.com/api/get_blocks_search_config"
คำตอบ

{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs } ความยาวนับเป็นตัวอักษร และ frontendCooldownMs คือเวลาที่ต้องรอระหว่างการค้นหาสองครั้ง

GET /api/get_miner_payout_level

เกณฑ์การจ่ายเงินที่ตั้งไว้ในปัจจุบันสำหรับที่อยู่หนึ่ง เป็นจำนวนเหรียญเต็ม

พารามิเตอร์
addressจำเป็น
ที่อยู่สำหรับรับการจ่ายเงิน

/api/set_miner_payout_level ที่คู่กันเป็นตัวเขียนค่านี้ และไม่ได้เปิดให้ทุกคนใช้: คำขอต้องมาจาก IP ที่ใช้ขุดของที่อยู่นั้นเอง การตรวจสอบนี้และการจำกัดอัตราที่อยู่ด้านหน้า อธิบายไว้ในแท็บ “ตั้งค่า” ของแดชบอร์ด ไม่ใช่ที่นี่

คำขอ
curl "https://qubitcoin.herominers.com/api/get_miner_payout_level"

กรอก address ด้านบนเพื่อรันคำขอนี้ คำสั่งแสดงค่านี้ไว้เพราะพูลจะตอบเป็นข้อผิดพลาดหากไม่มี

คำตอบ

{ status: "done", level } ที่อยู่ที่ไม่เคยตั้งค่าจะได้ยอดขั้นต่ำของพูล

GET /api/miner_ban_status

ประกาศการบล็อกที่หน้านักขุดแสดงสำหรับที่อยู่หนึ่ง และข้อความใดๆ ที่ผู้ดูแลทิ้งไว้ให้ที่อยู่นั้น

พารามิเตอร์
addressจำเป็น
ที่อยู่สำหรับรับการจ่ายเงิน
คำขอ
curl "https://qubitcoin.herominers.com/api/miner_ban_status"

กรอก address ด้านบนเพื่อรันคำขอนี้ คำสั่งแสดงค่านี้ไว้เพราะพูลจะตอบเป็นข้อผิดพลาดหากไม่มี

คำตอบ

{ banned, minerMessage } และเมื่อถูกแบนจะมี blockMining, blockPayments และ reason ด้วย นี่คือประกาศที่หน้านักขุดแสดงสำหรับที่อยู่นี้: ถูกบล็อกการขุด ถูกบล็อกการรับเงิน หรือไม่ถูกบล็อกเลย minerMessage คือข้อความของผู้ดูแลถึงที่อยู่นี้ ในรูป { message, type, createdAt, expiresAt } หรือ null เมื่อไม่มี

ใช้งานให้ดี

  • เรียกตามรอบเวลาของพูลเอง ตัวเลขจะถูกคำนวณใหม่หนึ่งครั้งต่อรอบสถิติ และ config.updateInterval ในคำตอบของ /api/stats จะบอกความยาวของรอบนั้นเป็นวินาที การเรียกถี่กว่านั้นจะได้คำตอบเดิม และเปลืองแบนด์วิดท์ของทั้งสองฝ่าย
  • ใช้ /api/live_stats แทนตัวจับเวลาที่ถี่ endpoint นี้ตอบทันทีที่มีข้อมูลใหม่ ซึ่งทั้งเร็วกว่าสำหรับคุณ และเบากว่าสำหรับพูลเมื่อเทียบกับการเรียกซ้ำตามเวลา
  • เก็บจำนวนเงินเป็นสตริง รางวัลและยอดคงเหลือส่งกลับมาในหน่วยย่อยที่สุดของเหรียญ บนเชนที่มีทศนิยม 18 ตำแหน่ง จำนวนเต็มเหล่านี้เกินกว่าที่ตัวเลข JavaScript จะเก็บได้อย่างแม่นยำ การแปลงเป็นตัวเลขจึงปัดเศษยอดจ่ายโดยไม่มีการแจ้ง
  • ที่อยู่จะถูกปิดบังบางส่วน รายการสาธารณะซ่อนส่วนกลางของทุกที่อยู่ ที่อยู่เต็มของคุณมีเพียงคุณที่ต้องใช้ และใช้เฉพาะในที่ที่คุณกรอกเอง
  • รับมือกับการจำกัดอัตราด้วยการรอ ไม่ใช่ถือเป็นความล้มเหลว เมื่อมีการจำกัด คำตอบจะมี retryMs รอตามเวลานั้นแล้วลองใหม่ แทนที่จะเรียกซ้ำไม่หยุด
  • บอกว่าคุณคือใคร User-Agent ที่ระบุชื่อเครื่องมือของคุณไม่ใช่สิ่งบังคับ แต่ทำให้เราแจ้งคุณเรื่องการเปลี่ยนแปลงได้ แทนที่จะต้องเดาว่าอะไรเสีย