xPub Key mit der Electrum Wallet erstellen

This post is also available in: Englisch

So erstellst Du einen xPub Key mit der Electrum Wallet

xPub Key mit der Electrum Wallet erstellen

team

Was ist ein Extended Public Keys (xpub Key)?

In einem Onlineshop, muss bei jedem Zahlungsvorgang eine neue Bitcoin Adresse generiert werden. DIes ist erforderlich, um jeden Zahlungseingang eindeutig einer Bestellung zuordnen zu können. Dafür wird ein Extended Public Keys (xpub) benötigt.

Man kann sich den xpub Key wie eine Art Master Key vorstellen, aus dem eine fast endlose Menge an Public Keys – und somit auch Bitcoin-Adressen – generiert werden kann.

Das Gegenstück, der Private Key, ist der sogenannte Seed, der häufig in Form von 12 bis 24 Wörtern codiert ist. Diese Wörter müssen sicher aufbewahrt werden.
Der xPub Key ist ein Public Key, welcher problemlos weitergegeben werden kann.

Wer als Händler Bitcoin Zahlungen akzeptiert, muss diesen xPub Key in seinen Shop hinterlegen, damit der Shop jeweils neue Bitcoin Adresse dem Käufer präsentieren kann.

Ein xPub Key kann mit einer Vielzahl von Wallets erstellt werden.
In diesem Beitrag erklären wir, wie ein xPub Key mit Hilfe der Electrum Wallet erstellt und danach bei dem BTCPay Server hinterlegt wird.

So erstellst Du einen xPub Key mit der Electrum Wallet

Der Bitcoin Payment Server agiert ohne Mittelsmann. Dies bedeutet, dass der Händler die Bitcoin Zahlungen direkt auf seiner eigenen Bitcoin Wallet empfängt.

Dafür muss der Händler über eine eigene Bitcoin Wallet verfügen. Die entsprechenden Bitcoin Adressen, an welche die Kunden die Bitcoin senden, müssen entsprechend beim BTCPayServer hinterlegt werden.

Wenn Du als Händler einen Programmierer, einen Administrator oder einen externen Dienstleister mit der Integration von Bitcoin Zahlungen in den Online Shop beauftragt hast, so musst Du der Besitzer des Private Keys bleiben. Nur der Besitzer des Privaten Schlüssels ist auch der Besitzer über die Bitcoin.

In dieser Anleitung erklären wir ganz genau, wie Du den Privaten Schlüssel erhältst. Auch wenn Du kein Computerexperte bist, so sollte Dir mit dieser Anleitung keinerlei Probleme bekommen, denn dieser Bereich kannst Du nicht delegieren, den musst Du selber machen.

xPub Adressen

Mit Hilfe des BTCPayServers werden die Zahlungseingänge entgegengenommen und verwaltet. Dazu wird eine eigene Bitcoin-Wallet benötigt. Denn das Bitcoin Guthaben befindet sich zu keinem Zeitpunkt auf dem Payment Server, sondern immer auf der Wallet des Händlers.

Es wird eine Wallet benötigt, mit der auf Basis von xPub Public Keys generiert werden können. Ein Public Key ist quasi die Bitcoin Adresse, welche dem Zahlenden mitgeteilt wird, um dahin die Zahlung zu senden. Der xPub Key ist in der Lage, eine unendliche Anzahl von Bitcoin Adressen zu generieren. Diese Anzahl ist auch erforderlich, damit für jeden Zahlungsvorgang eine eigenständige und unabhängige Bitcoin Adresse verwendet werden kann.

Dieser Public Key (xPub) wird bei dem BTCPayServer hinterlegt und der dazugehörige Private Key verbleibt im Besitz des Händlers.

Der BTCPayServer ist somit in der Lage, für jede einzelne Transaktion einen Public Key, also eine Bitcoin Adresse zu generieren, und die Zahlungen direkt auf der Bitcoin-Wallet des Händlers gutzuschreiben.

Extended Public Keys beginnen immer mit einem der folgenden Präfixen: „xpub“, „ypub“ oder „zpub“. Der erste Buchstabe zeigt indes an, welche Art von Adressen mit dem jeweiligen xpub generiert werden können: Aus xpubs werden Legacy-Adressen, aus ypubs und zpubs BIP49-kompatible P2SH- oder bech32-Adressen mit SegWit Support.

P2SH kann man daran erkennen, dass sie mit einer 3 beginnen (im Gegensatz zu Legacy-Adressen, die beginnen nämlich mit einer 1 und bech32 starten mit „bc1“.

Da wir den xPub Key für unseren Shop benötigen, verwenden wir ein Format, welches von allen Wallets unterstützt wird. Wir empfehlen die Verwendung von segwit p2sh. Diese Bitcoinadresse beginnen mit der 3.

Electrum Bitcoin Wallet

Um die Zahlungen in seinem Shop zu verwalten, wird eine Bitcoin Wallet benötigt. Wir empfehlen für den Einsatz als Händler-Wallet die Electrum Wallet. Mit der Electrum Wallet lassen sich per xPub Adressen generieren und bei dem BTCPay Server hinterlegen.

Selbstverständlich können auch andere Bitcoin Wallet verwendet werden, die Xpub-Adressen generieren können. In dieser Anleitung betrachten wir dies am Beispiel der Electrum Wallet, da diese für unseren Einsatzzweck optimal geeignet ist.

Diese Bitcoin Wallet installieren wir auf unserem lokalen Arbeitsplatzrechner.

Zu diesem Zweck gehen wir auf die Internetseite von http://electrum.org

Bitte achte genau auf die Domain-Bezeichnung (Electrum und mit der Endung .org) und lade ausschliesslich die Software von dieser Seite.

Electrum Bitcoin Wallet

Electrum Bitcoin Wallet

Die Webseite gibt es nur in englischer Sprache. Wir begeben uns in den Download-Bereich und wählen unser Betriebssystem aus.

Dies wird in den meisten Fällen ein Mac oder ein Windows-Rechner sein.

Electrum Wallet Download

Electrum Wallet Download

Lade die Software runter und klicke doppelt, um die Installation zu beginnen. Du wirst Warnmeldungen von Deinem Rechner erhalten, da es sich um Software aus dem Internet handelt. Dies ist normal. Prüfe Sicherheitshalber noch einmal die genaue Schreibweise der Domain, damit die Software wirklich nur von der Seite electrum.org geladen wird.

Electrum Wallet Installieren

Nachdem die Electrum Wallet installiert und gestartet wurde, soll man einen Wallet Namen festlegen.

Dies ist an dieser Stelle nicht erforderlich, da wir den Namen zu einem späteren Zeitpunkt festlegen. Deshalb ignorieren wir den Vorschlag und verwenden den vorgeschlagenen Namen.

xPub Key mit der Electrum Wallet erstellen 1

Die Wallet wird als Standard-Wallet installiert.

Electrum-Wallet Standard Wallet

Electrum-Wallet Standard Wallet

Als Multi-Sig Wallet würde es sich anbieten, wenn man das Bitcoin Guthaben durch mehrere Schlüssel und Personen absichern wollte.

Hatte man bereits zu einem früheren Zeitpunkt eine Wallet generiert und möchte jetzt einen vorhandenen Private Key in die Electrum-Wallet importieren, so würde man die Import Private Key Funktion verwenden.

Nachdem wir wir mit der Standard-Wallet fortgefahren sind

Electrum Wallet Seed generierung

Electrum Wallet Seed Generierung

Wir wählen die Option „Create a new seed“ und müssen auf der nächsten Seite zwischen Segwit oder Legacy entscheiden.

Als Händler empfiehlt es sich segwit p2sh zu verwenden. Durch Segwit profitieren die Zahler von niedrigen Transaktionsgebühren. Würden wir Segwit verwenden, dann beginnen die Bitcoinadressen mit bc1.

Allerdings gibt es noch einige Wallets von Endkunden, welche Segwit nicht vollständig unterstützen. Um diesen Kunden nicht auszuschliessen, empfehlen wir die Verwendung von segwit p2sh. Diese Bitcoinadresse beginnen mit der 3.

Um eine segwit p2sh Adresse über die Electrum Wallet zu generieren, müssen wir bei der Auswahl uns an dieser Stelle für Lecacy entscheiden und NICHT SegWit. Würden wir an dieser Stelle SegWit auswählen, dann würden wir ausschliesslich SegWit anbieten können und die anderen Wallet ausschliessen.

Deshalb machen wir mit Legacy weiter:

Electrum Wallet legacy

Electrum Wallet legacy

 

Danach wird eine Seed Phrase aus 12 verschiedenen Wörtern generiert. Das ist quasi Dein private Key. Den musst Du sicher aufbewahren und darfst niemanden mitteilen. Wer diese 12 Wörter kennt, dem gehören die Bitcoin auf der Wallet.

Electrum Walle Seed

Electrum Walle Seed

 

Sollte Dein Arbeitsrechner mal kaputt gehen oder Du hast keinen Zugriff mehr auf den Server. Alles kein Problem, solange Du diese zwölf Wörter kennst.

Also genau aufschreiben und an einen sehr sicheren Ort aufbewahren. Niemanden verraten. Auch nicht Deinem Programmierer, Administrator oder Dienstleister, der Dir das Bitcoin Payment in den Shop einbindet.

Weil diese zwölf Wörter so wichtig sind, bekommst du die leere Seite angezeigt

xPub Key mit der Electrum Wallet erstellen 2und musst noch einmal die 12 Wörter eingeben:

Electrum Seed bestätigung

Electrum Seed Bestätigung

Dann klickst Du auf Next und Du wirst aufgefordert ein Password zu generieren.

Abbruch

Abbruch

An dieser Stelle brichst Du ab. Nicht einfach zurück, sondern komplett abbrechen.

Du gehst bei Electrum unter File und dann unter New/Restore. Du fängst so an, als würdest Du eine neue Wallet bei Electrum anlegen.

Du wirst erneut gefragt, wie Du die Wallet nennen willst. An dieser Stelle wird jetzt der Name festgelegt.

Wir geben der Wallet zum Beispiel den Namen BTCPayServer

Electrum-Wallet-name

Electrum-Wallet-name

Klicken auf Next.

Legen es erneut als Standard Wallet an.

Achtung: An dieser Stelle nicht Import eines Privaten Keys.

xPub Key mit der Electrum Wallet erstellen 3

Danach erscheint das folgende Fenster

 

xPub Key mit der Electrum Wallet erstellen 4

und wählen hier aus, dass wir bereits einen Seed haben.

Dann werden wir aufgefordert den Seed einzugeben. Wir geben jetzt die 12 Wörter ein, die wir im ersten Durchgang generiert haben.

xPub Key mit der Electrum Wallet erstellen 5

Danach klicken wir auf Options. In dem Fenster aktivieren wir BIP39 seed und klicken auf OK.

BIP39-seed

BIP39-seed

Es erscheint die folgende Seite mit der Sicherheitswarnung

xPub Key mit der Electrum Wallet erstellen 6

und klicken auf Next.

Wir wählen die Option mit p2sh-segwit (p2wpkh-p2sh) aus

p2sh-segwit (p2wpkh-p2sh)

p2sh-segwit (p2wpkh-p2sh)

und klicken auf Next.

Dann musst Du Dir ein sicheres Passwort merken, für den Zugriff auf Deine Wallet.

electrum password

electrum password

Es wird ein Encrypt wallet file generiert und auf Deinem Rechner gespeichert. Zum entschlüsseln dieser Datei wird das vorher generierte Passwort benötigt. Also dieses Passwort ebenfalls sicher aufbewahren.

Du gelangst dann auf dem Electrum Dashboard.

Electrum Dashboard

Electrum Dashboard

Hier hast Du die Möglichkeit Bitcoin Senden, zu Empfangen und die Historie Deiner Transaktionen anzuschauen.

Hier kann geprüft werden, ob alles richtig gemacht wurde. Dies machen wir, in dem wir Receive klicken. Bekommen wir dort eine Bitcoin Adresse mit einer 3 angezeigt, sieht es schon einmal sehr gut aus.

xPub Key mit der Electrum Wallet erstellen 7

Dann klicken wir auf Addresses und bekommen 10 Bitcoin Adressen angezeigt, welche bereits generiert worden sind:

 

xPub Key mit der Electrum Wallet erstellen 8Diese Adressen beginnen ebenfalls mit einer 3.

Da wir aber davon ausgehen, dass in unserem Shop mehr als 10 Transaktionen stattfinden, müssen wir die Anzahl der im Vorfeld generierten Bitcoin Adressen erhöhen.

Dies machen wir, indem wir auf den Bereich Console wechseln.

Electrum Console

Electrum Console

Wir lesen den Warnhinweis und Klicken auf den gelben Bereich.

Wir wollen das Gap Limit auf 100 erhöhen. Wir wollen insgesamt 100 Bitcoin Adressen vorab generieren.

Dazu geben wir den Befehl ein:

wallet.change_gap_limit(100)

und Drücken Enter.

Electrum Gap Limit

Electrum Gap Limit

Danach geben wir

 wallet.storage.write()

ein.

Um zu überprüfen, wie hoch das neue Gap Limit jetzt ist, geben wir den Befehl:

wallet.gap_limit

ein.

Es ist alles richtig, wenn es so aussieht:

Electrum Gap Limit 100

Electrum Gap Limit 100

xPub-Key exportieren

Jetzt benötigen wir noch den xPub-Key, um diesen Key in dem BTCPayServer zu hinterlegen. Dieser xPub-Key ist der öffentliche Schlüssel, welcher ohne Probleme weitergegeben werden darf.

Den xPub-Key exportierst Du, indem Du auf den Bereich Wallet und danach in Information wechselst.

Dort findest Du den xPub Key, bezeichnet als Master Public Key:

p2wpkh-p2sh

p2wpkh-p2sh

Wenn der Script Type auch noch p2wpkh-p2sh lautet, dann haben wir alles korrekt gemacht.

Jetzt kann dieser Xpub-Key verwendet werden, um unendlich viele Bitcoin Adressen zu generieren.

Diesen Xpub-Key hinterlegen wir jetzt in unserem BTCPay Shop auf dem BTCPay Server.

Wie das funktioniert, erfährst Du in dem Beitrag: „Xpub Key beim BTCPay Server hinterlegen

This post is also available in: Englisch