Wie kann ich Bitcoin im Pruning-Modus ausführen?

Ich habe diesen Kommentar gelesen :

Sie könnten in Betracht ziehen, einen Pruning-Knoten auszuführen, der praktisch mit einem vollständigen Knoten (einschließlich Sicherheit) identisch ist, außer dass er einen Teil der alten Historie verwirft. Version 0.11 wird dies ermöglichen

Aber ich kann keine Details finden, wie man bitcoindim Pruning-Modus läuft. Fragen auf dieser Seite scheinen nicht aktuell genug zu sein, um Antworten zu liefern, und ich sehe auch keinen Pruning-Modus in den Bitcoin-Parametern .

Irgendwelche Erkenntnisse dazu?

Wie der Kommentar sagte, ist diese Funktion in Bitcoin noch nicht verfügbar.
Ahhh, ich verstehe, ich wusste nicht, dass 0.11 eine zukünftige Version ist. Danke fürs klarstellen!

Antworten (3)

Durch Setzen der Option -prune.

-prune= Reduzieren Sie die Speicheranforderungen, indem Sie das Pruning (Löschen) alter Blöcke aktivieren. Dadurch kann der pruneblockchain-RPC aufgerufen werden, um bestimmte Blöcke zu löschen, und das automatische Pruning alter Blöcke wird aktiviert, wenn eine Zielgröße in MiB angegeben wird. Dieser Modus ist mit -txindex und -rescan nicht kompatibel. Warnung: Das Zurücksetzen dieser Einstellung erfordert das erneute Herunterladen der gesamten Blockchain. (Standard: 0 = Pruning-Blöcke deaktivieren, 1 = manuelles Pruning über RPC zulassen, 550 = Blockdateien automatisch bereinigen, um unter der angegebenen Zielgröße in MiB zu bleiben)

Die Funktion wurde ursprünglich in Bitcoin Core 0.11 eingeführt (siehe Versionshinweise ).

Ab Version 0.12 kann Pruning verwendet werden, während eine Brieftasche ausgeführt wird. Beachten Sie jedoch die Vorbehalte -txindex und -rescan.

Beachten Sie auch, dass die angegebene MiB nur die Blockdateien und etwas Undo-Speicherplatz enthält. Außerdem benötigen Sie auch etwas Speicherplatz für die Kettenstatus- und Blockindexdatenbanken.

Das Argument für das Pruning ist, wie viel Speicherplatz für Blöcke verwendet und die damit verbundenen Daten rückgängig gemacht werden sollen. Sie umfasst nicht und gilt nicht für die Kettenzustands- oder Blockindexdatenbanken. Erhöhen Sie die Anzahl nicht, um sie zu berücksichtigen.
@PieterWuille Deshalb habe ich die Nummer für ihn verringert . In einer anderen Frage erwähnte er, dass er 35 GB Speicherplatz hatte. :) Aber danke für die Ergänzung, du hast Recht, dass meine Antwort etwas zweideutig war.
Nun, wenn es die Wallet-Funktionalität deaktiviert, was würde jemand mit diesem Knoten machen? Nur Bergbau? Wenn ja, was wäre im Falle eines erfolgreichen Minings das Ziel der generierten Bitcoin-Belohnung?
@HenriqueBarcelos Die kommende Version WIRD es ermöglichen, eine Brieftasche auf einem Pruning-Knoten auszuführen. Die aktuelle Version war nur ein Sprungbrett. Als Nebeneffekt stellte es sicher, dass niemand aufgrund eines Fehlers Geld verlieren konnte, da es überhaupt keine Brieftasche gab. Es gibt Verwendungsmöglichkeiten für (Pruning) Full Nodes ohne Wallet. Sie können es zum Beispiel als eine Art "Firewall" zwischen einer internen Anwendung verwenden, die Sie selbst schreiben, die Sie aber nicht direkt mit dem Internet oder möglicherweise schädlichem P2P-Verkehr verbinden möchten. Oder um Ihre Android-Brieftasche damit zu verbinden, sodass Sie eine vollständige Validierung durchführen, nur nicht auf dem Telefon selbst.
0.12.0 aktiviert Wallet-Unterstützung, vielleicht möchten Sie diese Antwort aktualisieren. :)
Diese Antwort muss aktualisiert werden. Durch das Pruning wird die Wallet-Unterstützung nicht mehr deaktiviert und %u muss gemäß der aktuellen Parameterbeschreibung mindestens ein Mindestwert sein

Weitere Details finden sich in den Release Notes .

Um die Blockbereinigung zu aktivieren, legen Sie dies prune=<N>in der Befehlszeile oder in fest bitcoin.conf, wobei N die Anzahl der MiB ist, die für rohe Block- und Undo-Daten zugewiesen werden sollen.

Ein Wert von 0 deaktiviert die Bereinigung. Der minimale Wert über 0 ist 550.

Wobei 550 die Größe in MB ist, die der Knoten in Ihrem System belegen soll.

Die bitcoin.confbefindet sich im Bitcoin-Datenverzeichnis , Sie können dort eine Textdatei mit dem Namen erstellen, falls noch keine bitcoin.confvorhanden ist.

bitcoin.conf existiert nicht ...
@user42169: „Die Konfigurationsdatei wird nicht automatisch erstellt; Sie können sie mit Ihrem bevorzugten Klartext-Editor erstellen. Standardmäßig sucht Bitcoin (oder Bitcoin) nach einer Datei mit dem Namen bitcoin.confim Bitcoin-Datenverzeichnis, aber sowohl im Datenverzeichnis als auch Der Pfad der Konfigurationsdatei kann mit den Befehlszeilenargumenten -datadirund geändert werden." -confAusführen von Bitcoin: Konfigurationsdatei Bitcoin.conf . Erster Treffer, als ich nach „Bitcoin.conf existiert nicht“ gesucht habe. ;)
Wo sollte sich die bitcoin.conf-Datei auf einem Win10-/Win7-Rechner befinden?
@duckx: Ich weiß es nicht. Wenn Sie die Antwort in der Dokumentation nicht finden, stellen Sie bitte eine neue Frage.

Es gab ein Follow-up darüber, wofür ein Beschneidungsknoten tatsächlich gut sein könnte. Nun, eine Antwort wären Shopsysteme, die sich bei ihrer Zahlungsabwicklung nicht auf Drittanbieter-APIs wie blockchain.info verlassen wollen/können. Ein Prune-Knoten würde es ermöglichen, beispielsweise auf einem billigen VPS mit wenig Speicherplatz ausgeführt zu werden, während Mempool auf eingehende Transaktionen überprüft wird, um Zahlungen zu implementieren. Es würde auch das Prüfen/Signieren von Nachrichten unter Verwendung der RPC-Aufrufe des Clients ermöglichen, und in begrenztem Umfang könnte es das Prüfen des Saldos von Adressen ermöglichen. Ich persönlich denke (und ich schlug intelligentes Pruning vor, wie ich es 2013 nenne), dass Bitcoin-Entwickler es falsch implementiert haben. Mein damaliger Umsetzungsvorschlag war, bereits ausgegebene Coins aus der Blockchain zu streichen. Das aktuelle Verhalten besteht darin, Münzen in Transaktionen zurück zu Coinbase zu verifizieren (auch bekannt als sie abgebaut wurden). während es ausreichen sollte, die letzten sagen wir 120 Blöcke plus jede nicht ausgegebene Transaktion zu behalten. Da der Client alle erhaltenen Blöcke verifiziert, könnte er sich darauf verlassen, dass diese Coins verifiziert werden, müsste aber keine früheren Transaktionen kennen, die die Coins durchlaufen haben.

Nein, genau das macht Bitcoin Core. Alle nicht ausgegebenen Coins werden zur weiteren Überprüfung aufbewahrt und alles andere wird gelöscht (mit Ausnahme des letzten Tages oder so, um bei Umstrukturierungen zu helfen).