الدرس رقم 1

Introdução aos contratos Vyper e Ethereum Smart

Ether (ETH) é a criptomoeda nativa da Ethereum e usa a linguagem de programação Soliity. A tecnologia fundamental da Ethereum, a blockchain, é um registo distribuído que mantém uma lista de registos permanente e inviolável. Esta arquitetura descentralizada permite aos desenvolvedores criar um conjunto diversificado de aplicativos descentralizados (DAPPs) aproveitando o poderoso ecossistema e a adaptabilidade da plataforma.

Introdução à Ethereum, Smart Contracts e Solidez

Compreender a Ethereum

A Ethereum é uma tecnologia inovadora que serve de base para um novo tipo de internet conhecido como a web descentralizada. A Ethereum, criada por Vitalik Buterin, é uma plataforma de código aberto baseada em blockchain que permite aos programadores criar e implementar aplicações descentralizadas, ou DAPPs. O uso da Ethereum de contratos inteligentes permite que os DAPPs sejam executados exatamente como planeado, sem tempo de inatividade, censura, fraude ou interferência de terceiros.

Leia Mais: O que é o Ethereum?

Ether (ETH) é a criptomoeda nativa da Ethereum e usa a linguagem de programação Soliity. A tecnologia fundamental da Ethereum, a blockchain, é um registo distribuído que mantém uma lista de registos permanente e inviolável. Esta arquitetura descentralizada permite aos desenvolvedores criar um conjunto diversificado de aplicativos descentralizados (DAPPs) aproveitando o poderoso ecossistema e a adaptabilidade da plataforma.

O poder dos contratos inteligentes

Os contratos inteligentes são contratos auto-executados com os termos do acordo diretamente escritos nas linhas de código. São os elementos fundamentais dos DAPPs no Ethereum. Estes contratos digitais executam transações automaticamente e movem a moeda nativa da Ethereum, Ether, entre contas quando as condições definidas no contrato são cumpridas. Esta automação elimina a necessidade de intermediários, aumentando muito a eficiência e a confiabilidade no processo. Como pequenos programas de computador são armazenados dentro de uma blockchain, os contratos inteligentes foram concebidos para aplicar automaticamente os seus termos e condições, trazendo um novo nível de automatização e precisão aos acordos digitais.

Leia mais: O que são Smart Contracts?

Vantagens e Casos de Uso de Smart Contracts

Como discutimos num dos nossos cursos anteriores aqui: Claro: Smart Contracts 101: Uma Introdução Básica, existem vários benefícios principais dos contratos inteligentes que os tornam num conceito revolucionário no mundo digital:

  1. Eliminação de intermediários: Os contratos inteligentes eliminam a necessidade de intermediários, levando a transações mais económicas.

  2. Descentralização: Ao construir contratos inteligentes no topo das blockchains, podem ser criadas plataformas descentralizadas, reduzindo a dependência de uma única entidade centralizada.

  3. Desenvolvimento fácil e acessível: Plataformas como a Ethereum fornecem os programadores de infraestrutura precisam para construir aplicativos baseados em transações de maneira fácil e sem custos.

  4. Segurança e transparência reforçadas: Como os contratos inteligentes estão escritos no código, as transações são irreversíveis e rastreáveis, garantindo maior transparência e segurança.

  5. Auto-imposição: Os contratos inteligentes são autofiscalizáveis, criando um ambiente sem confiança para a realização de transações com qualquer pessoa no mundo.

Solidez: A Língua Dominante

A linguagem mais comum para escrever contratos inteligentes no Ethereum é a Solidez. Influenciado pelo JavaScript, Python e C++, a Solidez é uma linguagem de tipo estatístico projetada para desenvolver contratos inteligentes Ethereum. É rico em recursos, maduro e tem um forte apoio da comunidade, fazendo com que seja a primeira escolha para muitos desenvolvedores da Ethereum.

Introdução ao Vyper

Vyper: Uma Alternativa Ethereum

Embora a Solidez tenha tomado as atenções no desenvolvimento Ethereum, uma linguagem alternativa chamada Vyper proporciona uma perspetiva única e valiosa. Vyper é uma linguagem pythonic focada na segurança, orientada para a simplicidade, concebida para escrever contratos inteligentes em Ethereum. Ao contrário da Solidez, a Vyper opta por renunciar a certas funcionalidades para garantir uma maior segurança e uma compreensão mais fácil dos contratos.

Porquê escolher a Vyper em vez de Solidez?

Apesar da popularidade do Soliity, o compromisso da Vyper com a segurança e legibilidade faz com que seja uma escolha atraente para muitos desenvolvedores. Oferece uma sintaxe mais acessível para quem conhece o Python, fazendo com que seja um ótimo ponto de partida para os desenvolvedores Python que procuram entrar no mundo dos DAPPs Ethereum.

Diferenças entre Solidez e Vyper

Para compreender melhor a Solidez e Vyper, vamos comparar as duas línguas com base em vários parâmetros, como sintaxe, curva de aprendizagem, tamanho dos arrays e cordas, suporte comunitário, tratamento de contratos e erros, definição variável, criação de leilões, especificações de funções, processos de retirada e rescisão de contrato.

Facilidade de sintaxe

Porque Solidez e Vyper são línguas de alto nível, a sua sintaxe é simples. No entanto, a sintaxe de Solidez é mais semelhante a linguagens amplamente utilizadas, como C++ e JavaScript, o que pode tornar mais fácil para alguns desenvolvedores. Já o Vyper é semelhante a Python, com uma sintaxe que é reconhecível pelos utilizadores Python.

Aprender Curva

Porque a Solidez é a linguagem mais popular, tem mais documentação e materiais de aprendizagem, o que pode ajudar com o processo de aprendizagem. Já o Vyper é mais recente e tem menos materiais de aprendizagem. A sua forma mais simples e semelhanças com o Python, por outro lado, fazem com que seja uma linguagem fácil de aprender para os desenvolvedores que já estão familiarizados com Python.

Tamanho das matrizes e cordas

A solidez fornece uma escala dinâmica de cadeias de caracteres e matrizes, permitindo que os desenvolvedores alterem o comprimento de uma cadeia de caracteres com base nas suas necessidades. Já o Vyper limita o tamanho das matrizes e cadeias de caracteres a fim de reduzir potenciais vulnerabilidades nos contratos inteligentes.

Apoio Comunitário

O uso generalizado do Solidez resultou numa comunidade próspera de desenvolvedores, especialistas e entusiastas. Vyper, como uma língua mais recente, não tem uma comunidade tão grande. Mas, à medida que progride, o apoio comunitário vai aumentar.

Definição de Contratos e Tratamento de Erros

Os contratos em Solidez podem ser definidos usando ferramentas como Brownie e VSCode. Ao criar um contrato, o Vyper apenas exige que seja especificada a versão do Vyper utilizada. Além disso, o Vyper permite a detecção instantânea de digitação, o que simplifica a depuração, enquanto o Solidarity exige que os contratos sejam compilados antes que os erros possam ser detectados.

Definição Variável

A definição variável no Vyper é simples e lembra uma linguagem de programação de alto nível. A solidez, por outro lado, tem uma abordagem mais complicada da declaração variável. Além disso, a solidez exige o uso de ponto-e-vírgula, o que adiciona outra camada de complicação.

Criar Leilões

Criar leilões no Vyper é um processo simples. Permite que decoradores externos, permitindo que outros contratos o chamem. A solidez, por outro lado, exige um tratamento mais complexo, incluindo definições de erros potenciais e o uso de declarações 'if'.

Especificação da função

As funções Vyper podem ser decoradas com um decorador externo, permitindo-lhes aceitar pagamentos para transações. A solidez, por outro lado, exige passar as partes externas e pagáveis dentro da função. Além disso, a Solidez emprega declarações 'Se', enquanto a Vyper emprega declarações 'assert'.

Processo de retirada

Em contraste com a Solidez, o processo de retirada no Vyper é mais simples. A solidez exige definir o montante e criar declarações 'if', enquanto o Vyper pega um método mais simples.

Rescisão do Contrato

O Vyper verifica a hora com 'assert' mas Solidez exige uma instrução 'if' antes de definir a variável terminada como “Verdadeiro.” Além disso, ao contrário da Vyper, a Solidez exige a emissão do fim do leilão e a transferência de dinheiro.

Configurar o Vyper

Preparar o seu ambiente de desenvolvimento

Antes de poder começar a codificar no Vyper, precisa garantir que o seu computador está pronto para o desenvolvimento. Eis o que precisa fazer:

  1. Instale o Python: Vyper exige Python 3.6 ou superior. Pode descarregar Python no site oficial. Siga as instruções para instalá-lo na sua máquina. Pode verificar a instalação digitando
    python -version no seu terminal. Devia ver a versão Python que instalou como saída.

  2. Instalar Pip: Pip é um gerenciador de pacotes para Python. É utilizado para instalar e gerir pacotes adicionais que não fazem parte da biblioteca padrão do Python. O Pip deve ser instalado automaticamente quando instala o Python. Pode verificar a instalação digitando tubulação -versão no seu terminal. Se não estiver instalado, pode descarregá-lo do site oficial Pip e seguir as instruções lá.

Instalar o Vyper

Assim que o seu ambiente estiver pronto, pode instalar o Vyper. Abra o seu terminal e execute o seguinte comando:

Python
pip3 instalar vyper

Pode ver isso no fim do código, o terminal sugere que atualizemos o pip digitando o comando:

Python
python.exe -m pip instalação --upgrade pip

Execute este comando para garantir que tem a versão mais recente disponível do pip. Deverá ver uma mensagem assim depois de instalar a versão atualizada

Depois de a instalação estar concluída, pode verificar a versão do Vyper executando o vyper -version. Deveria ver a versão Vyper que instalou como saída.

Apresentamos as Ferramentas de Desenvolvimento da Vyper e IDEs

Embora possa escrever código Vyper em qualquer editor de texto, usar um ambiente de desenvolvimento integrado (IDE) pode facilitar muito o seu trabalho. Eis duas opções para si:

  1. Remix: Remix é um IDE baseado no navegador fornecido pela Ethereum. Suporta o Soliity e o Vyper e oferece funcionalidades como um compilador incorporado, um depurador robusto e um ambiente de teste. Pode começar a usar o Remix navegando para o site oficial Remix. Não é necessária nenhuma instalação. (Vamos usar essa opção durante o nosso curso)

  2. Brownie: O Brownie é um ambiente de desenvolvimento e teste baseado em Python para o Ethereum. Apoia tanto o Solidez como o Vyper. Uma das principais vantagens do Brownie é que permite escrever testes em Python, uma linguagem com a qual muitos desenvolvedores já conhecem. Para instalar o Brownie, abra o seu terminal e execute o pip3 instale o eth-brownie. Isso vai exigir alguns minutos e muitas bibliotecas e pacotes serão instalados.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 1

Introdução aos contratos Vyper e Ethereum Smart

Ether (ETH) é a criptomoeda nativa da Ethereum e usa a linguagem de programação Soliity. A tecnologia fundamental da Ethereum, a blockchain, é um registo distribuído que mantém uma lista de registos permanente e inviolável. Esta arquitetura descentralizada permite aos desenvolvedores criar um conjunto diversificado de aplicativos descentralizados (DAPPs) aproveitando o poderoso ecossistema e a adaptabilidade da plataforma.

Introdução à Ethereum, Smart Contracts e Solidez

Compreender a Ethereum

A Ethereum é uma tecnologia inovadora que serve de base para um novo tipo de internet conhecido como a web descentralizada. A Ethereum, criada por Vitalik Buterin, é uma plataforma de código aberto baseada em blockchain que permite aos programadores criar e implementar aplicações descentralizadas, ou DAPPs. O uso da Ethereum de contratos inteligentes permite que os DAPPs sejam executados exatamente como planeado, sem tempo de inatividade, censura, fraude ou interferência de terceiros.

Leia Mais: O que é o Ethereum?

Ether (ETH) é a criptomoeda nativa da Ethereum e usa a linguagem de programação Soliity. A tecnologia fundamental da Ethereum, a blockchain, é um registo distribuído que mantém uma lista de registos permanente e inviolável. Esta arquitetura descentralizada permite aos desenvolvedores criar um conjunto diversificado de aplicativos descentralizados (DAPPs) aproveitando o poderoso ecossistema e a adaptabilidade da plataforma.

O poder dos contratos inteligentes

Os contratos inteligentes são contratos auto-executados com os termos do acordo diretamente escritos nas linhas de código. São os elementos fundamentais dos DAPPs no Ethereum. Estes contratos digitais executam transações automaticamente e movem a moeda nativa da Ethereum, Ether, entre contas quando as condições definidas no contrato são cumpridas. Esta automação elimina a necessidade de intermediários, aumentando muito a eficiência e a confiabilidade no processo. Como pequenos programas de computador são armazenados dentro de uma blockchain, os contratos inteligentes foram concebidos para aplicar automaticamente os seus termos e condições, trazendo um novo nível de automatização e precisão aos acordos digitais.

Leia mais: O que são Smart Contracts?

Vantagens e Casos de Uso de Smart Contracts

Como discutimos num dos nossos cursos anteriores aqui: Claro: Smart Contracts 101: Uma Introdução Básica, existem vários benefícios principais dos contratos inteligentes que os tornam num conceito revolucionário no mundo digital:

  1. Eliminação de intermediários: Os contratos inteligentes eliminam a necessidade de intermediários, levando a transações mais económicas.

  2. Descentralização: Ao construir contratos inteligentes no topo das blockchains, podem ser criadas plataformas descentralizadas, reduzindo a dependência de uma única entidade centralizada.

  3. Desenvolvimento fácil e acessível: Plataformas como a Ethereum fornecem os programadores de infraestrutura precisam para construir aplicativos baseados em transações de maneira fácil e sem custos.

  4. Segurança e transparência reforçadas: Como os contratos inteligentes estão escritos no código, as transações são irreversíveis e rastreáveis, garantindo maior transparência e segurança.

  5. Auto-imposição: Os contratos inteligentes são autofiscalizáveis, criando um ambiente sem confiança para a realização de transações com qualquer pessoa no mundo.

Solidez: A Língua Dominante

A linguagem mais comum para escrever contratos inteligentes no Ethereum é a Solidez. Influenciado pelo JavaScript, Python e C++, a Solidez é uma linguagem de tipo estatístico projetada para desenvolver contratos inteligentes Ethereum. É rico em recursos, maduro e tem um forte apoio da comunidade, fazendo com que seja a primeira escolha para muitos desenvolvedores da Ethereum.

Introdução ao Vyper

Vyper: Uma Alternativa Ethereum

Embora a Solidez tenha tomado as atenções no desenvolvimento Ethereum, uma linguagem alternativa chamada Vyper proporciona uma perspetiva única e valiosa. Vyper é uma linguagem pythonic focada na segurança, orientada para a simplicidade, concebida para escrever contratos inteligentes em Ethereum. Ao contrário da Solidez, a Vyper opta por renunciar a certas funcionalidades para garantir uma maior segurança e uma compreensão mais fácil dos contratos.

Porquê escolher a Vyper em vez de Solidez?

Apesar da popularidade do Soliity, o compromisso da Vyper com a segurança e legibilidade faz com que seja uma escolha atraente para muitos desenvolvedores. Oferece uma sintaxe mais acessível para quem conhece o Python, fazendo com que seja um ótimo ponto de partida para os desenvolvedores Python que procuram entrar no mundo dos DAPPs Ethereum.

Diferenças entre Solidez e Vyper

Para compreender melhor a Solidez e Vyper, vamos comparar as duas línguas com base em vários parâmetros, como sintaxe, curva de aprendizagem, tamanho dos arrays e cordas, suporte comunitário, tratamento de contratos e erros, definição variável, criação de leilões, especificações de funções, processos de retirada e rescisão de contrato.

Facilidade de sintaxe

Porque Solidez e Vyper são línguas de alto nível, a sua sintaxe é simples. No entanto, a sintaxe de Solidez é mais semelhante a linguagens amplamente utilizadas, como C++ e JavaScript, o que pode tornar mais fácil para alguns desenvolvedores. Já o Vyper é semelhante a Python, com uma sintaxe que é reconhecível pelos utilizadores Python.

Aprender Curva

Porque a Solidez é a linguagem mais popular, tem mais documentação e materiais de aprendizagem, o que pode ajudar com o processo de aprendizagem. Já o Vyper é mais recente e tem menos materiais de aprendizagem. A sua forma mais simples e semelhanças com o Python, por outro lado, fazem com que seja uma linguagem fácil de aprender para os desenvolvedores que já estão familiarizados com Python.

Tamanho das matrizes e cordas

A solidez fornece uma escala dinâmica de cadeias de caracteres e matrizes, permitindo que os desenvolvedores alterem o comprimento de uma cadeia de caracteres com base nas suas necessidades. Já o Vyper limita o tamanho das matrizes e cadeias de caracteres a fim de reduzir potenciais vulnerabilidades nos contratos inteligentes.

Apoio Comunitário

O uso generalizado do Solidez resultou numa comunidade próspera de desenvolvedores, especialistas e entusiastas. Vyper, como uma língua mais recente, não tem uma comunidade tão grande. Mas, à medida que progride, o apoio comunitário vai aumentar.

Definição de Contratos e Tratamento de Erros

Os contratos em Solidez podem ser definidos usando ferramentas como Brownie e VSCode. Ao criar um contrato, o Vyper apenas exige que seja especificada a versão do Vyper utilizada. Além disso, o Vyper permite a detecção instantânea de digitação, o que simplifica a depuração, enquanto o Solidarity exige que os contratos sejam compilados antes que os erros possam ser detectados.

Definição Variável

A definição variável no Vyper é simples e lembra uma linguagem de programação de alto nível. A solidez, por outro lado, tem uma abordagem mais complicada da declaração variável. Além disso, a solidez exige o uso de ponto-e-vírgula, o que adiciona outra camada de complicação.

Criar Leilões

Criar leilões no Vyper é um processo simples. Permite que decoradores externos, permitindo que outros contratos o chamem. A solidez, por outro lado, exige um tratamento mais complexo, incluindo definições de erros potenciais e o uso de declarações 'if'.

Especificação da função

As funções Vyper podem ser decoradas com um decorador externo, permitindo-lhes aceitar pagamentos para transações. A solidez, por outro lado, exige passar as partes externas e pagáveis dentro da função. Além disso, a Solidez emprega declarações 'Se', enquanto a Vyper emprega declarações 'assert'.

Processo de retirada

Em contraste com a Solidez, o processo de retirada no Vyper é mais simples. A solidez exige definir o montante e criar declarações 'if', enquanto o Vyper pega um método mais simples.

Rescisão do Contrato

O Vyper verifica a hora com 'assert' mas Solidez exige uma instrução 'if' antes de definir a variável terminada como “Verdadeiro.” Além disso, ao contrário da Vyper, a Solidez exige a emissão do fim do leilão e a transferência de dinheiro.

Configurar o Vyper

Preparar o seu ambiente de desenvolvimento

Antes de poder começar a codificar no Vyper, precisa garantir que o seu computador está pronto para o desenvolvimento. Eis o que precisa fazer:

  1. Instale o Python: Vyper exige Python 3.6 ou superior. Pode descarregar Python no site oficial. Siga as instruções para instalá-lo na sua máquina. Pode verificar a instalação digitando
    python -version no seu terminal. Devia ver a versão Python que instalou como saída.

  2. Instalar Pip: Pip é um gerenciador de pacotes para Python. É utilizado para instalar e gerir pacotes adicionais que não fazem parte da biblioteca padrão do Python. O Pip deve ser instalado automaticamente quando instala o Python. Pode verificar a instalação digitando tubulação -versão no seu terminal. Se não estiver instalado, pode descarregá-lo do site oficial Pip e seguir as instruções lá.

Instalar o Vyper

Assim que o seu ambiente estiver pronto, pode instalar o Vyper. Abra o seu terminal e execute o seguinte comando:

Python
pip3 instalar vyper

Pode ver isso no fim do código, o terminal sugere que atualizemos o pip digitando o comando:

Python
python.exe -m pip instalação --upgrade pip

Execute este comando para garantir que tem a versão mais recente disponível do pip. Deverá ver uma mensagem assim depois de instalar a versão atualizada

Depois de a instalação estar concluída, pode verificar a versão do Vyper executando o vyper -version. Deveria ver a versão Vyper que instalou como saída.

Apresentamos as Ferramentas de Desenvolvimento da Vyper e IDEs

Embora possa escrever código Vyper em qualquer editor de texto, usar um ambiente de desenvolvimento integrado (IDE) pode facilitar muito o seu trabalho. Eis duas opções para si:

  1. Remix: Remix é um IDE baseado no navegador fornecido pela Ethereum. Suporta o Soliity e o Vyper e oferece funcionalidades como um compilador incorporado, um depurador robusto e um ambiente de teste. Pode começar a usar o Remix navegando para o site oficial Remix. Não é necessária nenhuma instalação. (Vamos usar essa opção durante o nosso curso)

  2. Brownie: O Brownie é um ambiente de desenvolvimento e teste baseado em Python para o Ethereum. Apoia tanto o Solidez como o Vyper. Uma das principais vantagens do Brownie é que permite escrever testes em Python, uma linguagem com a qual muitos desenvolvedores já conhecem. Para instalar o Brownie, abra o seu terminal e execute o pip3 instale o eth-brownie. Isso vai exigir alguns minutos e muitas bibliotecas e pacotes serão instalados.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.