Estoy usando bitcoin core 0.16.0 y regtest
llamo a getnewaddress.
Obtengo "2N4dpih8KAdfJyXn2vhWixUwmYJ6DBfeRM1"
.{ "isvalid": true, "address": "2N4dpih8KAdfJyXn2vhWixUwmYJ6DBfeRM1", "scriptPubKey": "a9147cef86e3cf39b81f5263375b798536f19d4e8d0687", "ismine": true, "iswatchonly": false, "isscript": true, "iswitness": false, "script": "witness_v0_keyhash", "hex": "00147568d37152e5b720780b2e4d2346db97b2af5d8f", "pubkey": "0211ea7f9c2f4aba987926365ecbe009788d6ca905231f28828ff301d261cfc06d", "embedded": { "isscript": false, "iswitness": true, "witness_version": 0, "witness_program": "7568d37152e5b720780b2e4d2346db97b2af5d8f", "pubkey": "0211ea7f9c2f4aba987926365ecbe009788d6ca905231f28828ff301d261cfc06d", "address": "bcrt1qw45dxu2jukmjq7qt9exjx3kmj7e27hv0umayga", "scriptPubKey": "00147568d37152e5b720780b2e4d2346db97b2af5d8f" }, "addresses": [ "bcrt1qw45dxu2jukmjq7qt9exjx3kmj7e27hv0umayga" ], "account": "", "timestamp": 1517310214, "hdkeypath": "m/0'/0'/37'", "hdmasterkeyid": "c975977fb41bc2613d6cda5f10b917a2954893ad" }
¿Cuál es la dirección de segwit? ¿Es el que obtuve de getnewaddress o "bcrt1qw45dxu2jukmjq7qt9exjx3kmj7e27hv0umayga" dentro de la sección "incrustada" con "iswitness": verdadero?
Entonces, para verificar este problema, envié a ambas direcciones 2 btc en el registro y decodifiqué la transacción sin procesar, para 2N4dpih8KAdfJyXn2vhWixUwmYJ6DBfeRM1 tx es:
{ "txid": "03a9d0e354d2ab25a5b14d0aa9a7651e7209a61596cd81886a501a6968cfb721", "hash": "668ca307cf165b2e5658de7278545ddaad3e071147d41293f60471442a3eddd9", "version": 2, "size": 247, "vsize": 166, "locktime": 115, "vin": [ { "txid": "cea9f59c19c8dbaf1e2cb253a2980228a45c9658b8b7e48a87288a1d269867f9", "vout": 0, "scriptSig": { "asm": "00142f6c397ad231f08de05da5d0aee634dd5974f75a", "hex": "1600142f6c397ad231f08de05da5d0aee634dd5974f75a" }, "txinwitness": [ "304402201d063a846bc7f8504399d47649e7749e4c6c68070cb2840fb72d1c3f2cc717f302202b0314aea962da5aa056e33e71315ad9f0e4e0501dacc800fee82b70c870e79601", "03ecef34be2e1f0a1dc7ec43fa2248cf0d06d85be13c8220aec6bda0d0405c19c2" ], "sequence": 4294967293 } ], "vout": [ { "value": 4.00029480, "n": 0, "scriptPubKey": { "asm": "OP_HASH160 bf181b015a2022e0d2d63c2af8793c0addb117ce OP_EQUAL", "hex": "a914bf181b015a2022e0d2d63c2af8793c0addb117ce87", "reqSigs": 1, "type": "scripthash", "addresses": [ "2NAfdvoVHL3XWtiyB4ULkB7sST71ZafEVXg" ] } }, { "value": 1.00000000, "n": 1, "scriptPubKey": { "asm": "OP_HASH160 7cef86e3cf39b81f5263375b798536f19d4e8d06 OP_EQUAL", "hex": "a9147cef86e3cf39b81f5263375b798536f19d4e8d0687", "reqSigs": 1, "type": "scripthash", "addresses": [ "2N4dpih8KAdfJyXn2vhWixUwmYJ6DBfeRM1" ] } } ] }
y para bcrt1qw45dxu2jukmjq7qt9exjx3kmj7e27hv0umayga tx es:
{ "txid": "ed857e7318cca006a7f1f975c65742a1cdddf36e46b6f37b958e402c99da47f5", "hash": "ed40689ddf66c293ec9cc2c10fb7bb732c7b4e1e3d48c6ae0cd3644a4cad6b27", "version": 2, "size": 222, "vsize": 141, "locktime": 115, "vin": [ { "txid": "982bb35cc6057afbe92c75527b6c62b4ec855f4155042ef0fadbf784e1b60267", "vout": 0, "scriptSig": { "asm": "", "hex": "" }, "txinwitness": [ "3044022073995927c65c6dade5b8e141fb5c16095b233e163ce5fa28cd18eeb73f68f45f0220749ec988d670cb04b6aec57c0f43bf8ba67331849ce76c70e92a2c7605bb26bd01", "0379cc68acccb4442006844530052f7b5fbfe84e5ebb46a1f509f9fc474be4715c" ], "sequence": 4294967293 } ], "vout": [ { "value": 29.00024460, "n": 0, "scriptPubKey": { "asm": "0 acf33e42618956e6df4e1265d7c44500d0fa3c1e", "hex": "0014acf33e42618956e6df4e1265d7c44500d0fa3c1e", "reqSigs": 1, "type": "witness_v0_keyhash", "addresses": [ "bcrt1q4nenusnp39twdh6wzfja03z9qrg050q76nct4r" ] } }, { "value": 1.00000000, "n": 1, "scriptPubKey": { "asm": "0 7568d37152e5b720780b2e4d2346db97b2af5d8f", "hex": "00147568d37152e5b720780b2e4d2346db97b2af5d8f", "reqSigs": 1, "type": "witness_v0_keyhash", "addresses": [ "bcrt1qw45dxu2jukmjq7qt9exjx3kmj7e27hv0umayga" ] } } ] }
Entonces, entiendo que "bcrt1qw45dxu2jukmjq7qt9exjx3kmj7e27hv0umayga" es la dirección de SegWit porque veo en vout que el tx usa "witness_v0_keyhash" para firmar el 1 btc. Estoy en lo correcto ? si es así, ¿por qué necesito llamar a validateaddress en la dirección heredada para ver su dirección SegWit? Qué estoy haciendo mal ?
La dirección a la que debe enviar es 2N4dpih8KAdfJyXn2vhWixUwmYJ6DBfeRM1 , ya que esa es la salida de getnewaddress
.
Esa es una dirección P2SH-P2WPKH, que se convirtió en la predeterminada en 0.16. No es una dirección heredada, sino una dirección de segwit integrada en P2SH.
Si desea una dirección P2WPKH (nativa, bech32), debe indicar getnewaddress
que es lo que desea llamando al getnewaddress "" "bech32"
. Alternativamente, puede indicar bitcoind
que siempre desea addresstype=bech32
ingresar bitcoin.conf
.
Nunca intente convertir un tipo de dirección en otro usted mismo. validateaddress
te está dando información sobre la dirección que pasaste. bitcoind
No espera pagos a nada más que a la dirección que getnewaddress
te dieron.
haddar macdasi
pieter wuille
CryptoMiningPoolSetupYiimp
pieter wuille