Pool 18
Miner T/A
Worker T/A
Pengembang

API Pool

Setiap pool HeroMiners menjawab kumpulan endpoint HTTP baca-saja yang sama. Tidak perlu kunci, akun, atau pendaftaran: minta sebuah URL dan Anda mendapat JSON, dengan Access-Control-Allow-Origin: * sehingga halaman di browser bisa memanggilnya langsung. Gunakan untuk membuat pemantau rig, pemberi tahu pembayaran, dasbor Anda sendiri, atau untuk menarik data pool ke spreadsheet.

Setiap koin punya pool sendiri dengan angka sendiri dan format alamat sendiri, jadi pilih koinnya dulu lalu masukkan alamat untuk koin tersebut. Apa pun yang Anda ketik di sini tidak dikirim ke mana pun selain ke pool itu sendiri, dan hanya saat Anda menekan Jalankan.

URL Dasar
https://alephium.herominers.com

Endpoint

GET /api/stats

Semua yang diketahui pool tentang dirinya saat ini: hashrate pool dan jaringan, miner dan worker yang terhubung, blok terakhir, biaya, port, dan pengaturan pembayaran.

Query
address
Alamat pembayaran. Menambahkan miner tersebut di bawah miner, dan di bawah solo_miner jika ia juga menambang solo. Jika dihilangkan, kedua kunci itu tidak dikirim.

Inilah endpoint untuk memulai. Halaman pool, halaman miner, dan setiap grafik di situs ini dibangun darinya.

Permintaan
curl "https://alephium.herominers.com/api/stats"
Jawaban

Objek dengan pool, network, config, charts, lastblock, payments, dan visitors, yaitu berapa orang yang sedang ada di situs, dalam bentuk { windowMinutes, activeVisitors, activeLookups }. Dihitung ulang sekali per siklus statistik, jadi polling lebih cepat dari itu menghasilkan angka yang sama.

GET /api/live_stats

Payload yang sama dengan /api/stats, tetapi ditahan terbuka hingga siklus statistik berikutnya selesai lalu dijawab. Satu permintaan per pembaruan, bukan polling dengan timer.

Query
address
Sertakan miner dalam payload, seperti pada /api/stats.

Buka satu koneksi dan buka lagi setelah dijawab. Beberapa koneksi terbuka sekaligus dari IP yang sama ditolak dengan 503, jadi jangan membuka banyak sekaligus.

Permintaan
curl "https://alephium.herominers.com/api/live_stats"
Jawaban

Bentuk yang sama dengan /api/stats, kecuali miner dan solo_miner selalu dikirim, kosong jika tidak ada alamat yang diberikan. Permintaan tetap terbuka hingga satu siklus statistik.

GET /api/stats_address

Satu miner: hashrate saat ini dan rata-rata, share valid dan stale share, saldo, jumlah yang dibayarkan, dan angka yang sama per worker.

Query
addresswajib
Alamat pembayaran yang ingin dicari.
Permintaan
curl "https://alephium.herominers.com/api/stats_address"

Masukkan address di atas untuk menjalankan ini. Perintahnya mencantumkannya karena pool menjawab dengan error tanpanya.

Jawaban

Objek dengan stats (total miner), payments, charts, unlocked, dan workers, yaitu array berisi satu entri per worker yang dinamai dengan name. Alamat yang belum pernah menambang di sini dijawab dengan error, bukan miner kosong.

GET /api/get_blocks

Blok yang ditemukan pool dan tidak lagi tertunda: sudah dibayar, atau orphan. status menyebutkan yang mana.

Query
heightwajib
Kembalikan blok di bawah tinggi ini. Berikan angka yang jauh di atas ujung chain untuk halaman terbaru, lalu tinggi terendah yang Anda terima untuk mundur ke halaman sebelumnya.

Alamat penemu disamarkan sebelum keluar dari pool, jadi endpoint ini tidak bisa dipakai untuk mengumpulkan alamat. time dalam detik Unix, reward dalam satuan terkecil koin, dan blok solo membawa score bernilai s0 jika sudah dibayar atau s1 jika orphan.

Permintaan
curl "https://alephium.herominers.com/api/get_blocks?height=9999999999"
Jawaban

Array datar yang berselang-seling antara nilai dan tinggi: [block, height, block, height, ...]. Setiap blok dipisahkan titik dua:

0hash1time2difficulty3shares4score5nonce6status7reward8finder9region10rewardScheme
GET /api/get_payments

Pembayaran yang telah dikirim pool, baik untuk seluruh pool maupun untuk satu alamat.

Query
timewajib
Kembalikan pembayaran sebelum timestamp Unix ini dalam detik. Gunakan waktu saat ini untuk halaman terbaru, lalu timestamp terlama yang Anda terima untuk mundur ke halaman sebelumnya.
address
Batasi ke satu alamat pembayaran. Hilangkan untuk semua pembayaran yang pernah dilakukan pool.
limit
Berapa banyak yang dikembalikan. Dibatasi oleh ukuran halaman pool sendiri, jadi angka yang lebih besar hanya mengembalikan sebanyak itu.
format
Berikan parsed untuk mendapatkan objek { tx, amount, time }, bukan array mentah.
conversions
Bersama address, berikan 1 untuk juga mendapatkan catatan konversi setiap pembayaran di halaman itu yang dikonversi ke koin lain. Jawabannya lalu menjadi { payments, conversions }. Diabaikan bersama format=parsed.
Permintaan
curl "https://alephium.herominers.com/api/get_payments?time=1792758504"
Jawaban

Tanpa format, array datar yang berselang-seling antara nilai dan timestamp, dengan setiap nilai berbentuk txid:amount. Jumlah berupa string dalam satuan terkecil koin dan harus tetap string: mengubahnya menjadi angka akan kehilangan presisi pada chain dengan 18 desimal.

GET /api/get_miners_stats

Sepuluh miner terbesar di pool, ditambah rincian software mining dan wilayah di balik halaman miner.

Permintaan
curl "https://alephium.herominers.com/api/get_miners_stats"
Jawaban

Objek dengan miners, agents, regions, regionHistory, dan statsDisplay. Alamat disamarkan. Jika sebuah panel tidak diaktifkan, array-nya kembali kosong dan statsDisplay menyebutkannya.

GET /api/get_blocks_search_config

Apakah pencarian blok aktif, dan batas yang harus dipenuhi query, sehingga kotak pencarian bisa disiapkan sebelum pencarian pertama.

Permintaan
curl "https://alephium.herominers.com/api/get_blocks_search_config"
Jawaban

{ enabled, minQueryLength, maxQueryLength, frontendCooldownMs }. Panjangnya dalam karakter, dan frontendCooldownMs adalah berapa lama menunggu di antara dua pencarian.

GET /api/get_miner_payout_level

Ambang pembayaran yang saat ini diatur untuk sebuah alamat, dalam koin utuh.

Query
addresswajib
Alamat pembayaran.

Pasangannya, /api/set_miner_payout_level, yang menulisnya, dan tidak terbuka untuk siapa saja: permintaan harus datang dari IP mining alamat itu sendiri. Pemeriksaan itu, beserta batas permintaan di depannya, dijelaskan di tab pengaturan dasbor, bukan di sini.

Permintaan
curl "https://alephium.herominers.com/api/get_miner_payout_level"

Masukkan address di atas untuk menjalankan ini. Perintahnya mencantumkannya karena pool menjawab dengan error tanpanya.

Jawaban

{ status: "done", level }. Alamat yang belum pernah mengaturnya mendapat minimum pool.

GET /api/miner_ban_status

Pemberitahuan blokir yang ditampilkan halaman miner untuk sebuah alamat, dan pesan apa pun yang ditinggalkan operator untuknya.

Query
addresswajib
Alamat pembayaran.
Permintaan
curl "https://alephium.herominers.com/api/miner_ban_status"

Masukkan address di atas untuk menjalankan ini. Perintahnya mencantumkannya karena pool menjawab dengan error tanpanya.

Jawaban

{ banned, minerMessage }, dan jika diblokir juga blockMining, blockPayments, dan reason. Ini pemberitahuan yang ditampilkan halaman miner untuk alamat ini: diblokir dari mining, dari menerima pembayaran, atau tidak keduanya. minerMessage adalah pesan operator untuk alamat ini, dalam bentuk { message, type, createdAt, expiresAt }, atau null jika tidak ada.

Menggunakannya dengan baik

  • Lakukan polling sesuai jadwal pool. Angka dihitung ulang sekali per siklus statistik, dan config.updateInterval dalam jawaban /api/stats menyebutkan lamanya dalam detik. Meminta lebih sering dari itu menghasilkan jawaban yang sama dan memboroskan bandwidth kita berdua.
  • Pilih /api/live_stats daripada timer cepat. Endpoint ini menjawab begitu ada sesuatu yang baru, sehingga lebih cepat untuk Anda dan lebih ringan bagi pool dibanding polling.
  • Simpan jumlah sebagai string. Hadiah dan saldo dikembalikan dalam satuan terkecil koin. Pada chain dengan 18 desimal, bilangan bulat itu melampaui yang bisa disimpan tepat oleh angka JavaScript, jadi mengubahnya menjadi angka akan membulatkan pembayaran tanpa terlihat.
  • Alamat akan disamarkan. Daftar publik menyembunyikan bagian tengah setiap alamat. Alamat lengkap Anda hanya diperlukan oleh Anda sendiri, dan hanya di tempat Anda memasukkannya.
  • Tangani batas permintaan sebagai waktu tunggu, bukan kegagalan. Jika batas berlaku, jawabannya membawa retryMs. Tunggu selama itu lalu coba lagi, jangan terus-menerus membanjiri permintaan.
  • Sebutkan siapa Anda. User-Agent yang menyebutkan nama alat Anda tidak wajib, tetapi dengan itu kami bisa memberi tahu Anda tentang perubahan alih-alih menebak apa yang rusak.