Gibt es eine Möglichkeit, Ethereum Paper Wallets zu generieren?

Ist es möglich, Ether auf Paper Wallets aufzubewahren oder irgendwie offline druckbare Private Keys zu generieren?

Antworten (6)

Cold Storage wurde in der Vergangenheit im Subreddit von Ethereum diskutiert .

Nur um meine 2 Cent zu geben, verwende ich unter Ubuntu Folgendes in der Befehlszeile:

cat ~/.ethereum/keystore/<key_file> | qrencode -o qr_image.png

Option hinzufügen -l H, um einen einfacher zu entschlüsselnden Code zu erhalten. Das qrencodeTool verwendet die Open-Source- libqrencodeBibliothek und kann installiert werden mit:

sudo apt-get install qrencode

Sobald Sie die Bilddatei haben, können Sie sie ausdrucken. (Über eine kabelgebundene Verbindung zu einem Drucker, es sei denn, Sie sind mit der Wireless-Sicherheit des Druckers zufrieden.)

Ein Befehlszeilentool zum Decodieren eines gescannten QR-Codes oder einer Bilddatei ist im zbar-tools-Paket enthalten, zzbarimg --quiet qr_image.png

Der allgemeine Haftungsausschluss: Sie müssen sicherstellen, dass Sie damit zufrieden sind, Ihre Schlüssel in das Dienstprogramm eines anderen zu leiten ... Der Quellcode ist verfügbar, aber Sie müssten genug mit C vertraut sein, um dies überprüfen zu können. Ich nehme keine Kopie des Schlüssels und schicke sie dann zurück zum Mutterschiff.

Es sollte beachtet werden, dass Sie die Schlüsseldateien selbst mit geth generieren müssen, damit dies funktioniert .
Und es funktioniert nur mit Ubuntu oder Mint. Vielleicht etwas zu ortsgebunden. Gibt es da draußen keine Paper-Wallet-Generatoren?

MyEtherWallet.com

Auf myetherwallet.com ist ein Paper-Wallet-Generator verfügbar .

mein ehter Geldbeutel

Wenn Sie ihm nicht vertrauen, können Sie es von github herunterladen und offline ausführen.

EthAddress.org

Es gibt einen weiteren Paper-Wallet-Generator, der unter ethaddress.org verfügbar ist .

E-Adresse

Quellcode auf github .

Drucken des privaten Schlüssels für Ethereum in Geth.

Dies geschieht, um in Ihrem eigenen WM ein echtes *sicheres Offline-Paperwallet zu erstellen, das anschließend das Geld unabhängig von einem Programm * speichert .

Basierend auf diesen Beiträgen und einem anderen Beitrag, der darauf hinweist, dass der Quellcode von Geth leicht geändert werden kann, um den privaten Schlüssel auszudrucken. Hier geht es weiter.

  1. Erstellen Sie eine virtuelle Maschine mit einem Linux. Ich habe VirtualBox und eine alte Ubuntu - Minimalversion genommen (alt, weil die minimale Installation ohne GUI einfach und schnell erledigt ist.)
  2. Erstellen von Geth aus dem Quellcode (dh folgen Sie diesem Tutorial github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu)

    -Wechseln Sie zu einer stabilen Version von geth: git checkout

  3. Überprüfen Sie, ob geth ausgeführt werden kann (und aktualisieren Sie dadurch die neuesten Knoten, nicht sicher, ob dies erforderlich ist) . Geben Sie /build/bin/geth console --fast ein

  4. Herunterfahren der VM,
  5. Deaktivieren Sie die Netzwerk-Adapter in VirtualBox
  6. Starten Sie die VM neu
  7. Ändern Sie den SourceCode wie in den Bildern unten gezeigt. (Die zu ändernde Datei ist in der Kopfzeile der Bilder zu sehen.)
  8. Erstellen Sie geth neu ( make geth ), wie in den Installationsanweisungen in Schritt 2 beschrieben. Überprüfen Sie, ob die Zufallszahl ein guter Zufallswert ist, indem Sie cat /proc/sys/kernel/random/entropy_avail ausführen . Das heißt, ich habe einen Wert über 3000 okay. (Google rng-utils, um herauszufinden, wie die Entropie erhöht werden kann, wenn sie unter 200 liegt.)
  9. Erstellen Sie ein neues Konto über /build/bin/geth account new (der private Schlüssel wird nach Eingabe des Passworts angezeigt.).
  10. Nachdem Sie alle Konten erstellt haben, überprüfen Sie erneut , ob die Entropie immer noch über 200 liegt, indem Sie den Befehl von 8 ausführen.
  11. cd ~/.ethereum/keystore/
  12. Der private Schlüssel und der öffentliche Schlüssel werden in die Dateinamen der Konten im Schlüsselspeicher geschrieben.
  13. Fügen Sie 0x als Präfix vor dem öffentlichen Schlüssel hinzu, da die meisten Programme dies erwarten.
  14. Um die Paperwallets aus den Dateinamen zu erstellen, kann die Liste der Keystores einfach mit ls ~/.ethereum/keystore/ >> paperwallet.txt in eine Datei geschrieben und an einen Drucker gesendet werden. Hinweis: Der öffentliche Schlüssel benötigt das Präfix 0x, um die Verwendung als Hex zu beabsichtigen.
  15. Testen Sie einige der Paperwallets **mit kleinen Geldbeträgen. (Geld empfangen und senden)
  16. Hinweis: Die Paperwallets sind bis zu dem Tag gespeichert, an dem Sie den privaten Schlüssel zum ersten Mal für eine Transaktion verwendet haben.
  17. Wenn die Tests erfolgreich sind und Sie die Brieftaschen ausgedruckt haben, löschen Sie die VM.

Ändern Sie den Quellcode:

Auf dem ersten Bild: Machen Sie eine Kopie der Funktion keyFileName und nennen Sie sie keyFileNamePlusPK. Entkommentieren Sie tx (dies ist wichtig) und erweitern Sie den Befehl fmt.Sprintf.

Geben Sie hier die Bildbeschreibung ein

Auf dem zweiten Bild: Suchen Sie die Funktion storeNewKey und rufen Sie keyFileNamePlusPK innerhalb der Methode auf. Fügen Sie auch fmt.Println(„storeNewKey... Good Luck. !!!Und beachten Sie, dass ich nicht für Probleme verantwortlich bin, die von diesem Beitrag ausgehen!!!

Zusätzliche Option: Java-basierte Offline-Lösung auf GitHub .

Basierend auf Richards Antwort habe ich ein Bash-Skript erstellt, um eine besser lesbare Papiersicherung zu erstellen. Wie im folgenden Beispiel gezeigt, enthält das Papier die Adresse (um mehrere Schlüsseldateien/Papiere nicht zu verwechseln) und die Schlüsseldatei sowohl in einfachem JSON als auch in QR-Code.

Ein solches Paper Wallet ist nur ein Backup mit der gleichen Sicherheit wie gesicherte Schlüsseldateien auf einem normalen USB-Stick. Im Gegensatz zu den von MyEtherWallet hergestellten Paper Wallets enthält das Papier nicht den unverschlüsselten privaten Schlüssel . Ich glaube sowieso nicht, dass irgendjemand jemals einen privaten Schlüssel auf Papier drucken sollte.

Beispiel

#!/bin/bash

# Create paper wallet of ethereum keyfile
# requires qrencode, jq, and pdflatex

set -e

for keyfile in $@; do
    [ -f "$keyfile" ] || {
        echo "file not found: $keyfile" >&2
        exit 1
    }
    echo "$keyfile"
    dir=$(dirname "$keyfile")

    qrcode="$dir/$keyfile.png"
    latex="$dir/$keyfile.tex"

    # pretty-print JSON
    json=$(jq . "$keyfile")

    # address
    address=$(jq -r .address "$keyfile")

    # QR-code
    cat "$keyfile" | qrencode -l M -o "$qrcode"

    cat > "$latex" <<- TEX
\\documentclass{article}
\\usepackage{graphicx,listings,fullpage}
\\renewcommand{\\familydefault}{\\ttdefault}
\\begin{document}
\\section*{$address}
\\small\\noindent
\\includegraphics[width=0.5\\textwidth]{$qrcode}
\\begin{lstlisting}
$json
\\end{lstlisting}
\\end{document}
TEX

    pdflatex --quiet "$latex"

    # only keep the PDF
    rm "$qrcode" "$latex" "$dir/$keyfile.aux" "$dir/$keyfile.log"
done

Hier ist eine neue mit vom Benutzer anpassbaren Hintergrundgrafiken:

Memory Paper Wallet – Anpassbare Ethereum Paper Wallet https://bitcointalk.org/index.php?topic=3335760.0

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein