🇧🇷
Ethereum Developer Pack - PT
  • Ethereum Developer Pack - PT
  • Módulo 1
    • Introdução a Smart Contracts
      • Fundamentos de Blockchain
        • Histórico
        • Bitcoin
        • O que é Blockchain
        • Conceitos-chave em Blockchain
        • Como funciona a Blockchain
        • Tipos de Blockchain
        • Modelos de Consenso
      • A nova Internet
        • Web 3
        • Elementos Fundamentais
        • Impacto do Ethereum em Diversos Setores
      • Wallets
        • Componentes de uma wallet
        • Tipos de Wallet
        • Códigos Mnemônicos
      • Ethereum 101
        • Smart Contracts
        • Contas
          • Tipos de contas
          • Conteúdo das contas
        • Transações
          • Componentes
          • Ciclo de vida
        • Gás
        • Solidity
        • EVM
          • A máquina de estados
          • Opcodes
          • Como funciona a EVM
          • Clientes de execução
          • DApps
      • Blockchain Explorer
        • Funções de um blockchain explorer
        • Beneficios de utilizar um blockchain explorer
      • Remix
        • Características do Remix
        • Workspaces ou espaços de trabalho
        • Carregar e compilar um contrato
        • Implantar na máquina virtual do Remix (Remix VM)
        • Interagindo com funções
        • Deployar em uma rede pública
      • Crie seu primeiro Smart Contract
  • Módulo 2
    • Fundamentos de Solidity
      • Hello World
      • Tipos de Dados
      • Funções
      • Variáveis
        • Exercício 1
      • Operadores
        • Ejercicio 2
      • Constructor
        • Exercício 3
      • Convenções de nomenclatura
      • Tipos de armazenamento para variáveis
      • Estruturas de Controle
        • Exercício 4
      • Modificadores
      • Eventos
        • Exercício 5
      • Tipos de Referencia
        • Arrays
          • Exercício 6
        • Mappings
          • Exercício 7
        • Structs
          • Exercício 8
      • Address Payable
      • Como os contratos e funções recebem Ether.
      • Transferências de Ether
      • Conceitos Avançados
        • Codificação de ABI
        • Hashing
        • This
        • Herança
        • Abstract
        • Interface
        • Chamada entre contratos
        • EVM
        • ABI
        • Bytecode
        • Opcodes
  • Módulo 3
    • ERCs, Bibliotecas e Padrões de Desenvolvimento
      • Boas Práticas de Desenvolvimento
      • Padrões de Desenvolvimento
      • EIP & ERC
      • ERC-20
      • ERC-721
      • Open Zeppelin
      • Crie um Token ERC-20
      • Almacenamiento Descentralizado: IPFS
      • Crea un Token ERC-721
      • DeFi
  • Módulo 4
    • Kit de ferramentas para desenvolvimento na Ethereum
      • Requisitos para o módulo 4
        • Terminal
        • Git e Github
        • Node.js e npm
        • Visual Studio Code para Solidity
      • Toolkit
        • JSON-RPC
        • Ethers.js
          • Exercício
        • Hardhat
          • Implantação de um contrato no Hardhat
          • Implantação de um contrato em uma rede pública
        • Scaffold-ETH
          • Características do Scaffold-ETHCaracterísticas
          • Como instalar o Scaffold-ETH
  • Módulo 5
    • Segurança, Testes e Auditorias
      • Testes
        • Importância de realizar testes
        • Métodos para testar contratos inteligentes
          • Testes automatizados
          • Testes manuais
        • Conceitos importantes em testes
        • Ferramentas para testes
        • Testes com Hardhat
        • Recursos adicionais
      • Segurança
        • Uma mentalidade diferente de design
        • Principais vulnerabilidades em contratos inteligentes
          • Reentrancy attack (ataque de reentrada)
          • Replay attack (ataque de repetición)
          • Price Oracle Manipulation (Manipulación de Oráculos de Precios)
          • Missing Access Control (Pérdida de Control de Acceso)
          • Reward Manipulation (Manipulación de Recompensas)
          • Failure to Initialize (Falla al Inicializar)
          • Front-running
          • Invariant Breaks (Quebra de Invariantes)
          • Mishandling of ETH (Má gestão de ETH)
          • Denial of Service (DoS - Negação de Serviço)
          • Integer overflow and underflow (Overflow e Underflow de inteiros)
          • Phishing y Typosquatting
        • Recursos adicionais
      • Auditoria de smart contracts
        • Processo de Auditoria
        • Ferramentas
        • Como se preparar para uma auditoria
        • O teste Rekt
        • Desafios
        • Recursos adicionais
  • Contribuye
    • Kipu Explorer
Powered by GitBook
On this page
  1. Módulo 1
  2. Introdução a Smart Contracts
  3. Ethereum 101

Smart Contracts

Os códigos executáveis ou programas dentro do Ethereum são chamados de smart contracts (contratos inteligentes), baseados na premissa de que um programa é similar a um contrato: uma vez que certas condições são atendidas, ações são desencadeadas. O Ethereum é uma "computadora" mundial descentralizada que executa smart contracts.

Un ejemplo de smart contract para soportar una apuesta por un partido de fútbol podría ser el siguiente:

El smart contract recibe a través de una transacción el importe de la apuesta (10 dólares) de cada uno de los dos jugadores participantes. El jugador A gana si el equipo XYZ gana o empata. El jugador B gana si el equipo XYZ pierde. El smart contract obtiene el resultado del partido de fútbol de una fuente confiable y predefinida, que podría ser otro smart contract, una página web en la que iría a buscar el resultado o de una persona delegada. Según el resultado del partido, el smart contract envía electrónicamente 20 dólares al ganador.

Respecto al término “Smart Contract”

Por um lado, o termo smart contracts ou contratos inteligentes pode ser enganoso, pois não são contratos nem são inteligentes. Não são contratos porque não existe obrigação legal para seu cumprimento. Não são inteligentes porque, se ocorrer alguma situação não contemplada no smart contract, este não saberá como resolvê-la, pois para um programa só existem as situações consideradas em seu código.

Por outro lado, a origem desse conceito vem de princípios dos anos 90, quando Nick Szabo, o inventor do Bit Gold, propôs o termo indicando que «os smart contracts combinam protocolos com interfaces de usuário para formalizar e assegurar relações sobre redes de computadores. Este esquema elimina a necessidade de pagar intermediários como auditores, contadores, advogados e notários públicos, ao executar os acordos por meio de um programa de computador».

Para efeitos práticos, consideremos que os smart contracts são programas que rodam no Ethereum. Mais adiante no curso, veremos como criar um smart contract.

Os códigos executáveis ou programas dentro do Ethereum são chamados de smart contracts (contratos inteligentes), sob a premissa de que um programa é similar a um contrato: uma vez cumpridas certas condições, ações são desencadeadas. O Ethereum é um computador global descentralizado que executa smart contracts.

Um exemplo de smart contract para suportar uma aposta em um jogo de futebol poderia ser o seguinte: O smart contract recebe, através de uma transação, o valor da aposta (10 dólares) de cada um dos dois jogadores participantes. O jogador A ganha se o time XYZ ganhar ou empatar. O jogador B ganha se o time XYZ perder. O smart contract obtém o resultado do jogo de futebol de uma fonte confiável e predefinida, que poderia ser outro smart contract, uma página da web onde ele vai buscar o resultado, ou de uma pessoa designada. De acordo com o resultado do jogo, o smart contract envia eletronicamente 20 dólares ao vencedor.

Sobre o termo "Smart Contract"

Por um lado, o termo smart contracts (contratos inteligentes) pode ser enganoso, pois não são contratos nem são inteligentes. Não são contratos porque não há uma obrigação legal para seu cumprimento. Não são inteligentes porque, se surgir alguma situação não contemplada no smart contract, ele não saberá como resolvê-la, pois para um programa só existem as situações previstas em seu código.

Por outro lado, a origem desse conceito remonta ao início dos anos 90, quando Nick Szabo, o inventor do Bit Gold, propôs o termo, indicando que "os smart contracts combinam protocolos com interfaces de usuário para formalizar e garantir relações em redes de computadores. Esse esquema elimina a necessidade de pagar intermediários como auditores, contadores, advogados e notários públicos, pois os acordos são executados por meio de um programa de computador".

Para efeitos práticos, consideremos que os smart contracts são programas que rodam no Ethereum. Mais adiante no curso, veremos como criar um smart contract.

PreviousEthereum 101NextContas

Last updated 23 days ago