أنت
للمطوّرين

واجهة API للمجمع

يجيب كل مجمع من مجمعات HeroMiners على المجموعة نفسها من نقاط نهاية HTTP المخصصة للقراءة فقط. لا يوجد مفتاح ولا حساب ولا تسجيل: اطلب عنوان URL وستحصل على JSON، مع ضبط Access-Control-Allow-Origin: * حتى تتمكن صفحة في المتصفح من استدعائه مباشرة. استخدمه لبناء أداة لمراقبة جهاز التعدين، أو منبّه للدفعات، أو لوحة تحكم خاصة بك، أو لجلب بيانات المجمع إلى جدول بيانات.

أدخل عنوانك وسيصبح كل مثال أدناه جاهزًا للتشغيل على هذا المجمع. لا يُرسَل أي شيء تكتبه هنا إلى أي جهة سوى المجمع نفسه، ولا يُرسَل إلا عند الضغط على تشغيل.

عنوان URL الأساسي
https://quantus.herominers.com

نقاط النهاية

GET /api/stats

كل ما يعرفه المجمع عن نفسه الآن: معدل تجزئة المجمع ومعدل تجزئة الشبكة، والمعدِّنون والعمّال المتصلون، وآخر كتلة، والرسوم، والمنافذ، وإعدادات الدفع.

معامل الاستعلام
address
عنوان دفع. يضيف ذلك المعدِّن تحت miner، وتحت solo_miner إن كان يعدّن فرديًا أيضًا. إن حذفته فلن يُرسَل أي من المفتاحين.

هذه هي نقطة النهاية التي تبدأ منها. صفحة المجمع وصفحة المعدِّنين وكل رسم بياني على هذا الموقع مبنية عليها.

الطلب
curl "https://quantus.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://quantus.herominers.com/api/live_stats"
الإجابة

الشكل نفسه الذي تعيده /api/stats، إلا أن miner وsolo_miner يُرسَلان دائمًا، فارغين عند عدم تحديد عنوان. يبقى الطلب مفتوحًا لمدة تصل إلى دورة إحصاءات واحدة.

GET /api/stats_address

معدِّن واحد: معدل التجزئة الحالي والمتوسط، والحصص الصالحة والمتأخرة، والرصيد، والمبلغ المدفوع، والأرقام نفسها لكل عامل.

معامل الاستعلام
addressمطلوب
عنوان الدفع المراد البحث عنه.
الطلب
curl "https://quantus.herominers.com/api/stats_address"

أدخل address أعلاه لتشغيل هذا الطلب. يظهر في الأمر لأن المجمع يجيب بخطأ بدونه.

الإجابة

كائن يحتوي على stats (إجماليات المعدِّن) وpayments وcharts وunlocked وworkers، وهي مصفوفة فيها عنصر لكل عامل يُعرَّف بـname. العنوان الذي لم يعدّن هنا قط يُجاب بخطأ بدلًا من معدِّن فارغ.

GET /api/get_blocks

الكتل التي عثر عليها المجمع ولم تعد معلّقة: دُفعت أو أصبحت يتيمة. يوضح status أيهما.

معامل الاستعلام
heightمطلوب
إعادة الكتل التي تقع تحت هذا الارتفاع. مرّر رقمًا أعلى بكثير من قمة السلسلة للحصول على أحدث صفحة، ثم أدنى ارتفاع تلقيته للرجوع إلى الصفحات السابقة.

يُخفى جزء من عنوان من عثر على الكتلة قبل أن يغادر المجمع، لذا لا يمكن استخدام نقطة النهاية هذه لجمع العناوين. time بثواني Unix، وreward بأصغر وحدة للعملة، وتحمل الكتلة الفردية score بقيمة s0 عندما تكون قد دُفعت أو s1 عندما تكون قد أصبحت يتيمة.

الطلب
curl "https://quantus.herominers.com/api/get_blocks?height=9999999999"
الإجابة

مصفوفة مسطّحة تتناوب فيها القيمة والارتفاع: [block, height, block, height, ...]. حقول كل كتلة مفصولة بنقطتين رأسيتين:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

الدفعات التي أرسلها المجمع، إما على مستوى المجمع كله أو لعنوان واحد.

معامل الاستعلام
timeمطلوب
إعادة الدفعات السابقة لهذا الطابع الزمني بثواني Unix. استخدم الوقت الحالي للحصول على أحدث صفحة، ثم أقدم طابع زمني تلقيته للرجوع إلى الصفحات السابقة.
address
حصر النتائج في عنوان دفع واحد. احذفه للحصول على كل دفعة أجراها المجمع.
limit
عدد النتائج المطلوب إعادتها. يُقيَّد بحجم الصفحة الخاص بالمجمع، لذا فإن الرقم الأكبر يعيد ذلك الحجم ببساطة.
format
مرّر parsed للحصول على كائنات { tx, amount, time } بدلًا من المصفوفة الخام.
conversions
مع address، مرّر 1 للحصول أيضًا على سجل التحويل لكل دفعة في الصفحة جرى تحويلها إلى عملة أخرى. تصبح الإجابة عندئذ { payments, conversions }. يُتجاهل مع format=parsed.
الطلب
curl "https://quantus.herominers.com/api/get_payments?time=1792922073"
الإجابة

بدون format، مصفوفة مسطّحة تتناوب فيها القيمة والطابع الزمني، وكل قيمة بالشكل txid:amount. المبالغ نصوص بأصغر وحدة للعملة ويجب أن تبقى نصوصًا: تحويل أحدها إلى رقم يفقد الدقة على سلسلة ذات 18 منزلة عشرية.

GET /api/get_miners_stats

أكبر عشرة معدِّنين في المجمع، إضافة إلى توزيع برامج التعدين والمناطق الذي تعرضه صفحة المعدِّنين.

الطلب
curl "https://quantus.herominers.com/api/get_miners_stats"
الإجابة

كائن يحتوي على miners وagents وregions وregionHistory وstatsDisplay. العناوين مخفية جزئيًا. عندما لا تكون لوحة ما مفعّلة تعود مصفوفتها فارغة ويوضح statsDisplay ذلك.

GET /api/get_blocks_search_config

هل البحث في الكتل مفعّل، والحدود التي يجب أن يلتزم بها الاستعلام، حتى يمكن تجهيز مربع البحث قبل أول بحث.

الطلب
curl "https://quantus.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://quantus.herominers.com/api/get_miner_payout_level"

أدخل address أعلاه لتشغيل هذا الطلب. يظهر في الأمر لأن المجمع يجيب بخطأ بدونه.

الإجابة

{ status: "done", level }. العنوان الذي لم يضبط حدًا قط يحصل على الحد الأدنى للمجمع.

GET /api/miner_ban_status

إشعار الحظر الذي تعرضه صفحة المعدِّن لعنوان ما، وأي رسالة تركها المشغّل له.

معامل الاستعلام
addressمطلوب
عنوان الدفع.
الطلب
curl "https://quantus.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 على مؤقّت سريع. تجيب لحظة وجود شيء جديد، وهذا أسرع لك وأخف على المجمع من الاستعلام المتكرر.
  • احتفظ بالمبالغ كنصوص. تعود المكافآت والأرصدة بأصغر وحدة للعملة. على سلسلة ذات 18 منزلة عشرية تتجاوز هذه الأعداد الصحيحة ما يستطيع رقم JavaScript حمله بدقة، لذا فإن تحويل أحدها إلى رقم يقرّب الدفعة دون أن تلاحظ.
  • توقّع أن تكون العناوين مخفية جزئيًا. تخفي القوائم العامة منتصف كل عنوان. عنوانك الكامل لا يحتاجه أحد سواك، ولا يُستخدم إلا حيث تقدّمه أنت.
  • تعامل مع حد المعدل كانتظار لا كفشل. حيث يُطبَّق حد ما تحمل الإجابة retryMs. انتظر تلك المدة ثم أعد المحاولة بدلًا من إغراق المجمع بالطلبات.
  • عرّف بنفسك. ترويسة User-Agent تحمل اسم أداتك ليست مطلوبة، لكنها تتيح لنا إبلاغك بأي تغيير بدلًا من تخمين ما الذي تعطّل.