Tengo una dirección n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV
, la cantidad que quiero enviar 1 BTC
, y tengo un private key
. ¿Cómo puedo crear una transacción sin procesar usándola y transmitirla a blockchain usando el núcleo de bitcoin?
He probado este comando:
bitcoin-cli createrawtransaction '[{"txid":"dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303091b3c6a514848c","vout":1}]' '{"n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV":1}'
y esto:bitcoin-cli sendrawtransaction XXX
EDITAR: según la solicitud de OP, pongo ejemplos aquí:
hay muchos ejemplos para diferentes tipos de tx en bitcoin.org, en los ejemplos para desarrolladores . Básicamente necesitarás tres pasos. Suponiendo que está en OpenBSD/MacOS/Linux, puede hacerlo de esta manera:
1.) createrawtransaction : esto es lo que ya tiene y se ve bien. No sé si el tx ID o v_out anterior es correcto, suponiendo que conozca los detalles, su cadena está bien (de lo contrario, verifique con "bitcoin-cli -regtest listunspent" y adopte TX_ID y V_OUT en consecuencia). También asumo que la dirección es una que está en su billetera. De lo contrario, puede crear una dirección y proceder después de esta manera:
UTXO_TXID=dbdc2e2c7f143af70c5e7e8725f55d226b3c058d7bf34a303
UTXO_VOUT=1
NEW_ADDRESS=n3xYQtxvVwpBPSbgGsGRdMWz1YTUjakiMV
bitcoin-cli -regtest createrawtransaction '''
[
{
"txid": "'$UTXO_TXID'",
"vout": '$UTXO_VOUT'
}
]
''' '''
{
"'$NEW_ADDRESS'": 1
}'''
proporciona esta cadena hexadecimal devuelta a otra variable:
RAW_TX=01000...
2.) signrawtransaction : el comando anterior devuelve una cadena hexadecimal, que usará para firmar la transacción; nuevamente, consulte los documentos. Primero verifico mi tx creado y luego firmo:
bitcoin-cli -regtest decoderawtransaction $RAW_TX
bitcoin-cli -regtest signrawtransaction $RAW_TX
de nuevo asignas el resultado a una variable:
SIGNED_RAW_TX=01000...
3.) sendrawtransaction : nuevamente toma la cadena hexadecimal del comando anterior como parámetro y/o ve los documentos.
bitcoin-cli -regtest sendrawtransaction $SIGNED_RAW_TX
y tal vez una verificación como paso 4:
bitcoin-cli -regtest generate 1
esto genera un bloqueo y puede ver en $NEW_ADDRESS si se han transferido los fondos.
Acabo de ingresar las dos palabras clave aquí en la función de búsqueda y también encontré muchas respuestas.
createrawtransaction,signrawtransaction,sendrawtransaction
Puede usar signrawtransaction
, este método acepta una matriz de claves privadas como argumento.
Parámetro n.º 3: claves privadas para firmar:
Una matriz que contiene claves privadas. Si se proporcionan claves, solo se utilizarán para firmar la transacción (incluso si la billetera tiene otras claves coincidentes). Si esta matriz está vacía o no se usa, y el soporte de billetera está habilitado, se usarán las claves de la billetera
Ajit Soman
Ajit Soman
Ajit Soman