¿Cuáles son los pasos para crear una dirección Bech32 a partir de una clave pública ECDSA? Bitcoin wiki tiene una buena guía paso a paso para crear una dirección a partir de una clave pública, pero ¿qué pasa con las direcciones Bech32? He leído BIP173 pero no entiendo qué dar como entrada.
Ok, descubrí cómo hacerlo.
Necesita 3 piezas de información para construir la dirección bech32.
hrp
: la parte legible por humanos. Esto es bc
para mainnet y tb
testnetwitver
: la versión testigo. Esto 0
por el momento está representado por el byte 0x00
pero puede subir 16
cuando agreguen más versiones.witprog
: el programa testigo. En caso de que desee una dirección Pay-to-witness-public-key (P2WPK), que es la más común, este es el hash160 de 20 bytes de la clave pública comprimidaripemd160(sha256(compressed_pub_key))
, es decir , . En caso de que desee una dirección Pay-to-witness-script-hash (P2WSH), esta es la sha256 de 32 bytes de scriptPubKey, que es la secuencia de comandos que deberá evaluarse como True para que alguien pueda gastar la salida. Más sobre esto en BIP141Una vez que tenga esas 3 piezas, puede usar la función de codificación en una de las implementaciones de referencia
He reunido una pequeña biblioteca de Python puro para cualquier persona interesada en cómo funciona todo esto detrás del capó.
poros
mike d
Willtech
pebwindkraft