Ich versuche, die Adresse 38DGj87axzmQiZeAd1w1y5FEmuu5a7pfBa
in meiner Bitcoin-Core-Wallet mit Code zu generieren.
Zuerst speichere ich den privaten Schlüssel aus der Adresse, dann berechne ich die Adresse aus dem privaten Schlüssel. Da die Adresse das Startformular ist m
, das vom P2SH- Bitcoin- Adresstyp ist . Und die P2SH-Adresse ist wie folgt aufgebaut
base58-encode: [one-byte version][20-byte hash][4-byte checksum]
Hier weiß ich nicht, was das Skript verwendet hat, um das [20-byte hash]
in der Bitcoin-Core-Wallet zu berechnen?
Sie können den getaddressinfo
RPC-Befehl in der neuesten Version von Bitcoin Core verwenden, um das Hex-codierte Skript für diese Adresse zu erhalten. Beachten Sie jedoch, dass ich annehme, da Sie einen privaten Schlüssel erhalten konnten, dass es sich um eine P2SH-verpackte Segwit-Adresse handelt, was bedeutet, dass das Skript nur ein OP_0
Opcode ist, gefolgt vom Hash160 des öffentlichen Schlüssels, der diesem privaten Schlüssel entspricht.
(Für zusätzliche Details):
Es ist ein P2SH-P2WPKH
(Pay-to-Witness-Public-Key-Hash, verpackt in einem Pay-to-Script-Hash). So erstellen Sie diese Adresse für das Hauptnetz:
PKH
:PKH = OP_0 0x14 RIPEMD160(SHA256(compressed public key))
0x14
ist die Anzahl der Bytes
P2SH
:BASE58CHECK(0x05 PKH)
0x05
ist das Mainnet- P2SH
Präfix
LF00
getaddressinfo
, bekomme ich "Methode nicht gefunden"meshcollider
Andreas Chow
validateaddress
stattdessen (die Teilevalidateaddress
, die Adressinformationen enthalten, werden in einen neuengetaddressinfo
Befehl für die nächste Hauptversion, 0.17, verschoben).meshcollider
Pieter Wuille