Один адрес — всё.
Публичный API только для чтения — для всех, кто перечисляет, строит графики или сравнивает этот пул. Без ключа, без регистрации, без ограничений по источнику. Форма — миningcore'овская, потому что парсер под неё уже есть у каждого сборщика данных о пулах: если вы когда-то писали адаптер под Miningcore, здесь от вас нужно только имя хоста.
https://b2pool.io/api/v1/public
JSON · кеш 60 с · 5 запросов/с на адрес, всплеск 20 · при превышении отвечает 429
Если вы трекер — вот и вся интеграция
Один вызов, на стороне сервера, не чаще раза в минуту. Он возвращает оба пула — общий и solo — со всем, что нужно списку или странице доходности.
| Поле | Что это |
|---|---|
| poolStats.poolHashrate | Хешрейт пула в H/s. |
| networkStats.networkHashrate | Хешрейт сети, в той же единице. Отношение этих двух и есть настоящая доля пула — никакого коэффициента между ними применять не нужно. |
| networkStats.networkDifficulty | Сложность сети, определение то же, что у цепочки SHA-256. |
| poolStats.connectedMiners | Число различных адресов выплаты, которые сейчас майнят. connectedWorkers считает машины. |
| poolFeePercent | 1,0, на обоих пулах. |
| blockReward | Номинальная субсидия на текущей высоте, в BTCB2. |
| avgBlockReward | Сколько майнеры получили на самом деле, усреднённое по подтверждённым блокам этого пула: у блока, который ещё созревает, разбивка не проведена, и его учёт завысил бы цифру. Для расчёта доходности берите именно это поле — см. примечание ниже, это не то же, что blockReward. Null, пока у пула нет подтверждённого блока, — поэтому solo-пул сегодня отдаёт null. |
| blockTime | 600 секунд. Та же цель, что у Bitcoin. |
| paymentProcessing | Схема, минимальная выплата и то, что её запускает. |
| totalBlocks | Найдено блоков, рядом blocksLast24h, lastPoolBlockTime и lastPoolBlockHeight. |
| poolEffort | Работа, сделанная в текущем раунде ÷ сложность сети. Больше 1 — не ошибка: значит, раунду пока не везёт. |
| ports | Каждый порт с его стартовой сложностью, полом и протоколом. Майнер может переопределить стартовое значение через d=<число> в поле пароля stratum; пул округлит до ближайшей степени двойки и никогда не уйдёт ниже пола порта. |
Точки доступа
Всё под https://b2pool.io. Идентификаторы пулов — btcb2 (общий) и btcb2-solo.
| Путь | Возвращает |
|---|---|
| /api/v1/public | Оба пула плюс карта всех точек. Начните отсюда. |
| /api/v1/public/pools | Только список пулов: {"pools":[…]}. |
| /api/v1/public/pools/{id} | Один пул: {"pool":{…}}. |
| /api/v1/public/pools/{id}/blocks | Найденные блоки, новые первыми. ?page= 0–50, ?pageSize= 1–100. Пока блок созревает, poolFee и minerReward равны null: разбивка не проводится до подтверждения, а заглушка там была бы неверным числом, поданным как факт. subsidy, transactionFees и reward — факты цепочки и присутствуют всегда. |
| /api/v1/public/pools/{id}/payments | Транзакции выплат, новые первыми. Для solo-пула пусто: он платит в coinbase собственного блока. |
| /api/v1/public/pools/{id}/performance | Почасовой хешрейт, майнеры и воркеры. ?hours= 1–336. |
| /api/v1/public/network | Факты цепочки: высота, сложность, хешрейт, субсидия, следующий халвинг, созревание coinbase. |
| /api/pools | Псевдоним для /api/v1/public/pools по тому пути, который клиент Miningcore запрашивает сам. /api/pools/{id} и его подпути работают так же. |
Каждый ответ — JSON с Access-Control-Allow-Origin: *, так что браузер может читать его напрямую. Время — ISO 8601 в UTC. Суммы — BTCB2 с 8 знаками, кроме полей, имя которых оканчивается на Sats. Хешрейты везде в H/s — и у пула, и у сети.
Попробовать
Ничего не нужно ставить и никуда не нужно записываться.
curl -s https://b2pool.io/api/v1/public | jq '.pools[0] | {
hashrate: .poolStats.poolHashrate,
miners: .poolStats.connectedMiners,
fee: .poolFeePercent,
scheme: .paymentProcessing.payoutScheme,
reward: .avgBlockReward,
network: .networkStats.networkHashrate
}'
Цепочка молодая, и у трекера может не быть другого источника субсидии или сложности. /api/v1/public/network отдаёт их отдельно от всего, что касается этого пула, и пользоваться так вполне можно.
Ограничения и то, чего здесь нет
- Ограничение частоты
- 5 / сНа адрес, всплеск 20. Сверх того вы получите 429, а не 503: мы не лежим, вы просто рано. Ответы кешируются на 60 секунд, так что опрашивать чаще незачем.
- Аутентификация
- НетТолько чтение, без ключа, без квоты, которую надо запрашивать. Если для честной интеграции нужен лимит повыше — попросите.
- Стабильность
- Только добавленияПоля добавляются, а не переименовываются и не удаляются. В пути стоит v1; ломающее изменение появилось бы рядом как v2.
- Не включено
- Детализация по майнерамВыплаты агрегируются по транзакции, а не по адресу, и разбивки по регионам нет. Ни то, ни другое не нужно, чтобы перечислить пул, а детали платежей и так лежат в цепочке для всех желающих.
Нашли ошибку в числах или нужно поле, которого здесь нет? Пул достаточно мал, чтобы вопрос работал. Заметки по протоколу покрывают сторону майнинга, а что это за цепочка — всё остальное.
Частые вопросы
Нужен ли ключ для API B2Pool?
Нет. Каждая точка под /api/v1/public открыта и работает только на чтение — без ключа, без регистрации и без ограничений CORS. Лимит — 5 запросов в секунду на адрес со всплеском 20; при превышении отвечает 429.
Какой адрес использовать трекеру пулов?
https://b2pool.io/api/v1/public — один вызов возвращает оба пула с хешрейтом, комиссией, схемой выплат, числом блоков, а также сложностью и субсидией цепочки. Клиенты, которые уже говорят на Miningcore, могут вместо этого использовать https://b2pool.io/api/pools: тот же список пулов по привычному им пути.
Какова награда за блок на BTCB2?
Субсидия идёт по тому же графику, что у Bitcoin: сейчас 3,125 BTCB2 за блок, халвинг каждые 210 000 блоков. На общем пуле между майнерами делится только эта субсидия; комиссии транзакций в блоке остаются пулу. Поэтому расчёт доходности должен опираться на avgBlockReward — то, что майнеры реально получили за блок, — а не на весь coinbase.
Майнится ли BTCB2 через SHA-256?
Нет. BTCB2 — это Bitcoin с доказательством работы BLAKE2b, хардфорк из BIP-110, вступивший в силу на блоке 961 640. Поэтому поле algorithm в API отдаёт blake2b. Хешрейт для этой цепочки арендуют под Blake2B, иногда он всё ещё значится как Sia или SC.