Review 12_2

This commit is contained in:
namcios 2021-08-10 10:53:32 -03:00
parent a0e422b75e
commit 4f380e5180
No known key found for this signature in database
GPG Key ID: 8E3A368317269AB4

View File

@ -1,8 +1,8 @@
# 12.2: Usando outros comandos no script
# 12.2: Usando Outros Comandos no Script
Já temos em mãos a maioria dos opcodes do script do Bitcoin que iremos usar na maioria dos nossos scripts. No entanto, o script do Bitcoin oferece muito mais opções, o que pode vir a ser exatamente o que precisamos para criar o nosso instrumento financeiro dos nossos sonhos.
Provavelmente já temos em mãos a maioria dos opcodes do Bitcoin Script que iremos usar na maioria dos nossos scripts. No entanto, o Bitcoin Script oferece muito mais opções, o que pode vir a ser exatamente o que precisamos para criar o instrumento financeiro dos nossos sonhos.
Devemos consultar a [página do script do Bitcoin](https://en.bitcoin.it/wiki/script) para termos uma lista mais completa de todos esses e muitos outros comandos. Esta seção destaca apenas os opcodes mais notáveis.
Devemos consultar a [página do script do Bitcoin](https://en.bitcoin.it/wiki/script) para termos uma lista mais completa de todos esses e muitos outros comandos. Esta seção destaca apenas os opcodes mais notáveis.
## Entendendo os Opcodes Aritméticos
@ -13,10 +13,10 @@ Manipulam um número:
* OP_1ADD (0x8b) - Adiciona uma unidade;
* OP_1SUB (0x8C) - Subtrai uma unidade;
* OP_NEGATE (0x8f) - Inverte o sinal do número;
* OP_ABS (0x90) - O número fica positivo;
* OP_ABS (0x90) - Torna o número positivo;
* OP_NOT (0x91) - Troca 1 por 0, senão 0.
É legal saber sobre o ```OP_0NOTEQUAL``` (0x92).
Veja também: ```OP_0NOTEQUAL``` (0x92).
Manipulam dois números matematicamente:
@ -38,15 +38,15 @@ Testa dois números:
* OP_LESSTHANOREQUAL (0xA1) - 1 se o primeiro número for menor ou igual ao segundo, senão 0;
* OP_GREATERTHANOREQUAL (0xA2) - 1 se o primeiro número for maior ou igual a segundo, senão 0.
É legal saber também: O ```OP_NUMEQUALVERIFY``` (0x9d) e o ```OP_NUMNOTEQUAL``` (0x9e)
Veja também: ```OP_NUMEQUALVERIFY``` (0x9d) e ```OP_NUMNOTEQUAL``` (0x9e)
Testa três números:
* OP_WITHIN (0xA5) - 1 se um número estiver no intervalo de dois outros números.
## Entendendo a Opcodes de Pilha
## Compreendendo os Opcodes de Pilha
Há um número chocante de opcodes de pilha, mas além de ```OP_DROP```, ```OP_DUP```, e às vezes, ```OP_SWAP``` geralmente não serão necessários se tivermos cuidado com a ordem da pilha. No entanto, aqui estão alguns dos mais interessantes:
Há um número chocante de opcodes de pilha, mas além de ```OP_DROP```, ```OP_DUP```, e às vezes ```OP_SWAP```, eles geralmente não serão necessários se tivermos cuidado com a ordem da pilha. No entanto, aqui estão alguns dos mais interessantes:
* OP_DEPTH (0x74) - Aumenta o tamanho da pilha;
* OP_DROP (0x75) - Retira o item superior da pilha;
@ -55,11 +55,11 @@ Há um número chocante de opcodes de pilha, mas além de ```OP_DROP```, ```OP_D
* OP_ROLL (0x7a) - Move o enésimo item para o topo da pilha;
* OP_SWAP(0x7C) - Troca os dois principais itens da pilha.
É legal saber também: O `OP_TOALTSTACK` (0x6b), `OP_FROMALTSTACK` (0x6c), `OP_2DROP` (0x6d), `OP_2DUP` (0x6e), `OP_3DUP` (0x6f), `OP_2OVER` (0x70), `OP_2ROT` (0x71), `OP_2SWAP` (0x72), `OP_IFDUP` (0x73), `OP_NIP` (0x77), `OP_OVER` (0x78), `OP_ROT` (0x7b), e o `OP_TUCK` (0x7d).
Veja também: `OP_TOALTSTACK` (0x6b), `OP_FROMALTSTACK` (0x6c), `OP_2DROP` (0x6d), `OP_2DUP` (0x6e), `OP_3DUP` (0x6f), `OP_2OVER` (0x70), `OP_2ROT` (0x71), `OP_2SWAP` (0x72), `OP_IFDUP` (0x73), `OP_NIP` (0x77), `OP_OVER` (0x78), `OP_ROT` (0x7b), e `OP_TUCK` (0x7d).
## Entendendo os Opcodes Criptográficos
## Compreendendo os Opcodes Criptográficos
Finalmente, uma variedade de opcodes para dar suporte ao hashing e a verificação da assinatura:
Finalmente, uma variedade de opcodes para dar suporte ao hashing e à verificação de assinatura:
Hash:
@ -71,15 +71,15 @@ Hash:
Verifica as assinaturas:
* Op_checksig (0xac) - Verifica uma assinatura;
* Op_checkmultisig (0xae) - Verifica uma multisig M-DE-N.
* OP_CHECKSIG (0xac) - Verifica uma assinatura;
* OP_CHECKMULTISIG (0xae) - Verifica um multisig m-de-n.
É legal saber também: O `OP_CODESEPARATOR` (0xab), `OP_CHECKSIGVERIFY` (0xad), e o `OP_CHECKMULTISIGVERIFY` (0xaf).
Veja também: `OP_CODESEPARATOR` (0xab), `OP_CHECKSIGVERIFY` (0xad), e `OP_CHECKMULTISIGVERIFY` (0xaf).
## Resumo: Usando outros comandos no script
## Resumo: Usando Outros Comandos no Script
O script do Bitcoin inclui uma ampla gama de opcodes aritméticos, de pilha e criptográficos. A maioria desses opcodes adicionais provavelmente não serão tão comuns quanto os discutidos nas seções anteriores, mas, no entanto, estão disponíveis, para sabermos que existem caso precisemos utilizá-los para escrever nosso script!
O Bitcoin Script inclui uma ampla gama de opcodes aritméticos, de pilha e criptográficos. A maioria desses opcodes adicionais provavelmente não serão tão comuns quanto os discutidos nas seções anteriores, mas, no entanto, estão disponíveis caso precisemos utilizá-los para escrever nosso script!
## O Que Vem Depois?
Vamos avançar do "Expandindo os Scripts do Bitcoin" para o [Capítulo 13: Projetando Scripts Reais no Bitcoin](13_0_Designing_real_bitcoin_scripts.md).
Vamos avançar "Expandindo os Scripts do Bitcoin" com o [Capítulo 13: Projetando Scripts Reais no Bitcoin](13_0_Designing_real_bitcoin_scripts.md).