Я пытаюсь сгенерировать адрес 38DGj87axzmQiZeAd1w1y5FEmuu5a7pfBa
в своем кошельке с биткойнами с кодом.
Сначала я выгружаю приватный ключ из адреса, потом вычисляю адрес из приватного ключа. Поскольку адрес представляет собой начальную форму m
, которая относится к типу биткойн-адреса P2SH . А адрес P2SH строится как
base58-encode: [one-byte version][20-byte hash][4-byte checksum]
Здесь я не знаю, какой скрипт использовался для расчета [20-byte hash]
в основном кошельке биткойнов?
Вы можете использовать команду getaddressinfo
RPC в последней версии биткойн-ядра, чтобы получить сценарий в шестнадцатеричном кодировании для этого адреса. Но обратите внимание: поскольку вы смогли получить закрытый ключ, я предполагаю, что это адрес SegWit, обернутый P2SH, что означает, что сценарий представляет собой просто OP_0
код операции, за которым следует хеш160 открытого ключа, соответствующего этому закрытому ключу.
(Для дополнительной информации):
Это P2SH-P2WPKH
(плата за свидетельство хэша открытого ключа, завернутого в хеш оплаты за сценарий). Чтобы создать этот адрес для основной сети:
PKH
:PKH = OP_0 0x14 RIPEMD160(SHA256(compressed public key))
0x14
это количество байтов
P2SH
:BASE58CHECK(0x05 PKH)
0x05
это P2SH
префикс основной сети
LF00
getaddressinfo
я получаю «Метод не найден»мешколлайдер
Эндрю Чоу
validateaddress
вместо этого (частиvalidateaddress
, которые предоставляют адресную информацию, перемещены в новуюgetaddressinfo
команду для следующей основной версии, 0.17).мешколлайдер
Питер Уилле