From 2a56eec18b09097e8070c5ba92e09a6cc55d6697 Mon Sep 17 00:00:00 2001 From: Said Rahal Date: Tue, 10 Aug 2021 19:36:54 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Create=2004=5F3=5FCreando=5Funa=5FTransacci?= =?UTF-8?q?=C3=B3n=5FCruda=5Fcon=5FArgumentos=5FIngresados=5Fcon=5FNombre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._Cruda_con_Argumentos_Ingresados_con_Nombre | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre diff --git a/es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre b/es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre new file mode 100644 index 0000000..7e62ef9 --- /dev/null +++ b/es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre @@ -0,0 +1,97 @@ +# 4.3 Creación de una transacción en crudo con argumentos nombrados + +A veces puede ser desalentador averiguar el orden correcto de los argumentos de un comando bitcoin-cli. Afortunadamente, puede utilizar _argumentos con nombre_ como alternativa. + +> : advertencia: **ADVERTENCIA DE VERSIÓN:** Esta es una innovación de Bitcoin Core v 0.14.0. Si ha utilizado nuestros scripts de instalación, es lo que debería tener, pero vuelva a comprobar su versión si tiene algún problema. También hay un error en el uso del comando `createrawtransaction` de los argumentos con nombre que presumiblemente será corregido en 0.14.1. + +## Crear un Alias para el argumento con nombre + +Para utilizar un argumento con nombre debe ejecutar `bitcoin-cli` con el argumento `-named`. Si planeas hacer esto regularmente, probablemente querrás crear un alias: +``` +alias bitcoin-cli="bitcoin-cli -named" +``` +Como siempre, esto es para facilitar su uso, pero seguiremos usando los comandos completos para mantener la claridad. + +## Probar un argumento con nombre + +Para conocer los nombres de los argumentos de un comando, consulta la ayuda de `bitcoin-cli`. Enumerará los argumentos en su orden correcto, pero ahora también dará nombres para cada uno de ellos. + +Por ejemplo, `bitcoin-cli help getbalance` lista estos argumentos: + + 1. dummy [used to be account] + 2. minconf + 3. include_watchonly + 4. avoid_reuse + +A continuación se muestra un uso tradicional y poco intuitivo de `getbalance` utilizando el argumento de confirmación mínima: +``` +$ bitcoin-cli getbalance "*" 1 +``` +Con los argumentos con nombre, puede aclarar lo que está haciendo, lo que también minimiza los errores: +``` +$ bitcoin-cli -named getbalance minconf=1 +``` + +## Probar una transacción en crudo + +A continuación se muestran los comandos para enviar una transacción en crudo con argumentos nombrados: +``` +$ utxo_txid=$(bitcoin-cli listunspent | jq -r '.[0] | .txid') +$ utxo_vout=$(bitcoin-cli listunspent | jq -r '.[0] | .vout') +$ recipient="n2eMqTT929pb1RDNuqEnxdaLau1rxy3efi" + +$ rawtxhex=$(bitcoin-cli -named createrawtransaction inputs='''[ { "txid": "'$utxo_txid'", "vout": '$utxo_vout' } ]''' outputs='''{ "'$recipient'": 0.00001 }''') +$ bitcoin-cli -named decoderawtransaction hexstring=$rawtxhex +{ + "txid": "2b59c31bc232c0399acee4c2a381b564b6fec295c21044fbcbb899ffa56c3da5", + "hash": "2b59c31bc232c0399acee4c2a381b564b6fec295c21044fbcbb899ffa56c3da5", + "version": 2, + "size": 85, + "vsize": 85, + "weight": 340, + "locktime": 0, + "vin": [ + { + "txid": "ca4898d8f950df03d6bfaa00578bd0305d041d24788b630d0c4a32debcac9f36", + "vout": 0, + "scriptSig": { + "asm": "", + "hex": "" + }, + "sequence": 4294967295 + } + ], + "vout": [ + { + "value": 0.00001000, + "n": 0, + "scriptPubKey": { + "asm": "OP_DUP OP_HASH160 e7c1345fc8f87c68170b3aa798a956c2fe6a9eff OP_EQUALVERIFY OP_CHECKSIG", + "hex": "76a914e7c1345fc8f87c68170b3aa798a956c2fe6a9eff88ac", + "reqSigs": 1, + "type": "pubkeyhash", + "addresses": [ + "n2eMqTT929pb1RDNuqEnxdaLau1rxy3efi" + ] + } + } + ] +} + +$ signedtx=$(bitcoin-cli -named signrawtransactionwithwallet hexstring=$rawtxhex | jq -r '.hex') +$ bitcoin-cli -named sendrawtransaction hexstring=$signedtx +e70dd2aa13422d12c222481c17ca21a57071f92ff86bdcffd7eaca71772ba172 +``` +¡Voilà! Ha enviado otra transacción en crudo, pero esta vez utilizando argumentos con nombre para mayor claridad y para reducir los errores. + +> : advertencia: **ADVERTENCIA DE VERSIÓN:** Aquí es donde aparece el error en Bitcoin Core 0.14: el argumento 'inputs' para 'createrawtransaction' se llama erróneamente 'transactions'. Así que, si está en Bitcoin Core 0.14.0, sustituye el argumento 'inputs' por 'transactions' para este y futuros ejemplos. Sin embargo, a partir de Bitcoin Core 0.14.1, este código debería funcionar como se muestra. + +## Resumen: Creación de una transacción en crudo con argumentos nombrados + +Ejecutando `bitcoin-cli` con la bandera `-named`, puedes utilizar argumentos con nombre en lugar de depender de argumentos ordenados. La ayuda de `bitcoin-cli` le mostrará siempre el nombre correcto de cada argumento. Esto puede resultar en un código más robusto, más fácil de leer y menos propenso a errores. + +Esta documentación utilizará argumentos con nombre para todos los ejemplos futuros, por claridad y para establecer las mejores prácticas. Sin embargo, también mostrará todos los argumentos en el orden correcto. Por lo tanto, si prefiere no utilizar argumentos con nombre, simplemente elimine la bandera '-named' y todos los "name="s y los ejemplos deberían seguir funcionando correctamente._ + +## ¿Qué sigue? + +Continuar "Enviando transacciones de Bitcoin" con [§4.4: Sending Coins with Raw Transactions](04_4_Sending_Coins_with_a_Raw_Transaction.md). From 0f01295f4a049cf66fb566a2eed4ad582624b755 Mon Sep 17 00:00:00 2001 From: Said Rahal Date: Sat, 28 Aug 2021 01:51:48 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Update=20and=20rename=2004=5F3=5FCreando=5F?= =?UTF-8?q?una=5FTransacci=C3=B3n=5FCruda=5Fcon=5FArgumentos=5FIngresados?= =?UTF-8?q?=5Fcon=5FNombre=20to=2004=5F3=5FCreando=5Funa=5FTransaccion=5FC?= =?UTF-8?q?ruda=5Fcon=5FArgumentos=5FIngresados=5Fcon=5FNombre.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...n_Cruda_con_Argumentos_Ingresados_con_Nombre.md} | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) rename es/{04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre => 04_3_Creando_una_Transaccion_Cruda_con_Argumentos_Ingresados_con_Nombre.md} (62%) diff --git a/es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre b/es/04_3_Creando_una_Transaccion_Cruda_con_Argumentos_Ingresados_con_Nombre.md similarity index 62% rename from es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre rename to es/04_3_Creando_una_Transaccion_Cruda_con_Argumentos_Ingresados_con_Nombre.md index 7e62ef9..dfb9c63 100644 --- a/es/04_3_Creando_una_Transacción_Cruda_con_Argumentos_Ingresados_con_Nombre +++ b/es/04_3_Creando_una_Transaccion_Cruda_con_Argumentos_Ingresados_con_Nombre.md @@ -1,12 +1,12 @@ -# 4.3 Creación de una transacción en crudo con argumentos nombrados +# 4.3 Creación de una transacción en cruda con argumentos ingresado con nombre A veces puede ser desalentador averiguar el orden correcto de los argumentos de un comando bitcoin-cli. Afortunadamente, puede utilizar _argumentos con nombre_ como alternativa. -> : advertencia: **ADVERTENCIA DE VERSIÓN:** Esta es una innovación de Bitcoin Core v 0.14.0. Si ha utilizado nuestros scripts de instalación, es lo que debería tener, pero vuelva a comprobar su versión si tiene algún problema. También hay un error en el uso del comando `createrawtransaction` de los argumentos con nombre que presumiblemente será corregido en 0.14.1. +> ⚠️ **ADVERTENCIA DE VERSIÓN:** Esta es una innovación de Bitcoin Core v 0.14.0. Si ha utilizado nuestros scripts de instalación, es lo que debería tener, pero vuelva a comprobar su versión si tiene algún problema. También hay un error en el uso del comando `createrawtransaction` de los argumentos con nombre que presumiblemente será corregido en 0.14.1. ## Crear un Alias para el argumento con nombre -Para utilizar un argumento con nombre debe ejecutar `bitcoin-cli` con el argumento `-named`. Si planeas hacer esto regularmente, probablemente querrás crear un alias: +Para utilizar un argumento con nombre debe ejecutar `bitcoin-cli` con el argumento `-named`. Si planea hacer esto regularmente, probablemente querrá crear un alias: ``` alias bitcoin-cli="bitcoin-cli -named" ``` @@ -84,14 +84,14 @@ e70dd2aa13422d12c222481c17ca21a57071f92ff86bdcffd7eaca71772ba172 ``` ¡Voilà! Ha enviado otra transacción en crudo, pero esta vez utilizando argumentos con nombre para mayor claridad y para reducir los errores. -> : advertencia: **ADVERTENCIA DE VERSIÓN:** Aquí es donde aparece el error en Bitcoin Core 0.14: el argumento 'inputs' para 'createrawtransaction' se llama erróneamente 'transactions'. Así que, si está en Bitcoin Core 0.14.0, sustituye el argumento 'inputs' por 'transactions' para este y futuros ejemplos. Sin embargo, a partir de Bitcoin Core 0.14.1, este código debería funcionar como se muestra. +> ⚠️ **ADVERTENCIA DE VERSIÓN:** Aquí es donde aparece el error en Bitcoin Core 0.14: el argumento 'inputs' para 'createrawtransaction' se llama erróneamente 'transactions'. Así que, si está en Bitcoin Core 0.14.0, sustituye el argumento 'inputs' por 'transactions' para este y futuros ejemplos. Sin embargo, a partir de Bitcoin Core 0.14.1, este código debería funcionar como se muestra. ## Resumen: Creación de una transacción en crudo con argumentos nombrados -Ejecutando `bitcoin-cli` con la bandera `-named`, puedes utilizar argumentos con nombre en lugar de depender de argumentos ordenados. La ayuda de `bitcoin-cli` le mostrará siempre el nombre correcto de cada argumento. Esto puede resultar en un código más robusto, más fácil de leer y menos propenso a errores. +Ejecutando `bitcoin-cli` con la bandera `-named`, puede utilizar argumentos con nombre en lugar de depender de argumentos ordenados. La ayuda de `bitcoin-cli` le mostrará siempre el nombre correcto de cada argumento. Esto puede resultar en un código más robusto, más fácil de leer y menos propenso a errores. -Esta documentación utilizará argumentos con nombre para todos los ejemplos futuros, por claridad y para establecer las mejores prácticas. Sin embargo, también mostrará todos los argumentos en el orden correcto. Por lo tanto, si prefiere no utilizar argumentos con nombre, simplemente elimine la bandera '-named' y todos los "name="s y los ejemplos deberían seguir funcionando correctamente._ +_Esta documentación utilizará argumentos con nombre para todos los ejemplos futuros, por claridad y para establecer las mejores prácticas. Sin embargo, también mostrará todos los argumentos en el orden correcto. Por lo tanto, si prefiere no utilizar argumentos con nombre, simplemente elimine la bandera '-named' y todos los "name="s y los ejemplos deberían seguir funcionando correctamente._ ## ¿Qué sigue? -Continuar "Enviando transacciones de Bitcoin" con [§4.4: Sending Coins with Raw Transactions](04_4_Sending_Coins_with_a_Raw_Transaction.md). +Continuar "Enviando transacciones de Bitcoin" con [§4.4: Enviando Monedas con una Transacción Cruda](04_4_Enviando_Monedas_con_una_Transaccion_Cruda.md).