Ich habe eine Tabelle für das Versionspräfix (hex) und das Präfix des Base-58-Ergebnisses für verschiedene Arten von Bitcoin-Adressen zusammengestellt.
Ich bin hier auf den Inhalt gestoßen: https://en.bitcoin.it/wiki/List_of_address_prefixes , der keine Informationen über Decimal enthält , Präfix Hex für Bech32-Adressen (ich denke, sie werden auch SegWit-Adresse genannt, oder?)
Also habe ich dieses Diagramm hier überprüft: https://en.bitcoin.it/w/images/en/4/48/Address_map.jpg aber ich verstehe die Bedeutung von „ x03x03x00x02x03 “ nicht .
Diese Bytes (x03x03x00x02x03 oder besser dargestellt als 0x0303000203
) sind der erweiterte, für Menschen lesbare Teil. Sie finden den Code auf BIP-173 .
def bech32_hrp_expand(s):
return [ord(x) >> 5 for x in s] + [0] + [ord(x) & 31 for x in s]
Das Problem ist jedoch, dass diese Bytes im Gegensatz zur Base58-Codierung nur bei der Berechnung der Prüfsumme und nicht als Startbytes verwendet werden . Was das Bild meiner Meinung nach irreführend macht.
Die Bech32-Codierung unterscheidet sich stark von der Base58-Codierung, da es kein "Versionspräfix" gibt. Es gibt eine Hrp, eine Zeugenversion, Daten (Hash) und eine Prüfsumme. Witness version | hash
sind die Daten, die verschlüsselt werden, und expanded_hrp | data
werden bei der Prüfsummenberechnung verwendet ( |
ist Verkettung).
Andy_Jake