Eine NodeJS-Implementierung zum Erstellen von Adressen aus einer Bitcoin-Adresse (zpub, xpub).

Ich suche nach einem leichten Knotenpaket, das das Erstellen von BTC-Empfangsadressen auf dem Server mit einem erweiterten öffentlichen Schlüssel (Segwit) handhaben kann.

Wie dieses hier: zpub6nYqvTejCbqMTRTGz9rHkJnrJKbLsx36LqLnUJChDdJ6a5NA7hBumEpn9HTSDgWpNTNCponkPCBL5VKeAaScVxbXa1H4RPmA4j19rzgJPRp

Ich habe versucht, https://www.npmjs.com/package/bitcoin-receive-payments zu verwenden, aber ich möchte nicht, dass ein OpenExchangeRates-Konto dies verwendet.

Es gibt diese Anleitung zu PHP https://freedomnode.com/blog/58/generate-bitcoin-wallet-addresses-from-extended-public-key-with-php

Aber ich kann kein Äquivalent für JS finden.

Ich wäre auch sehr dankbar, wenn es eine Erklärung für Nicht-Mathe-Leute gibt, da ich nur versuche, Adressen auf einem Server basierend auf einer erweiterten Adresse zu generieren.

Weiß jemand?

Antworten (1)

Ich würde vorschlagen, eine Bibliothek wie die bitcoinjs-lib- Bibliothek zu verwenden.

Hier ist ein sehr abgespecktes Verwendungsbeispiel:

let bitcoin = require("bitcoinjs-lib");

function fromXpub(xpub, acctNumber, keyindex, callback){
    let address = bitcoin.HDNode.fromBase58(xpub).derivePath(acctNumber+"/"+keyindex).getAddress(); 
    callback(address);
}

let myxpub = "xpub6C6RXXtdbxSnfB78Y4WjJSjQuChKqHXh9JCZPeKtdGeWRiptL9oJePPtrYKPWaoem9W3Wvp8eEh8dFFuN7u4zT6x6A1H6D67bVVvufv3uJ1";

fromXpub(myxpub, 0, 0, function(cb){
    console.log(cb);
});

13eX3ohuXCa93YgLCkuQF6NmJk8vUwqa8p

Entschuldigung, aber es scheint, dass Ihr Code auf meiner Seite nicht funktioniert ... Ich habe versucht, ihn zu ändern, let address = bitcoin.bip32.fromBase58(xpub).derivePath(acctNumber+"/"+keyindex).__Q.toString('hex');aber ich kann die getAddress-Methode hier nicht finden ...