mirror of
				https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
				synced 2025-10-31 18:37:36 +00:00 
			
		
		
		
	Merge pull request #287 from icculp/spanish-10_6
Chapter 10.6 translated, pending review
This commit is contained in:
		
						commit
						47a4019900
					
				
							
								
								
									
										42
									
								
								es/10_6_Spending_a_P2SH_Transaction.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								es/10_6_Spending_a_P2SH_Transaction.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | # 10.6: Gastando una Transacción P2SH | ||||||
|  | 
 | ||||||
|  | Antes de cerrar esta descripcion general de las transacciones P2SH, veremos cómo gastarlas. Esta sección es principalmente una descripción general, que hace referencia a una sección anterior en la que _ya_ gastamos una transacción P2SH. | ||||||
|  | 
 | ||||||
|  | ## Utilice el Guión de Canjear | ||||||
|  | 
 | ||||||
|  | Como vimos en [§6.2: Gastando una Transacción a una Multifirma](06_2_Spending_a_Transaction_to_a_Multisig.md), gastar una transacción P2SH se trata de tener esa versión serializada del script de bloqueo, el llamado _redeemScript_. Entonces, el primer paso para poder gastar una transacción P2SH es asegurarse de guardar el _redeemScript_ antes de dar la dirección P2SH a todos.  | ||||||
|  | 
 | ||||||
|  | ### Recoge Sus Variables | ||||||
|  | 
 | ||||||
|  | Debido a que las direcciones P2SH distintas de las direcciones segwit anidadas y mulifirmas especiales no están integradas en `bitcoin-cli` no habrá atajos para el gasto P2SH como viste en [§6.3: Enviando una Multifirma Automatizada](6_3_Sending_an_Automated_Multisig.md). ¡Necesitará recopilar todas las variables más complejas por tu cuenta! | ||||||
|  | 
 | ||||||
|  | Esto significa que debe recopilar: | ||||||
|  | 
 | ||||||
|  |    * El `hex` de la `scriptPubKey` para la transacción que está gastando | ||||||
|  |    * El `redeemScript` serializado | ||||||
|  |    * Cualquier clave privada, ya que estará firmando a mano | ||||||
|  |    * Todos los `txids`, `vouts`, y `direcciones` regulares que necesitaría | ||||||
|  | 
 | ||||||
|  | ## Crear la Transacción | ||||||
|  | 
 | ||||||
|  | Como vimos en §6.2, la creación de una transacción es bastante estándar: | ||||||
|  | ``` | ||||||
|  | $ rawtxhex=$(bitcoin-cli -named createrawtransaction inputs='''[ { "txid": "'$utxo_txid'", "vout": '$utxo_vout' } ]''' outputs='''{ "'$recipient'": 0.00005}''') | ||||||
|  | $ echo $rawtxhex | ||||||
|  | 020000000121654fa95d5a268abf96427e3292baed6c9f6d16ed9e80511070f954883864b10000000000ffffffff0188130000000000001600142c48d3401f6abed74f52df3f795c644b4398844600000000 | ||||||
|  | ``` | ||||||
|  | Sin embargo, la firma requiere ingresar información adicional para (1) `scriptPubKey`; (2) el `redeemScript`; y (3) cualquier clave privada requerida. | ||||||
|  | 
 | ||||||
|  | Este es el ejemplo de cómo hacerlo para esa multifirma incrustada en P2SH en §6.2: | ||||||
|  | ``` | ||||||
|  | $ bitcoin-cli -named signrawtransactionwithkey hexstring=$rawtxhex prevtxs='''[ { "txid": "'$utxo_txid'", "vout": '$utxo_vout', "scriptPubKey": "'$utxo_spk'", "redeemScript": "'$redeem_script'" } ]''' privkeys='["cNPhhGjatADfhLD5gLfrR2JZKDE99Mn26NCbERsvnr24B3PcSbtR"]' | ||||||
|  | ``` | ||||||
|  | Con cualquier otro tipo de P2SH, incluirá un `redeemscript` diferente, pero por lo demás, la práctica es exactamente la misma. La única diferencia es que después de dos capítulos de trabajo en Scripts, ahora comprende qué es el `scriptPubKey` y qué es el `redeemScript`, así que con suerte lo que eran elementos misteriosos hace cuatro capítulos ahora es viejo sombrero. | ||||||
|  | 
 | ||||||
|  | ## Resumen: Gastar una Transacción con un Bitcoin Script | ||||||
|  | 
 | ||||||
|  | Ya gastó un P2SH en el Capítulo 6, cuando reenvió una transacción multifirma de la manera difícil, lo que requirió alinear la información de `scriptPubKey` y `redeemScript`. Ahora sabe que el `scriptPubKey` es un script de bloqueo P2SH estandarizado, mientras que el `redeemScript` coincide con un hash en ese script de bloqueo y que necesita poder ejecutarlo con las variables adecuadas para recibir un resultado `True`. Pero aparte de saber más, no hay nada nuevo en gastar una transacciónn P2SH, porque ya lo hizo! | ||||||
|  | 
 | ||||||
|  | ## Que Sigue? | ||||||
|  | 
 | ||||||
|  | Avanzar a través de "Bitcoin Scripting" con el [Capítulo Once: Potenciando Bloqueos de Tiempo con Bitcoin Scripts](11_0_Empowering_Timelock_with_Bitcoin_Scripts.md). | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user