Compré bitcoins y descargué Bitcoin-QT, pero mi billetera tarda una eternidad en sincronizarse con la red.
No puedo acceder a mi billetera porque todavía está en proceso de sincronización. Tengo el registro de mi pago por los Bitcoins, el correo electrónico de confirmación, etc., y la dirección a la que se envió. Quiero desesperadamente empezar a gastarlos. ¿Qué puedo hacer para obtener acceso de inmediato sin esperar a que la sincronización siga su curso?
Una solución es exportar (en su privacidad) la clave privada conectada a la dirección en la que recibió sus Bitcoins (o simplemente todas las claves privadas). Esto se puede hacer usando una herramienta de línea de comandos conocida como pywallet
.
Luego, puede importar esta clave (o todas sus claves) a otra billetera. Las billeteras basadas en navegador, como https://blockchain.info/wallet , no requieren sincronización. Por lo tanto, puede gastar inmediatamente sus monedas. Para la billetera bĺockchain.info, el procedimiento se describe en su sitio web.
Tuve que hacer esto para una billetera Dogecoin que estaba muy desincronizada una vez. Describiré los pasos que funcionaron para mí. Sin embargo, mi ejemplo será para Bitcoin, ya que eso es probablemente lo que la mayoría de la gente necesitará.
Precaución: esto es un poco técnico, pero funciona. Espere que esto tome probablemente 10-30 minutos. Esto también supone que está utilizando una dirección Pay-To-Pubkey-Hash estándar (para bitcoin, esto solo significa una dirección que comienza con 1).
1.
Obtenga la dirección a la que le enviaron las monedas. Esta es una dirección que generó previamente la billetera Bitcoin-QT no sincronizada. Para este ejemplo, usaré
13x1ZipMJJbVawV7voCtW5qSoBUTwx13Nr
como mi dirección de la que necesito sacar monedas.
2.
Vaya a https://insight.bitpay.com/address/ {{ su dirección }}.
Encuentre el TXID de la transacción, el índice de salida y la cantidad de monedas que está tratando de gastar desde el explorador de bloques.
Entonces, para mí, la información importante aquí es:
txid: 83a1007401a6acb656668afc137b9c02ca023ae274e0f12abbc79395a89b6b79
index: 0
amount: 0.00231499
3.
El otro dato que necesitamos es el scriptPubKey
. Esto es básicamente una codificación de la dirección de más bajo nivel.
Para obtener esto, haga clic en el ícono "+" a la izquierda del TXID (todavía en la misma página de información que antes). Debajo de su dirección, dirá algo como:
OP_DUP OP_HASH160 205799b3b8bdba5824b0129eec27450b0cfde7eb OP_EQUALVERIFY OP_CHECKSIG
Ahora, la scriptPubKey que desea está usando esos 40 caracteres hexadecimales del medio, y algunos más. La fórmula básica es:
scriptPubKey = "76a914" concat {{ hex chars from above }} concat "88ac"
Así que para mi ejemplo, tenemos:
scriptPubKey: 76a914205799b3b8bdba5824b0129eec27450b0cfde7eb88ac
4.
¡Casi termino!
Obtenga la dirección a la que desea enviar las monedas también. usaré
1PwFdFxP7uXrun8sToCrWXxVdpeDeX6dfq.
5.
Ahora vamos a crear una transacción y enviarla a la red.
Abra la billetera Bitcoin-QT no sincronizada (o inicie el demonio bitcoind), vaya al menú Ayuda y seleccione Consola de depuración. En la ventana que se abre, reemplace los campos apropiados y luego escriba:
createrawtransaction '[{ "txid": "{{ your txid }}", "vout": {{ your index }} }]' '{ "{{ your address from step 4 }}": {{ amount - fee }} }'
Por lo general, se aplica una tarifa de alrededor de 0.0001.
Entonces, para mí esto se ve así:
createrawtransaction '[{ "txid": "83a1007401a6acb656668afc137b9c02ca023ae274e0f12abbc79395a89b6b79", "vout": 0 }]' '{"1PwFdFxP7uXrun8sToCrWXxVdpeDeX6dfq": 0.00221499}'
Y el resultado es
0100000001796b9ba89593c7bb2af1e074e23a02ca029c7b13fc8a6656b6aca6017400a1830000000000ffffffff013b610300000000001976a914fb9570085ff3acfef21eac307223eaa499e1e21188ac00000000
Ahora solo tenemos que firmarlo. Esto debe hacerse en el mismo demonio que generó la dirección, para que tenga las claves privadas. Reemplace con sus campos apropiados y luego ejecute:
signrawtransaction {{ hex from createrawtransaction step above }} '[{ "txid": "{{ your txid }}", "vout": {{ your index }}, "scriptPubKey": "{{ your scriptPubKey }}" }]
Entonces, para mí esto se ve así:
signrawtransaction 0100000001796b9ba89593c7bb2af1e074e23a02ca029c7b13fc8a6656b6aca6017400a1830000000000ffffffff013b610300000000001976a914fb9570085ff3acfef21eac307223eaa499e1e21188ac00000000 '[{ "txid": "83a1007401a6acb656668afc137b9c02ca023ae274e0f12abbc79395a89b6b79", "vout": 0, "scriptPubKey": "76a914205799b3b8bdba5824b0129eec27450b0cfde7eb88ac" }]'
El resultado se parece a:
0100000001796b9ba89593c7bb2af1e074e23a02ca029c7b13fc8a6656b6aca6017400a183000000006a4730440220000000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000000012102e25c37498e9e62b2ebcc85780e10949eaacd29826b5ca97a1031ee22e55f0ab5ffffffff013b610300000000001976a914fb9570085ff3acfef21eac307223eaa499e1e21188ac00000000
6.
Usando el resultado final del paso 5, vaya a
https://live.blockcypher.com/btc-testnet/pushtx/
E ingrese el hexadecimal de transacción sin procesar. ¡Seleccione la red "Bitcoin", presione el botón "Difundir transacción" y habrá eliminado con éxito sus monedas de la billetera no sincronizada!
(No tengo ninguna afiliación con ninguno de los servicios utilizados aquí, simplemente los encontré útiles para esta respuesta).
Abra la consola en Bitcoin Core. Tipo dumpprivkey
y la dirección pública. Te dará la clave privada. A continuación, importe la clave privada al cliente ligero que desee.
Encuentre el archivo wallet.dat con los pares de claves pública-privada generados y ejecute el cliente bitcoin con el archivo en otra máquina.
muro
muro
codificador morse
muro
codificador morse