You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: pt/10_3_Running_a_Bitcoin_Script_with_P2SH.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
# 10.3: Executando um script Bitcoin com P2SH
1
+
# 10.3: Executando um Script no Bitcoin com P2SH
2
2
3
-
Agora que conhecemos a teoria e a prática por trás dos endereços P2SH, estamos prontos para transformar um script de Bitcoin nãopadrão em uma transação real. Vamos utilizar o script de bloqueio simples da seção [§9.2: Executando um Script no Bitcoin](09_2_Running_a_Bitcoin_Script.md), `OP_ADD 99 OP_EQUAL`.
3
+
Agora que conhecemos a teoria e a prática por trás dos endereços P2SH, estamos prontos para transformar um script de Bitcoin não-padrão em uma transação real. Vamos utilizar o script de bloqueio simples da seção [§9.2: Executando um Script no Bitcoin](09_2_Running_a_Bitcoin_Script.md), `OP_ADD 99 OP_EQUAL`.
4
4
5
5
## Criando uma transação P2SH
6
6
@@ -12,7 +12,7 @@ Para bloquear uma transação com este script, precisamos fazer o seguinte:
12
12
* Não se preocupe com a conversão porque é apenas um byte.
13
13
3. OP_EQUAL = 0x87 - uma tradução simples do opcode;
14
14
4.```<serialized99Equal>``` = "93016387".
15
-
15
+
16
16
```
17
17
$ btcc OP_ADD 99 OP_EQUAL
18
18
93016387
@@ -26,11 +26,11 @@ $ btcc OP_ADD 99 OP_EQUAL
26
26
27
27
Podemos então criar uma transação usando o ```scriptPubKey```, provavelmente através de uma API.
28
28
29
-
## Desbloqueando a transação P2SH
29
+
## Desbloqueando a Transação P2SH
30
30
31
31
Para desbloquear essa transação, é necessário que o destinatário produza um ```scriptSig``` que acrescente duas constantes, totalizando noventa e nove, ao script serializado:```1 98 <serialized99Equal>```.
32
32
33
-
### Executando a primeira rodada de validação
33
+
### Executando a Primeira Rodada de Validação
34
34
35
35
O processo de desbloqueio da transação P2SH começa com uma primeira rodada de validação, que nada mais é que a verificação se o script de resgate corresponde ao valor hash no script de bloqueio.
36
36
@@ -59,13 +59,13 @@ Script:
59
59
Running: <hashed99Equal> <hashed99Equal> OP_EQUAL
60
60
Stack: [ 1 98 True ]
61
61
```
62
-
O script termina com um ```True``` no topo da pilha e, portanto, foi bem-sucedido... Embora haja outro fragmento abaixo dele.
62
+
O script termina com um ```True``` no topo da pilha e, portanto, foi bem-sucedido... embora haja outro fragmento abaixo dele.
63
63
64
64
Porém, por se tratar de um script P2SH, a execução não está concluída.
65
65
66
-
### Executando a segunda rodada de validação
66
+
### Executando a Segunda Rodada de Validação
67
67
68
-
Para a segunda rodada de validação, vamos verificar se os valores no script de desbloqueio satisfazem o ```redeemScript```: Desserializando o ```redeemScript``` ("93016387" = "OP_ADD 99 OP_EQUAL") e executando-o usando os itens no ```scriptSig``` anterior para o script serializado:
68
+
Para a segunda rodada de validação, vamos verificar se os valores no script de desbloqueio satisfazem o ```redeemScript```: desserializando o ```redeemScript``` ("93016387" = "OP_ADD 99 OP_EQUAL") e executando-o usando os itens no ```scriptSig``` anterior para o script serializado:
69
69
70
70
```
71
71
Script: 1 98 OP_ADD 99 OP_EQUAL
@@ -90,10 +90,10 @@ Stack: [ True ]
90
90
```
91
91
Com essa segunda validação _também_ verdadeira, o UTXO agora pode ser gasto!
92
92
93
-
## Resumo: Executando um script Bitcoin com P2SH
93
+
## Resumo: Executando um Script no Bitcoin com P2SH
94
94
95
95
Depois de conhecer a técnica de construção dos P2SH, qualquer script pode ser embutido em uma transação Bitcoin, e depois de entender a técnica de validação do P2SH, é fácil executar os scripts em duas fases.
96
96
97
-
## O que vem depois?
97
+
## O Que Vem Depois?
98
98
99
-
Vamos continuar "Incorporando Scripts em Transações P2SH no Bitcoin" na seção [§10.4: Criando scripts multisig](10_4_Scripting_a_Multisig.md).
99
+
Vamos continuar "Incorporando Scripts em Transações P2SH no Bitcoin" na seção [§10.4: Programando um Multisig](10_4_Scripting_a_Multisig.md).
0 commit comments