mirror of
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
synced 2025-06-07 07:56:31 +00:00
Review 10_6
This commit is contained in:
parent
4f4b624b35
commit
11fb617d74
@ -2,22 +2,22 @@
|
||||
|
||||
Antes de encerrarmos esta visão geral das transações P2SH, vamos abordar como gastá-las. Esta seção é principalmente uma visão geral, referindo-se a uma seção anterior onde _já_ gastamos uma transação P2SH.
|
||||
|
||||
## Usando o script de resgate
|
||||
## Usando o Script de Resgate
|
||||
|
||||
Como vimos na seção [§6.2: Gastando uma Transação com Multsig](06_2_Spending_a_Transaction_to_a_Multisig.md), gastar uma transação P2SH tem tudo a ver com ter aquela versão serializada do script de bloqueio, o chamado _redeemScript_. Portanto, o primeiro passo para poder gastar uma transação P2SH é ter certeza de salvar o _redeemScript_ antes de fornecer o endereço P2SH para todos.
|
||||
|
||||
### Coletando as variáveis
|
||||
### Coletando as Variáveis
|
||||
|
||||
Como os endereços P2SH são diferentes dos endereços multisig especiais e Segwit aninhados não estão integrados no ```bitcoin-cli```, não haverá atalhos para gastarmos o P2SH como vimos na seção [§6.3: Enviando e Gastando um Multisig de Maneira Automatizada](6_3_Sending_an_Automated_Multisig.md) . Vamos precisar coletar todas as variáveis mais complexas por conta própria!
|
||||
Como endereços P2SH além dos endereços especiais multisig e nested Segwit não estão integrados no ```bitcoin-cli```, não haverá atalhos para gastarmos o P2SH como vimos na seção [§6.3: Enviando e Gastando um Multisig de Maneira Automatizada](6_3_Sending_an_Automated_Multisig.md) . Vamos precisar coletar todas as variáveis mais complexas por conta própria!
|
||||
|
||||
Isso significa que precisaremos coletar:
|
||||
|
||||
* O ```hex``` do ```scriptPubKey``` para a transação que estamos gastando;
|
||||
* O ```redeemScript``` serializado;
|
||||
* Quaisquer chaves privadas, já que assinaremos manualmente;
|
||||
* Todos os ```txids```,```vouts``` e ```endereços``` regulares que precisarmos.
|
||||
* Todos os ```txids```,```vouts``` e ```addresses``` regulares que precisarmos.
|
||||
|
||||
## Criando a transação
|
||||
## Criando a Transação
|
||||
|
||||
Como vimos na seção §6.2, a criação de uma transação é bem padrão:
|
||||
```
|
||||
@ -27,7 +27,7 @@ $ echo $rawtxhex
|
||||
```
|
||||
No entanto, a assinatura requer a inserção de informações extras para o (1) ```scriptPubKey```; (2) o ```redeemScript``` e; (3) quaisquer chaves privadas necessárias.
|
||||
|
||||
Aqui está o exemplo de como fazer isso para aquele multisig P2SH integrado da seção §6.2:
|
||||
Aqui está o exemplo de como fazer isso para aquele multisig P2SH integrado na seção §6.2:
|
||||
```
|
||||
$ bitcoin-cli -named signrawtransactionwithkey hexstring=$rawtxhex prevtxs='''[ { "txid": "'$utxo_txid'", "vout": '$utxo_vout', "scriptPubKey": "'$utxo_spk'", "redeemScript": "'$redeem_script'" } ]''' privkeys='["cNPhhGjatADfhLD5gLfrR2JZKDE99Mn26NCbERsvnr24B3PcSbtR"]'
|
||||
```
|
||||
@ -35,8 +35,8 @@ Com qualquer outro tipo de P2SH, incluiremos um ```redeemscript``` diferente, ma
|
||||
|
||||
## Resumo: Gastando uma Transação P2SH
|
||||
|
||||
Já gastamos um P2SH no Capítulo 6, quando reenviamos uma transação multsig da maneira mais difícil, que exigia alinhar as informações do ```scriptPubKey``` e do ```redeemScript```. Agora sabemos que o ```scriptPubKey``` é um script de bloqueio P2SH padronizado, enquanto o ```redeemScript``` corresponde a um hash nesse script de bloqueio e que precisamos ser capazes de executá-lo com as variáveis adequadas para receber um resultado ```True```. Mas além disso, não há nada de novo ao gastar uma transação P2SH, porque já fizemos isso!
|
||||
Já gastamos um P2SH no Capítulo 6, quando reenviamos uma transação multsig da maneira mais difícil, que exigia alinhar as informações do ```scriptPubKey``` e do ```redeemScript```. Agora sabemos que o ```scriptPubKey``` é um script de bloqueio P2SH padronizado, enquanto o ```redeemScript``` corresponde a um hash naquele script de bloqueio e que precisamos ser capazes de executá-lo com as variáveis adequadas para receber um resultado ```True```. Mas além disso, não há nada de novo ao gastar uma transação P2SH, porque já fizemos isso!
|
||||
|
||||
## O que vem depois?
|
||||
## O Que Vem Depois?
|
||||
|
||||
Vamos avançar com os "Script do Bitcoin" no [Capítulo 11: Aumentando o poder do timelock com scripts do Bitcoin](11_0_Empowering_Timelock_with_Bitcoin_Scripts.md).
|
||||
Vamos avançar com "Programando Bitcoin" no [Capítulo 11: Capacitando Timelock com Scripts no Bitcoin](11_0_Empowering_Timelock_with_Bitcoin_Scripts.md).
|
Loading…
x
Reference in New Issue
Block a user