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.
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.
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.
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.
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.
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
Cari blok pool berdasarkan tinggi, hash blok, atau alamat penemu, di blok tertunda dan blok yang sudah dibayar sekaligus.
Query
qwajib
Tinggi, hash blok, atau alamat.
offset
Lewati sebanyak ini hasil. Jawabannya membawa hasMore sehingga Anda tahu apakah perlu meminta lagi.
Pencarian dibatasi per IP, dan melewati batas itu mengembalikan rateLimited dengan waktu tunggu tepat di retryMs, bukan sekadar error. Panggil /api/get_blocks_search_config terlebih dahulu untuk mengetahui batas panjang dan apakah pencarian aktif sama sekali.
Masukkan q di atas untuk menjalankan ini. Perintahnya mencantumkannya karena pool menjawab dengan error tanpanya.
Jawaban
Objek dengan pending dan matured, keduanya berselang-seling antara nilai dan tinggi seperti /api/get_blocks, ditambah totalMatched, offset, limit, dan hasMore. Blok matured memakai format /api/get_blocks; blok pending masih menunggu matang dan memakai format tertunda yang lebih panjang, jadi urutan kolomnya berbeda.
GET/api/get_blocks_search_config
Apakah pencarian blok aktif, dan batas yang harus dipenuhi query, sehingga kotak pencarian bisa disiapkan sebelum pencarian pertama.
{ 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.
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.