Каковы шаги для создания адреса Bech32 из открытого ключа ECDSA? Биткойн-вики имеет хорошее пошаговое руководство по созданию адреса из открытого ключа, но как насчет адресов Bech32? Я прочитал BIP173, но я не понимаю, что дать в качестве ввода.
Хорошо, я понял, как это сделать.
Для создания адреса bech32 вам нужно 3 части информации.
hrp
: удобочитаемая часть. Это bc
для основной сети и tb
для тестовой сетиwitver
: версия свидетеля. На 0
данный момент это представлено байтом, 0x00
но может увеличиться, 16
когда они добавят больше версий.witprog
: программа свидетеля. Если вам нужен адрес открытого ключа Pay-to-witness (P2WPK), который является наиболее распространенным, это 20-байтовый хеш160 сжатого открытого ключа , ripemd160(sha256(compressed_pub_key))
т.е. Если вам нужен адрес Pay-to-witness-script-hash (P2WSH), это 32-байтовый sha256 scriptPubKey, который является сценарием, который должен быть оценен как True, чтобы кто-то мог потратить вывод. Подробнее об этом в BIP141Когда у вас есть эти 3 части, вы можете использовать функцию кодирования в одной из эталонных реализаций .
Я собрал небольшую чистую библиотеку Python для всех, кому интересно, как все это работает внутри.
порты
Майк Д
Уиллтек
пебвиндкрафт