Ich versuche, Public Key Hex in Bitcoin-Adresse umzuwandeln.
Von dieser Website http://gobittest.appspot.com/Address aus kann ich einige Tests durchführen.
Zum Beispiel habe ich diesen öffentlichen Schlüssel:
04b4d653fcbb4b96000c99343f23b08a44fa306031e0587f9e657ab4a2541129368d7d9bb05cd8afbdf7705a6540d98028236965553f91bf1c5b4f70073f55b55d
Laut Website sollte die Adresse lauten:
1DU8Hi1sbHTpEP9vViBEkEw6noeUrgKkJH
das ist die Base58-Kodierung von 0088C2D2FA846282C870A76CADECBE45C4ACD72BB655DA1216
.
0088C2D2FA846282C870A76CADECBE45C4ACD72BB655DA1216
Wenn ich jedoch Base58 direkt auf dieser Website https://www.browserling.com/tools/base58-encode codiere , erhalte ich:
bSLwwticQjhNvEtqTMZXbn3dLmFrPvNrDGE4hmHsfADpHWb3b2ruh3XqtNzv8ESS8V6V
die sich völlig von der 34-Zeichen-Bitcoin-Adresse unterscheidet.
Weiß jemand warum?
Wenn Sie diese Site verwenden, codieren Sie das Hex als Hex-String, nicht mit den eigentlichen Bytes, die sie sein sollten. Die Base58-Codierung für Adressen arbeitet mit den Bytes selbst, die in der Hex-Zeichenfolge dargestellt werden. Diese Website codiert jedoch nur die Hex-Zeichenfolge (die als Bytes doppelt so lang ist und völlig andere Daten enthält).
Andrew Chow hat Ihnen gesagt, warum . Jetzt erzähle ich dir wie.
Konvertieren Sie zuerst Hex in ASCII (ich schlage diese Website vor )
(Ich kann das ASCII-Ergebnis unten nicht kopieren, da dies zu Problemen führen würde.)
Kopieren Sie dann den seltsam aussehenden ASCII-Text, den es erstellt hat, und fügen Sie ihn in den Base58-Encoder ein.
Erledigt!