B2POOL verbinde…

Eine Adresse, alles.

Eine öffentliche, nur lesende API für alle, die diesen Pool listen, darstellen oder vergleichen. Kein Schlüssel, keine Registrierung, keine Herkunftsbeschränkung. Die Form ist die von Miningcore, weil jeder Pool-Scraper dafür schon einen Parser hat — wer einmal einen Miningcore-Adapter geschrieben hat, braucht hier nichts ausser dem Hostnamen.

https://b2pool.io/api/v1/public

JSON · 60 s zwischengespeichert · 5 Anfragen/s je Adresse, Spitze 20 · antwortet mit 429, wenn du darüber gehst

Wenn du ein Tracker bist, ist das die ganze Anbindung

Ein Aufruf, serverseitig, höchstens einmal pro Minute. Er liefert beide Pools — gemeinschaftlich und solo — mit allem, was eine Auflistung oder eine Ertragsseite braucht.

FeldWas es ist
poolStats.poolHashratePool-Hashrate in H/s.
networkStats.networkHashrateNetz-Hashrate, dieselbe Einheit. Das Verhältnis der beiden ist der echte Anteil des Pools — dazwischen ist kein Umrechnungsfaktor anzuwenden.
networkStats.networkDifficultyNetzschwierigkeit, dieselbe Definition wie bei der SHA-256-Kette.
poolStats.connectedMinersVerschiedene Auszahlungsadressen, die gerade minen. connectedWorkers zählt Maschinen.
poolFeePercent1,0, auf beiden Pools.
blockRewardDie nominale Subvention auf der aktuellen Höhe, in BTCB2.
avgBlockRewardWas Miner tatsächlich bekommen haben, gemittelt über die bestätigten Blöcke dieses Pools — bei einem noch reifenden Block ist die Aufteilung nicht gebucht, ihn mitzumitteln würde die Zahl überhöhen. Nimm dieses Feld für die Ertragsrechnung: siehe den Hinweis unten, es ist nicht dasselbe wie blockReward. Null, bis der Pool einen bestätigten Block hat — deshalb meldet der Solo-Pool heute null.
blockTime600 Sekunden. Dasselbe Ziel wie Bitcoin.
paymentProcessingModell, Mindestauszahlung und was eine Auszahlung auslöst.
totalBlocksGefundene Blöcke, daneben blocksLast24h, lastPoolBlockTime und lastPoolBlockHeight.
poolEffortGeleistete Arbeit der laufenden Runde ÷ Netzschwierigkeit. Über 1 ist kein Fehler — es heisst, die Runde hatte bisher Pech.
portsJeder Port mit seiner Startschwierigkeit, Untergrenze und seinem Protokoll. Ein Miner kann den Startwert mit d=<zahl> im Stratum-Passwortfeld überschreiben; der Pool rundet auf die nächste Zweierpotenz und geht nie unter die Untergrenze des Ports.
Das zuerst lesen Im Gemeinschaftspool wird nur die Blocksubvention unter den Minern aufgeteilt. Die Transaktionsgebühren im Block bleiben beim Pool, und die 1 % Gebühr wird von der Subvention genommen. Die Coinbase-Summe ist also nicht was ein Miner verdient: avgBlockReward ist es. Im Solo-Pool nimmt der Finder tatsächlich den ganzen Coinbase, Subvention und Gebühren, abzüglich 1 % — deshalb melden die beiden Pools im selben Feld verschiedene Zahlen. Jedes Pool-Objekt sagt das in sharedRevenue und blockRewardNote , damit du es dir nicht merken musst.

Endpunkte

Alles unter https://b2pool.io. Die Pool-Kennungen sind btcb2 (gemeinschaftlich) und btcb2-solo.

PfadLiefert
/api/v1/publicBeide Pools, dazu eine Übersicht aller Endpunkte. Fang hier an.
/api/v1/public/poolsNur die Poolliste: {"pools":[…]}.
/api/v1/public/pools/{id}Ein Pool: {"pool":{…}}.
/api/v1/public/pools/{id}/blocksGefundene Blöcke, neueste zuerst. ?page= 0–50, ?pageSize= 1–100. poolFee und minerReward sind null, solange ein Block reift — die Aufteilung wird erst mit der Bestätigung gebucht, und ein Platzhalter dort wäre eine falsche Zahl, als Tatsache ausgegeben. subsidy, transactionFees und reward sind Kettenfakten und immer vorhanden.
/api/v1/public/pools/{id}/paymentsAuszahlungstransaktionen, neueste zuerst. Beim Solo-Pool leer, weil er im Coinbase seines eigenen Blocks zahlt.
/api/v1/public/pools/{id}/performanceStündliche Hashrate, Miner und Worker. ?hours= 1–336.
/api/v1/public/networkKettenfakten: Höhe, Schwierigkeit, Hashrate, Subvention, nächste Halbierung, Coinbase-Reife.
/api/poolsAlias für /api/v1/public/pools, auf dem Pfad, den ein Miningcore-Client von sich aus anfragt. /api/pools/{id} und seine Unterpfade funktionieren genauso.

Jede Antwort ist JSON mit Access-Control-Allow-Origin: *, ein Browser kann sie also direkt lesen. Zeiten sind ISO 8601 in UTC. Beträge sind BTCB2 mit 8 Nachkommastellen, ausser wo ein Feldname auf Sats endet. Hashraten sind durchweg H/s — Pool wie Netz.

Ausprobieren

Nichts zu installieren, nichts anzumelden.

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
}'

Die Kette ist jung, ein Tracker hat für Subvention oder Schwierigkeit also womöglich keine andere Quelle. /api/v1/public/network führt beides getrennt von allem, was diesen Pool betrifft, und darf gern so genutzt werden.

Grenzen, und was hier nicht drinsteht

Ratenbegrenzung
5 / sJe Adresse, Spitze 20. Darüber bekommst du 429, nicht 503 — wir sind nicht ausgefallen, du bist nur zu früh. Antworten sind 60 Sekunden zwischengespeichert, häufiger abzufragen bringt also nichts.
Anmeldung
KeineNur lesend, kein Schlüssel, kein Kontingent zu beantragen. Wer für eine ernsthafte Anbindung eine höhere Grenze braucht, fragt.
Stabilität
Nur ergänzendFelder kommen hinzu, werden nicht umbenannt oder entfernt. Der Pfad führt v1; eine brechende Änderung käme als v2 daneben.
Nicht enthalten
Aufschlüsselung je MinerZahlungen werden je Transaktion zusammengefasst, nicht je Adresse, und eine Aufteilung nach Region gibt es nicht. Beides braucht man nicht, um einen Pool zu listen, und die Zahlungsdetails stehen ohnehin in der Kette, für jeden, der sie will.

Etwas stimmt in den Zahlen nicht, oder du brauchst ein Feld, das hier fehlt? Der Pool ist klein genug, dass Fragen funktioniert. Die Protokollnotizen decken die Mining-Seite ab, und was diese Kette ist den Rest.

Häufige Fragen

Braucht die B2Pool-API einen Schlüssel?

Nein. Jeder Endpunkt unter /api/v1/public ist nur lesend und offen, ohne Schlüssel, ohne Registrierung und ohne CORS-Beschränkung. Die Grenze liegt bei 5 Anfragen je Sekunde und Adresse mit einer Spitze von 20; darüber antwortet er mit 429.

Welche Adresse sollte ein Pool-Tracker benutzen?

https://b2pool.io/api/v1/public — ein Aufruf, der beide Pools mit Hashrate, Gebühr, Auszahlmodell, Blockzahlen sowie Schwierigkeit und Subvention der Kette liefert. Clients, die schon Miningcore sprechen, können stattdessen https://b2pool.io/api/pools nehmen, das dieselbe Poolliste auf dem erwarteten Pfad liefert.

Wie hoch ist die Blockbelohnung auf BTCB2?

Die Subvention folgt demselben Plan wie Bitcoin: derzeit 3,125 BTCB2 je Block, Halbierung alle 210.000 Blöcke. Im Gemeinschaftspool wird nur diese Subvention unter den Minern aufgeteilt; die Transaktionsgebühren im Block bleiben beim Pool. Eine Ertragsrechnung sollte deshalb avgBlockReward verwenden — das, was Miner je Block tatsächlich bekommen haben — und nicht den ganzen Coinbase.

Wird BTCB2 mit SHA-256 gemint?

Nein. BTCB2 ist Bitcoin mit BLAKE2b-Arbeitsnachweis, die Hardfork aus BIP-110, wirksam ab Block 961.640. Deshalb sagt das Feld algorithm in der API blake2b. Hashrate für diese Kette wird unter Blake2B gemietet, mancherorts noch als Sia oder SC geführt.