B2POOL verbinde…

Baue deine eigenen Blöcke.

Auf diesem Weg richtest du keinen Miner auf uns. Du betreibst einen Bitcoin-Knots-Knoten und ein DATUM-Gateway auf einer eigenen Maschine; dein Knoten entscheidet, welche Transaktionen in den Block kommen, und der Pool beantwortet nur eine Frage — wer wie viel bekommt. So wäre es uns am liebsten, und es ist der Weg, der noch zahlt, wenn Bitcoin Knots für Blöcke, die der Miner nicht gebaut hat, nichts mehr zahlt.

Poolgebühr
1 %
dasselbe auf einfachem Stratum
Gateway-Port
28915
alle vier Regionen
Prime ID
4243
wie Explorer dich nennen
Kleinste Auszahlung
10.000 sat
darunter wird vorgetragen
Platte für den Knoten
~40 GB
beschnitten, nicht die ganze Kette
Das zuerst lesen Dein Knoten muss Bitcoin Knots 29.4.2 oder neuer sein. Ein älterer Bau kennt die Regel zur langen Coinbase-Reifung nicht und setzt bereitwillig einen zu früh ausgegebenen Coinbase in eine Vorlage — und jeder Block, der auf dieser Vorlage gebaut wird, wird vom Netz abgelehnt. Du verlierst damit nicht nur deinen eigenen Block; die Runde ist für jeden Miner im Pool verloren. Fünfzehn Blöcke sind so bereits verloren gegangen auf dieser Kette, keiner davon von uns. Es gibt keinen Weg, einen alten Knoten hier sicher zu machen — prüf also vor allem anderen die Fassung.

Warum wir diesen Weg empfehlen.

Nicht weil es schwerer ist. Sondern wegen der Frage, wer die Vorlage baut.

Auf unseren normalen Stratum-Ports bauen wir die Blockvorlage für dich. Das funktioniert, es zahlt genauso, und für einen einzelnen Miner auf dem Schreibtisch ist es die sinnvolle Wahl. Aber es heißt, dass wir die Transaktionen aussuchen und du unserer Auswahl vertraust — samt der Richtlinie, die wir in der Woche gerade fahren. Ein Pool, der jede Vorlage baut, ist ein Pool, auf den man im Zweifel Druck ausüben könnte.

Mit deinem eigenen Gateway gehört die Vorlage dir. Die Relay-Regeln deines Knotens, dein Mempool, deine Gebührenuntergrenze. Wir sehen den Block nie, bevor es ihn gibt, und wir können nicht zensieren, was wir nicht bauen. Der Pool steuert nur die Aufteilung bei — die Liste der Adressen und Beträge, die dein Gateway in den Coinbase schreibt. Die Gebühr beträgt 1 %, genau so viel wie einfaches Stratum heute zahlt.

Der ehrliche Preis ist, dass du einen Knoten betreibst. Er will etwa 40 GB, er will angeschaltet bleiben, und die erste Synchronisierung dauert einen bis drei Tage. Danach sorgt er für sich selbst. Wie der Pool zahlt ist auf beiden Wegen dasselbe — direkt aus dem Coinbase des Blocks, kein Guthaben, nichts abzuheben.

Was du vorher brauchst.

Eine Maschine, die anbleibt
Jede 64-Bit-Linux-Kiste (x86-64 oder ARM64), ein Mac oder Windows. Zwei Kerne reichen reichlich. Ein Raspberry Pi 5 mit SSD genügt; eine SD-Karte nicht.
Etwa 40 GB frei
Die Kette, beschnitten. Allein der UTXO-Satz ist heute 11 GB groß und wächst weiter; der Rest ist dein prune-Budget und Luft für die erste Synchronisierung.
8 GB RAM, bequem
4 GB gehen mit kleinerem dbcache. Es zählt ohnehin nur während der ersten Synchronisierung.
Ein bis drei Tage
Für die erste Synchronisierung. Alles andere kannst du währenddessen einrichten, aber das Gateway liefert keine Arbeit, bis der Knoten aufgeholt hat.
Deine BTCB2-Adresse
Eine native SegWit-Adresse (bc1q…) aus einer Geldbörse, die dir gehört. Der Pool schreibt sie direkt in den Block — es gibt hier kein Konto und nichts anzumelden.

Sechs Schritte.

Die Befehle sind für Linux. Auf Mac und Windows unterscheidet sich nur, wie du die zwei Dateien holst.

01Bitcoin Knots installieren

Das ist der Client, der die BLAKE2b-Kette kennt. Hol ihn beim Projekt, prüf die Checksumme, und setz nicht einen Bitcoin-Core-Bau an seine Stelle — Core hat den Fork nicht.

V=29.4.2.knots20260508
cd /tmp
curl -fsSLO https://bitcoinknots.org/files/29.x/$V/bitcoin-$V-x86_64-linux-gnu.tar.gz
curl -fsSLO https://bitcoinknots.org/files/29.x/$V/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
sudo tar -xzf bitcoin-$V-x86_64-linux-gnu.tar.gz -C /opt
sudo ln -sf /opt/bitcoin-$V/bin/bitcoind  /usr/local/bin/bitcoind
sudo ln -sf /opt/bitcoin-$V/bin/bitcoin-cli /usr/local/bin/bitcoin-cli
bitcoind --version | head -1

Auf ARM64 x86_64 gegen aarch64 tauschen. Die letzte Zeile muss 29.4.2 nennen und Knots erwähnen. Wenn sha256sum nicht OK ausgibt: anhalten und die Datei neu holen — ein abgebrochener Download ist die übliche Ursache.

02Den Knoten einrichten

Schreib das nach ~/.bitcoin/bitcoin.conf. Erzeuge das Passwort, statt es sich auszudenken: openssl rand -hex 24.

~/.bitcoin/bitcoin.conf

server=1
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
rpcuser=datum
rpcpassword=PASTE_THE_RANDOM_HEX_HERE

prune=10000
dbcache=2048

blockreservedweight=32000
blocknotify=curl -fsS -o /dev/null http://127.0.0.1:7152/NOTIFY

blockreservedweight=32000 ist die Einstellung, die sonst niemand dokumentiert, und sie weglassen kostet still deine Mitminer Geld. Darum: Der Pool gibt deinem Gateway eine Liste von Auszahlungsausgängen — zuletzt 160 bis 250 davon. Die müssen in den Coinbase passen, und der einzige Platz, den eine Vorlage für den Coinbase lässt, ist diese Reserve. Die Vorgabe sind 8.000 Gewichtseinheiten: etwa 40 Ausgänge. Alles darüber fällt einfach weg, sein Wert geht an die Adresse des Pools, und es muss hinterher von Hand abgerechnet werden. Wir fahren 32.000 auf allen vier Knoten — im Betrieb gemessen sind das 246 statt 153 Ausgänge — und es geht nichts verloren. Erhöhen, nicht senken.

Manche Pools sagen dir, du sollst stattdessen den ganzen Block mit blockmaxweight=740000 deckeln. Das lässt auch Platz, wirft aber die Transaktionsgebühren weg, die den Rest des Blocks gefüllt hätten. Reservieren ist der günstigere Knopf.

Der Rest ist gewöhnlich. prune=10000 behält 10 GB Blöcke — nichts auf diesem Weg braucht alte Geschichte, und txindex ist hier erst recht verschenkte Platte. blocknotify ist das, was dein Gateway in unter einer Sekunde auf eine neue Spitze umschalten lässt, statt auf seine nächste Abfrage zu warten; es zeigt auf das Gateway, das du im nächsten Schritt installierst. Dann den Knoten starten und synchronisieren lassen:

bitcoind -daemon
bitcoin-cli getblockchaininfo | grep -E 'blocks|headers|verificationprogress'

Wenn verificationprogress die 1 erreicht, bist du fertig. Bis dahin startet das Gateway, liefert aber keine Arbeit — das ist richtig so.

03Das Gateway installieren

Es gibt keinen Übersetzungsschritt. ratum-gateway kommt als eine einzige statisch gebundene Datei von etwa 2,4 MB, ganz ohne Abhängigkeiten.

V=0.1.57
cd /tmp
curl -fsSLO https://github.com/iohzrd/ratum/releases/download/v$V/ratum-gateway-$V-x86_64-linux-musl.tar.gz
curl -fsSLO https://github.com/iohzrd/ratum/releases/download/v$V/ratum-gateway-$V-x86_64-linux-musl.tar.gz.sha256
sha256sum -c ratum-gateway-$V-x86_64-linux-musl.tar.gz.sha256
tar -xzf ratum-gateway-$V-x86_64-linux-musl.tar.gz
sudo install -m0755 ratum-gateway-$V-x86_64-linux-musl/ratum-gateway /usr/local/bin/
ratum-gateway --version

Die Veröffentlichungen tragen außerdem aarch64-linux-musl, x86_64-macos, aarch64-macos und x86_64-windows.zip. Fassung 0.1.57 ist die, die wir derzeit an unserem Pool arbeiten sehen; wenn du die C-Umsetzung lieber magst, liest das CONVOY-DATUM-Gateway genau dieselbe Konfigurationsdatei, und wir nehmen es ebenso an.

04Das Gateway auf B2Pool richten

Eine Datei. Ersetze die zwei markierten Zeilen durch deine Adresse und ein Passwort deiner Wahl; alles andere kann genau so bleiben.

gateway.json

{
  "bitcoind": {
    "rpcurl": "http://127.0.0.1:8332",
    "rpcuser": "datum",
    "rpcpassword": "THE_SAME_HEX_AS_IN_BITCOIN_CONF",
    "work_update_seconds": 40,
    "notify_fallback": true
  },
  "stratum": {
    "listen_addr": "0.0.0.0",
    "listen_port": 23334,
    "vardiff_min": 2048,
    "require_address_username": true
  },
  "mining": {
    "pool_address": "YOUR_OWN_bc1q_ADDRESS",
    "coinbase_tag_secondary": "your-name-here"
  },
  "api": {
    "listen_addr": "127.0.0.1",
    "listen_port": 7152,
    "admin_password": "PICK_SOMETHING"
  },
  "datum": {
    "pool_host": "de.b2pool.io",
    "pool_port": 28915,
    "pool_pubkey": "8ba1f7693d117620b1e5a46828f1cd187efe81114e9cee6a063bfbbe2f1b6cff0fc681d3c1ca7cb19c0e0dbddfbea65d5509e974e7f0000112dd07cba744a716",
    "pool_url": "https://b2pool.io",
    "pool_pass_workers": true,
    "pool_pass_full_users": true,
    "pooled_mining_only": true
  }
}

Nimm den Host mit der niedrigsten Laufzeit zu dir — de, hel, ord oder hkg, alle auf .b2pool.io:28915. Es ist derselbe Pool und dasselbe Buch; nur die Entfernung ist anders. Das Armaturenbrett misst die Laufzeit aus deinem eigenen Browser, falls du unsicher bist.

Der öffentliche Schlüssel verankert die Verbindung. Ein Gateway mit dem falschen bekommt keine Sitzung und liefert keine Arbeit — genau das ist der Zweck: niemand kann sich unbemerkt zwischen dich und den Pool stellen. Trag ihn genau ab. Du kannst das Feld leer lassen und ihn automatisch holen lassen, aber dann vertraust du der ersten Antwort, die kommt. Lass es.

coinbase_tag_secondary ist dein Name im Block. Den primären Tag setzen wir selbst — das ist DATUM-Konvention und der Grund, warum Explorer den Block dem Pool überhaupt zuordnen können — aber die zweite Zeichenkette ist deine, und wir überschreiben sie nie. Sie erscheint auf Block-Explorern neben unserem Namen, und sie ist der Grund, warum deine Blöcke DATUM miners via B2Pool heißen und nicht nur den Pool nennen.

Dann starten:

ratum-gateway -c /etc/ratum/gateway.json

Wenn es läuft, gib ihm eine systemd-Unit, damit es nach einem Neustart wiederkommt. Eine Anmerkung zu pooled_mining_only: auf true stehen deine Miner still, wenn der Pool nicht erreichbar ist. Auf false minen sie weiter, und ein in dieser Zeit gefundener Block zahlt 100 % an deine eigene mining.pool_address statt an die Verteilung. Beides ist vertretbar; das erste ist vorhersehbar, das zweite hört nie auf zu rechnen.

05Die Miner auf das Gateway richten

Deine Geräte reden jetzt mit deiner eigenen Maschine, nicht mit uns. Nimm die Netzadresse des Gateway-Rechners:

stratum+tcp://192.168.1.50:23334
Benutzername
bc1q…deineadresse.rig-01 — deine Auszahlungsadresse, dahinter nach einem Punkt wahlweise ein Arbeitername
Passwort
beliebig, es wird nicht geprüft
Kleinste Difficulty
2.048. Darunter rechnet der Pool nichts an, lass vardiff_min also stehen

Der Teil vor dem ersten Punkt muss eine echte Adresse dieser Kette sein — der Pool rechnet die Arbeit genau dieser Zeichenkette an, und alles andere kommt als BadUsername zurück. Welche Adresse bezahlt wird, entscheiden zwei Gateway-Einstellungen:

Gateway-EinstellungWas der Pool bekommtWer bezahlt wird
pool_pass_full_users: true den eigenen Benutzernamen jedes Miners, unverändert an die eigene Adresse jedes Miners, getrennt
pool_pass_workers: true
pool_pass_full_users: false
deine mining.pool_address, dann einen Punkt und den Arbeiternamen dir — der Arbeitername ist nur eine Beschriftung

Die Konfiguration oben nimmt die erste, damit ein Gateway vor den Maschinen mehrerer Leute stehen kann und jeder an seine eigene Adresse bezahlt wird. Wenn alle Miner dahinter deine sind, ist die zweite ordentlicher.

pool_pass_full_users gewinnt. Ist es an, wird pool_pass_workers ignoriert - beide zu setzen, wie im Beispiel oben, ergibt also die erste Zeile und keine Mischung. Davon haengt auch ab, was die Poolseite ueberhaupt anzeigen kann, denn der Pool sieht immer nur den Benutzernamen, den dein Miner geschickt hat. Ein Miner, der sich mit der nackten Adresse anmeldet und sonst nichts, kommt als eine einzige Kennung an: eine Summe, keine Workerliste, keine Minerzahl. Gib jedem Miner <Adresse>.<ein Name deiner Wahl>, dann erscheinen die Namen. In der zweiten Zeile macht der Gateway das fuer dich - er haengt den eigenen Benutzernamen jedes Miners an deine Adresse und benennt Namenloses nach dessen LAN-IP, du siehst also 192x168x1x50 mit Punkten als x, weil der Punkt der Trenner ist.

06Nachsehen, dass es wirklich läuft

Vier Dinge, in dieser Reihenfolge. Jedes schließt eine andere Fehlerquelle aus.

  1. 01
    Das Gateway hat eine Sitzung

    Im Log steht kurz nach dem Start hello ok. Keine Zeile heißt: Host, Port oder öffentlicher Schlüssel sind falsch.

  2. 02
    Arbeit wird ausgeliefert

    Eine Zeile je neuer Spitze: Updating standard stratum job for block …. Stille hier heißt, der Knoten ist noch nicht fertig synchronisiert.

  3. 03
    Shares werden angenommen

    Die eigene Seite deines Miners zeigt steigende angenommene Shares und keine Ablehnungen.

  4. 04
    Du erscheinst im Pool

    Innerhalb weniger Minuten erscheint deine Adresse auf der Minerseite, und deine eigene Seite /miner/<adresse> füllt sich.

Wenn es nicht läuft.

Die fünf Dinge, die wirklich schiefgehen, und was jedes bedeutet.

Was du siehstWas es bedeutet
gar keine Arbeit wird ausgeliefert Der Knoten ist noch nicht bei der BLAKE2b-Regel oder synchronisiert noch. Solange die Vorlage !blake2b nicht führt, liefert das Gateway absichtlich nichts, statt Arbeit für die falsche Kette auszugeben.
BadUsername Der Benutzername vor dem ersten Punkt ist keine Adresse, die diese Kette annimmt. Prüf ihn mit bitcoin-cli validateaddress <adresse> auf deinem eigenen Knoten. Achte darauf, WELCHER Benutzername gemeint ist: mit pool_pass_full_users: true leitet der Gateway den des jeweiligen Miners weiter, die Abhilfe liegt also im Miner und nicht in datum.pool_username - ein Gateway mit tadelloser eigener Adresse bekommt trotzdem jeden Share abgewiesen, wenn eine Maschine sich als rig-3 anmeldet. Solange das anhaelt, wird nichts angerechnet, so ein Miner laeuft also umsonst. Unsere Seite des Protokolls nennt es umgekehrt: payout address "rig-3" cannot be paid: not a valid address.
NoSplit Dein Gateway hat einen Coinbase geschürft, der nichts von der Verteilung bezahlt hat, die der Pool ihm geschickt hatte. Das deutet auf ein veraltetes oder falsch gebautes Gateway hin, nicht auf einen Fehler von dir — aktualisiere es.
StaleBlock Ein Share kam für eine Spitze, die schon weitergezogen war. Eine Handvoll am Tag ist normal. Ein steter Strom heißt, blocknotify erreicht das Gateway nicht.
Ausgänge fehlen in einem Block blockreservedweight ist zu niedrig, der Coinbase hatte keinen Platz für die ganze Verteilung. Auf 32.000 erhöhen und den Knoten neu starten.

Alles andere bring mit der Logzeile des Gateways in den Discord. Es ist meistens eine einzige Einstellung.

Fragen, die man vorher stellen sollte.

Verdiene ich weniger als Miner auf den normalen Ports?

Nein — gleich viel, für dieselbe Arbeit. Beide Wege werden aus demselben rollenden Fenster der jüngsten Poolarbeit geteilt — achtmal die Netzdifficulty — und beide werden direkt aus dem Coinbase des Blocks bezahlt. Die Gebühr beträgt auf beiden 1 %. Was du hier gewinnst, ist die Vorlage: du wählst die Transaktionen.

Kann das auf der Maschine laufen, neben der mein Miner schon steht?

Ja, und das ist die normale Anordnung. Das Gateway ist winzig; die Platte braucht der Knoten. Jede dauerhaft laufende Maschine im selben Netz genügt, auch ein Raspberry Pi 5 mit einer echten SSD. Keine SD-Karte — der chainstate reibt sie auf.

Muss ich einen Port ins Internet öffnen?

Nein. Dein Gateway baut die Verbindung zum Pool nach außen auf, und deine Miner erreichen es über dein eigenes Netz. Von außen muss nichts erreichbar sein, und der Knoten braucht auch keine eingehenden Verbindungen.

Darf mein Knoten beschnitten sein?

Ja. Vorlagen zu bauen braucht den UTXO-Satz und den Mempool, keine alten Blöcke. Beschnitten ist hier die empfohlene Einrichtung, und wir fahren es selbst so. txindex willst du auch nicht; es kostet Platte und bringt auf diesem Weg nichts.

Was passiert, wenn mein Knoten oder mein Gateway ausfällt?

Deine Miner verdienen nichts, solange es aus ist — genau wie bei jedem anderen Pool — und deine Arbeit, die schon im Auszahlungsfenster liegt, zahlt dir weiter, während sie herausaltert. Es geht nichts verloren und es ist nichts zurückzuholen. Gib deinem Miner einen zweiten Pool-Platz auf unseren normalen Stratum-Port, dann fällt er von selbst darauf zurück.

Sieht der Pool, welche Transaktionen ich aufnehme?

Erst hinterher, wie alle anderen, wenn der Block veröffentlicht ist. Dem Pool wird der Block zum Weiterleiten gegeben; die Wahl, was hineinkommt, bekommt er nie. Genau darum geht es bei dieser Anordnung.

Warum setzt der Pool den primären Coinbase-Tag und nicht ich?

Weil Explorer genau dieses Feld lesen, um einen Block zuzuordnen. Schriebe jedes Gateway seinen eigenen, könnten die Blöcke des Pools nicht als die des Pools gezählt werden. Der zweite Tag ist deiner, wir fassen ihn nie an, und er ist der, der dich im Block ausweist.

Gibt es eine Mindestauszahlung?

10.000 Satoshi. Ein kleinerer Ausgang kostet mehr zum Ausgeben, als er trägt, und wird darum nicht in den Block geschrieben — er wird vorgetragen und mit deinem nächsten Anteil ausgezahlt. Deine Minerseite zeigt beide Zahlen.