mirror of
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
synced 2025-06-07 07:56:31 +00:00
Review 12_2
This commit is contained in:
parent
a0e422b75e
commit
4f380e5180
@ -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).
|
Loading…
x
Reference in New Issue
Block a user