So konfigurieren Sie Bitcoin in Arch Linux

Ok, nun, ich beobachte den Bitcoin-Trend seit einigen Jahren mit einigem Interesse. Und ich habe mich endlich entschieden, selbst mitzumachen. Also habe ich gestern und heute mehrere Stunden lang aus den vielen Ressourcen in dieser Frage und dieser großartigen Antwort gelesen . Ich habe diesen Blogbeitrag vollständig gelesen und denke, ich habe ihn vollständig verstanden. Ich verstehe, dass ich, um jemanden zu bezahlen oder in BTC bezahlt zu werden, eine Bitcoin-ID benötige und dass dies Hand in Hand mit dem Erhalt einer BTC-„Brieftasche“ geht. Ich verstehe, dass es im Wesentlichen zwei verschiedene Optionen für meine BTC-Wallet gibt:

  1. eine lokal gespeicherte (auf meinem Computer) Kopie der gesamten Blockchain
  2. eine entfernt gespeicherte (auf dem Computer einer anderen Person) Kopie der gesamten Blockkette, die mit Anmeldeinformationen verschlüsselt ist, sodass nur ich Zugriff darauf habe (obwohl der Ausfall von Mt. Gox und so viele andere zu zeigen scheinen, dass dies weniger sicher ist als die erstere )

Ich denke, ein Synonym für Option 1 oben ist "Kühlhaus", obwohl ich mir dessen nicht sicher bin.

Mir ist klar, dass Mining für BTC eine ganz andere Sache ist, die sich wirklich nur mit einem ASIC oder ähnlicher Hardware lohnt, daher interessiere ich mich an dieser Stelle überhaupt nicht für Mining. Ich möchte mir nur einen Ausweis und eine Brieftasche besorgen und Bitcoin gut genug verstehen, um meine eigene Kopie der Blockkette auf meinem lokalen Computer aufbewahren und auf dem neuesten Stand halten zu können. Vielleicht werde ich mich irgendwann mit dem Bergbau befassen, aber im Moment bin ich nicht interessiert.

Aus dem Blogbeitrag von Erik Voorhees glaube ich zu verstehen, dass ich entweder Bitcoin oder Bitcoin installieren muss, wenn ich Option 1 oben haben möchte (was ich tue, da es mir sicherer erscheint und die Bequemlichkeit für mich überhaupt nicht wichtig ist). Quart. (Ich nehme an, dass beide unten als Teil von „Bitcoin Core“ betrachtet werden?) Dies wird durch meine Überprüfung der Softwaretools verstärkt, die ich auf bitcoin.org sehe:

  1. Bitcoin-Kern :

    • Kontrolle über Ihr Geld
    • Vollständige Validierung
    • Vollständige Transparenz
    • Gefährdete Umgebung
    • Verbesserte Privatsphäre

während das Beste, was alle anderen für Linux gibt:

  1. Elektrum
  2. mSIGNA
  3. MultiBit
  4. Waffenkammer
  5. Grüne Adresse

Transparenz bieten kann, ist "Basic Transparency".

Ich verstehe aus dieser Antwort , dass, obwohl es möglich ist, beide auf demselben System zu installieren, Bitcoin und Bitcoin-qt nicht gleichzeitig auf demselben System ausgeführt werden können. Meine Frage betrifft also die Konfiguration und den Einstieg in die Ausführung von Bitcoin in Arch Linux. aber es gibt einige spezifische Probleme, von denen ich glaube, dass ich sie besser verstehen muss.

  1. Wann genau erstelle ich mit Bitcoin meine ID? Ich denke, es müsste sein, nachdem ich das Herunterladen der gesamten Blockkette abgeschlossen habe?

  2. bitcoind.conf möchte, dass ich einen unverschlüsselten Benutzernamen und ein Passwort im Klartext einfüge, von denen ich vermute, dass Bitcoin beim Start gelesen wird. Wofür genau werden diese Anmeldeinformationen von Bitcoin verwendet? Ich weiß, dass die Optionen ziemlich transparent benannt sind (rpcuser und rpcpassword) und die Manpage erklärt, dass sie für JSON-RPC-Verbindungen sind. Aber ich habe nur eine Binärdatei in meinem Arch-Bitcoin-Daemon-Paket (/usr/bin/bitcoind). Welcher Client stellt also über JSON-RPC-Verbindungen eine Verbindung zu meiner laufenden Instanz von Bitcoind her?

  3. An welchem ​​Punkt beginnt die Software bei Verwendung von Bitcoin genau mit dem Herunterladen einer Kopie der gesamten Blockkette? Ich weiß, dass dies eine große Datei ist und Stunden oder Tage dauern kann, bis sie fertig ist.

  4. Wenn ich nach dem Herunterladen mit meiner lokal gespeicherten Blockchain interagieren möchte, muss ich anscheinend mindestens eine unkommentierte Zeile in ~/.bitcoin/bitcoin.conf einfügen:

    server=1
    
  5. ... aber wie sieht die einfachste bitcoin.conf-Datei aus, die ich brauche? Muss ich zum Beispiel Einstellungen für diese auskommentieren:

    addnode=
    connect=
    maxconnections=
    rpctimeout=
    rpcssl=
    rpcsslciphers=
    rpcsslcertificatechainfile=
    rpcsslprivatekeyfile=
    keypool=
    paytxfee=
    min=
    minimizetotray=
    
  6. Was verwenden andere Leute für paytxfee, und abgesehen von dem, was bitcoin.conf sagt, ("Transaktionen mit Gebühren sind wahrscheinlicher als kostenlose Transaktionen, die in generierte Blöcke aufgenommen werden, also können sie früher validiert werden."), warum sollte ich diesen Wert setzen auf etwas anderes als 0,00 (und was ist diese Zahl überhaupt? ein Prozentsatz? Wenn ich sie also auf 1,00 setze, sind das 1,00 %)?

Mein Hauptproblem beim Verständnis besteht jetzt darin, die spezifischen Einstellungen in bitcoin.conf mit meinem abstrakten Verständnis der Funktionsweise des Bitcoin-Netzwerks zu verbinden. Ich glaube, ich habe ein allgemeines Verständnis von Letzterem, aber wie man die spezifischen Konzepte von Letzterem mit den Einstellungen von Ersterem umsetzt, ist für mich überhaupt nicht offensichtlich, und nach vielen Stunden des Studiums sehe ich keine klare Erklärung dafür es überall.

Daher hoffe ich, dass hier jemand etwas Licht in diese Fragen bringen kann. Nach all den Fragen, die ich auf dieser Seite gesehen habe, bin ich sicher, dass ich nicht der Einzige sein kann, der sich diese Dinge fragt.

Ich habe darüber nachgedacht, diesen Beitrag in etwa 5 separate Beiträge aufzuteilen, und ich hoffe, die Community wird meine Entscheidung, dies nicht zu tun, verzeihen. Ich sehe alle oben genannten Fragen im Wesentlichen als Teile der Betrefffrage: „Wie konfiguriere ich Bitcoin in Arch Linux?“. Deshalb habe ich es als einen langen Post belassen. Auch hier bitte ich die Community um Verzeihung, falls dies als bedauerliche Entscheidung angesehen wird.

Nachdem ich nach dem Posten immer noch andere Fragen gelesen habe, bin ich auf diese gestoßen . Aber wenn ich das tue, sehe ich Folgendes: "Fehler: Es gibt keine RPC-Client-Funktionalität mehr in Bitcoin. Verwenden Sie stattdessen das Dienstprogramm bitcoin-cli." Aber ich habe keine bitcoin-cli-Binärdatei, da ich das bitcoin-daemon-Paket in Arch installiert habe.
Der Betreuer der Arch-Bitcoin-Pakete, Timothy Redaelli, scheint das, was Sie benötigen, auf bitcoin-daemonund aufgeteilt zu haben bitcoin-cli, und ich kann nicht herausfinden, warum.
Und ehrlich gesagt wäre es besser gewesen, dies in mehrere Fragen aufzuteilen. Wie es ist, bin ich mir nicht wirklich sicher, wo ich anfangen soll.
Nachdem ich dies gelesen habe , scheint es der Fall zu sein, dass diese Aufteilung stromaufwärts vorhanden ist.
Außerdem ist es nicht notwendig, alle Dinge aufzulisten, die Sie verstehen, wenn Sie eine Frage zu etwas stellen, das Sie nicht verstehen. Versuchen Sie, sich so kurz wie möglich und so detailliert wie nötig zu fassen.
@NickODell Zusätzlich zu der offiziellen Upstream-Seite , auf die ich oben verwiesen habe, wollte ich nur auf eine Antwort auf dieser SE-Site hinweisen, die auch Ihren obigen Kommentar zeigt (über Timothy Redaelli, der Bitcoin Core in Bitcoin-Daemon- und Bitcoin-CLI-Pakete aufgeteilt hat). irreführend sein. Mir war bis heute nicht klar, dass bitcoind früher (vor v0.9) entweder als Server oder als Client ausgeführt werden konnte, aber seit v0.10 ist bitcoind nur der RPC-Server und bitcoin-cli nur der RPC-Client.
@ 02019 Upstream hat sie sicher in verschiedene Binärdateien aufgeteilt. Aber meines Wissens haben sie Paketerstellern nie empfohlen, sie separat zu verpacken. Wenn die von Ihnen verlinkte Antwort zeigt, dass mein Kommentar irreführend ist, verstehe ich leider nicht, wie.

Antworten (1)

Obwohl ich denke, dass es zu früh ist, um das mit Sicherheit zu sagen, scheint es, dass ich jetzt viel informativere Lektüre habe, die ich hier gefunden habe . Ich vermute, dass diese Dokumente mir letztendlich helfen werden, die richtigen Antworten auf alle meine oben genannten Fragen zu verstehen. Ich hatte bis jetzt nicht bemerkt, dass meine Fragen im Wesentlichen Entwicklerfragen waren.

Ich würde mich immer noch über eine benutzerorientiertere Dokumentation freuen, die mir helfen würde, meine Fragen zu verstehen. Wenn also jemand Gedanken mitteilen möchte, würde ich sie trotzdem begrüßen. Ich halte dies keineswegs für eine endgültige Antwort auf meine oben genannten Fragen.

AKTUALISIEREN:

Diese Worte (obwohl derzeit nicht ganz vollständig, da sie bitcoin-cli nicht erwähnen): „Es sind zwei Varianten des ursprünglichen Bitcoin-Programms verfügbar; eine mit einer grafischen Benutzeroberfläche (normalerweise nur als „Bitcoin“ [oder bitcoin-qt ]) und eine "headless"-Version (mit dem Namen bitcoind). Sie sind vollständig miteinander kompatibel und verwenden dieselben Befehlszeilenargumente, lesen dieselbe Konfigurationsdatei und lesen und schreiben dieselben Datendateien. Sie können eine ausführen Kopie von entweder Bitcoin [alias bitcoin-qt] oder bitcoind auf Ihrem System gleichzeitig (wenn Sie versehentlich versuchen, ein anderes zu starten, teilt Ihnen die Kopie mit, dass Bitcoin oder bitcoind bereits läuft und beendet wird)." von dieser Seite waren auch extremhilfreich für mich. Sie haben mir geholfen, zu erkennen, dass ich mir für den Anfang nicht einmal Gedanken über die Einstellungen in der Konfigurationsdatei bitcoin.conf machen muss. Ich kann sowohl bitcoin-qt als auch bitcoind installieren, zunächst mit bitcoin-qt starten und es später zugunsten von bitcoind herunterfahren.

Zumindest für Arch Linux denke ich jetzt, dass es am besten ist, alle drei Pakete zu installieren:

  1. Bitcoin
  2. Bitcoin-Cli
  3. Bitcoin-qt

Und diese sind alle Teil der Upstream-Software namens Bitcoin Core, die für vollständige Transparenz und eine lokal gespeicherte Brieftasche (wohl die beste Sicherheit) auf meinem Computer und nicht auf dem Computer eines anderen verwendet wird.

Aber ein wirklich wertvoller Tipp, den ich erst vor ein paar Minuten entdeckt habe, ist, dass eine ziemlich aktuelle Kopie der (21 GB) gesamten Blockchain als Torrent-Datei verfügbar ist . Und angesichts dieser Entdeckung ist mir klar, dass ich, um so schnell wie möglich mit einem lokalen Wallet loszulegen, diesen Torrent der Blockchain zuerst vollständig herunterladen sollte. Und dann und nur DANN sollte ich Bitcoin oder Bitcoin-qt starten, um diese 21-GB-Blockkette validieren oder verifizieren zu lassen, oder wie auch immer der richtige Begriff dafür lautet. Dies spart mir Download-Zeit und die Bandbreite des Bitcoin-Netzwerks vor direkten Downloads über Bitcoin oder Bitcoin-qt.

UPDATE2:

Ich habe dazu auf der Arch Linux Bitcoin-Wiki-Seite ein detailliertes Verfahren geschrieben , das ich unten reproduziert habe, um diese Antwort zu verbessern.

  1. Stellen Sie sicher, dass mindestens 80 GB (22 GB * 3 Kopien + zusätzliche Blöcke im Wert von 14 GB über bitcoind/bitcoin-qt) freier Speicherplatz verfügbar sind

  2. Installieren Sie gnupg, deluge, bitcoin-qt, bitcoin-daemon und bitcoin-cli aus den offiziellen Repositories

  3. Laden Sie mit einem Browser README.txt, bootstrap.dat.torrent, bootstrap.dat.torrent.gpg und bootstrap.txt herunter

  4. Überprüfen Sie mit gnupg, dass die heruntergeladenen Dateien gute Signaturen haben (Sie müssen zuerst die öffentliche Schlüssel-ID A2DB9CCA des Unterzeichners importieren).

  5. Laden Sie mit Deluge die 22 GB bootstrap.dat herunter (vielleicht Stunden, abhängig von Ihrer Download-Datenrate).

  6. Wenn der Download von bootstrap.dat abgeschlossen ist:

    • Lassen Sie Deluge laufen, bis das Seeding abgeschlossen ist (optional, aber es hilft der Community; kann je nach Upload-Datenrate Stunden oder Tage dauern)

    • Kopieren Sie (nicht verschieben oder Sie unterbrechen das Seeding) bootstrap.dat nach ~/.bitcoin (verwenden Sie keinen symbolischen Link, da diese Datei von bitcoin-qt umbenannt wird, nachdem sie vollständig importiert wurde, und auch dies unterbricht Aussaat)

  7. start bitcoind für den Import im Hintergrund oder bitcoin-qt für den Import mit Feedback zum Fortschritt

  8. bitcoin-qt beginnt mit dem Import der Blockkette von bootstrap.dat und gibt visuelles und textliches Feedback zum Importfortschritt („Importing from disk…“ and eg. „4 years and 24 weeks behind“ usw.; dieser Import von der Festplatte kann länger als eine Stunde dauern)

  9. Der Importvorgang dupliziert die 22 GB große bootstrap.dat-Datei in ~/.bitcoin/blocks/, wodurch die Größe von ~/.bitcoin von 22 GB vor dem Start von Bitcoin Core auf 44 GB nach Abschluss des Imports ungefähr verdoppelt wird.

  10. Nachdem der Import von der Festplatte abgeschlossen ist

    • bitcoin-qt zeigt "Synchronizing with network..." und zB. „22 Wochen im Rückstand …“ (eine kabelgebundene Netzwerkverbindung hier beschleunigt diesen Teil des Prozesses, aber normalerweise dauert es mehrere Stunden, bis die Synchronisierung mit dem Netzwerk abgeschlossen ist)

    • Die Datei bootstrap.dat wird in bootstrap.dat.old umbenannt

    • Es sollte jetzt sicher sein, bootstrap.dat.old aus ~/.bitcoin zu entfernen, aber ein vorsichtiger Ansatz wäre zu warten, bis Ihre lokal gespeicherte Blockchain vollständig mit dem Netzwerk synchronisiert ist

  11. Beenden Sie bitcoin-qt

  12. Entfernen Sie dann ~/.bitcoin/bootstrap.dat.old

  13. Nachdem bitcoin-qt anzeigt, dass die lokale Kopie der Blockkette vollständig mit dem Netzwerk synchronisiert ist (~/.bitcoin/blocks füllte im Februar 02015 34 GB, ziehen Sie in Betracht, bitcoin-qt zu beenden und einen der folgenden Schritte auszuführen:

    • Bitcoin starten, um die Blockchain synchron zu halten; Feedback zum Blockchain-Status kann dann mit bitcoin-cli ohne den zusätzlichen Speicher, der von bitcoin-qt benötigt wird, erhalten werden.

    • Starten Sie bitcoin-qt neu, das als minimiertes Fenster ausgeführt wird ($ bitcoin-qt -min). Beachten Sie jedoch, dass einige Leute festgestellt haben, dass dieses Befehlszeilenargument nicht wie angekündigt funktioniert.

  14. Erwägen Sie, eine Sicherungskopie Ihrer wallet.dat-Datei mit bitcoin-qt zu erstellen.

  15. Weitere Anleitungen finden Sie im offiziellen Bitcoin-Wiki.