O que é solidez?

intermediário11/23/2023, 6:30:52 PM
Descubra a essência do Solidity, a linguagem de contrato inteligente da Ethereum, e seu impacto na inovação do blockchain.

Compreender uma das principais linguagens de programação que impulsionam o mundo das aplicações descentralizadas e dos contratos inteligentes é um passo fundamental para qualquer pessoa que se aventure no mundo do blockchain.

Solidity não é apenas mais uma linguagem de codificação; é a força motriz por trás da criação de contratos autoexecutáveis e aplicações descentralizadas na blockchain Ethereum e em várias outras plataformas. Este artigo se aprofundará em como o Solidity funciona, explorando seu significado, recursos e aplicações no mundo real.

O que é solidez?

Solidity é uma linguagem de programação orientada a objetos de alto nível para escrever e executar contratos inteligentes no blockchain. Mais conhecido por sua conexão com a casa do DeFi, Ethereum, o Solidity foi criado pelos desenvolvedores do Ethereum para criar contratos inteligentes que rodam com a Máquina Virtual Ethereum na rede.

No espaço de desenvolvimento web3, Solidity é uma das linguagens de programação mais utilizadas, embora apresente elementos de outras linguagens populares como Javascript, C++ e Python. Solidity é uma linguagem estatisticamente tipada que oferece suporte a herança, tipos complexos definidos pelo usuário e bibliotecas, elementos essenciais para a funcionalidade de contratos inteligentes. Solidity é uma escolha popular entre desenvolvedores de contratos inteligentes porque é fácil de usar. A natureza da linguagem de programação (alto nível) substitui a digitação em bitcode (uns e zeros) por uma combinação de letras e números.

Antecedentes da linguagem de programação Solidity

Apesar de sua reputação atual como uma das linguagens de programação mais utilizadas, o Solidity teve um início humilde que remonta a 2014. Em 2014, Gavin Woods, Christian Reitwissner e outros desenvolvedores da Fundação Ethereum criaram o Solidity para apoiar o desenvolvimento da próxima rede Ethereum. Os desenvolvedores criaram o Solidity como uma linguagem que os desenvolvedores consideraram fácil de usar, expressiva e compatível com a Máquina Virtual Ethereum, um ambiente de execução central para a execução de contratos inteligentes.

Solidity é inspirado em linguagens existentes como Python, C++ e JavaScript. Ainda assim, sua originalidade vem de conceitos e sintaxe exclusivos incorporados especificamente para lidar com contratos inteligentes, variáveis de estado, modificadores e eventos.

Como funciona?

Solidity é usado principalmente para escrever contratos inteligentes. Os contratos inteligentes são a espinha dorsal da rede Ethereum e referem-se a programas que rodam na Máquina Virtual Ethereum (EVM) e atendem múltiplas funções, envolvendo principalmente a automação de transações na rede. O EVM funciona como guardião dos registros do “computador global” da Ethereum, o que significa que o EVM mantém o estado global da rede, incluindo endereços, saldos de contas e participações de tokens.

Os contratos Solidity são compilados em bytecode e lidos pelo EVM, o que significa que, teoricamente, os desenvolvedores podem escrever contratos inteligentes Ethereum diretamente com bytecode. No entanto, escrever diretamente com bytecode dificilmente é utilizado porque é mais técnico e sujeito a erros. Dessa forma, o uso de linguagens de alto nível como o Solidity permite que os desenvolvedores se concentrem na lógica e na funcionalidade do código, em vez de lidar com as complexidades da escrita em bytecode. Como resultado, os desenvolvedores podem codificar com mais eficiência e se concentrar mais na criação de contratos inteligentes que sejam mais fáceis de ler, escrever e manter.

O Solidity está sujeito a atualizações periódicas de versão, que são lançadas no Github. Os contratos inteligentes são imutáveis, o que significa que, uma vez implementados na cadeia, não podem ser revertidos. Como o próprio Solidity está em constante evolução, a imutabilidade dos contratos inteligentes o afeta porque quaisquer erros ou deficiências no código de um contrato não podem ser facilmente corrigidos quando ele estiver ativo. A razão é que cada versão possui comportamentos e recursos distintos, o que pode influenciar a funcionalidade do contrato e como ele interage com outros elementos do ecossistema Ethereum.

Recentemente, os desenvolvedores preferiram usar contratos proxy e contratos atualizáveis. Os contratos proxy permitem a execução do código de outro contrato. Os proxies atuam como intermediários, encaminhando chamadas e transações para o contrato pretendido, ao mesmo tempo que permitem funcionalidades adicionais, como controle de acesso ou registro. Os contratos atualizáveis envolvem essencialmente contratos inteligentes que podem ser atualizados sem perder seu estado original.

Ressalta-se que a versão do Solidity utilizada no momento da criação do contrato inteligente também é essencial, pois determinará o comportamento e as funcionalidades do contrato inteligente. Cada linha de código-fonte em cada contrato inteligente do Solidity, por mais simples que seja, deve começar com uma declaração de qual versão do compilador do Solidity deve ser usada para aquele trecho de código específico. Esta declaração é conhecida como “pragma de versão”.

Principais recursos da linguagem Solidity

Solidity é considerada a porta de entrada para o mundo das aplicações descentralizadas e contratos inteligentes baseados em blockchain. Alguns recursos principais que tornam o Solidity uma linguagem de programação tão produtiva incluem o seguinte.

Funções e tipos de dados integrados

Os desenvolvedores não precisam escrever instruções condicionais ou loops para executar ações que dependem de determinadas condições. Em vez disso, eles podem especificar as condições diretamente em seu código-fonte, e o contrato inteligente executará a ação específica somente quando essas condições forem atendidas. Isso torna o processo de codificação muito mais gerenciável.

O Solidity também oferece suporte aos tipos de dados mais comuns, como inteiros, números de ponto flutuante, strings, arrays e mapas. Os desenvolvedores também podem definir seus próprios tipos de dados e usá-los em seus contratos inteligentes.

Ambiente de codificação

O compilador do Solidity verifica consistentemente o código em busca de erros enquanto você o escreve e alerta sobre possíveis problemas. Isso é especialmente útil ao desenvolver dApps e contratos inteligentes grandes e complexos.

Casos de uso da linguagem de programação Solidity

O Solidity normalmente pode ser usado para criar contratos inteligentes que melhoram a transparência e a rastreabilidade na gestão da cadeia de suprimentos. Os contratos inteligentes baseados na solidez também podem ajudar a prevenir a falsificação e melhorar a confiança no processo da cadeia de abastecimento, registando transações e verificando a autenticidade dos produtos.

Solidity é frequentemente usado para desenvolver jogos baseados em blockchain e mundos virtuais com propriedade de ativos, economias no jogo e escassez comprovada. Solidity abre novas possibilidades para ativos digitais exclusivos e interações de jogadores. Os desenvolvedores também usaram o Solidity para criar lógica de troca descentralizada, mecanismos de leilão, protocolos de empréstimo, pagamentos condicionais, etc.

Além disso, Solidity é usado para implementar NFTs. Também permitiu a criação de DAOs, que são organizações autónomas que operam com base em contratos inteligentes, permitindo, por sua vez, uma tomada de decisão e governação transparentes.

Projetos que apoiam a solidez

Avalanche

Avalanche é uma plataforma blockchain de ponta que ganhou algum destaque no mundo do DeFi e dos contratos inteligentes. No Avalanche, as transações são processadas em segundos, tornando-o uma plataforma eficiente para aplicações DeFi e trocas de tokens. Sua compatibilidade com EVM permite que ele funcione perfeitamente com contratos inteligentes escritos em Solidity, contribuindo também para a adoção do Avalanche pelos desenvolvedores.

Mônaco

Monax é um projeto líder de blockchain projetado para revolucionar, simplificar e otimizar a forma como as empresas lidam com acordos legais. A plataforma permite a criação de acordos juridicamente vinculativos e automatiza vários aspectos da execução e gestão de contratos. É particularmente benéfico para as empresas, pois a Monax oferece-lhes uma forma segura e eficiente de gerir todo o ciclo de vida do contrato.

O Solidity auxilia auxiliando na criação de contratos inteligentes autoexecutáveis, enquanto a Monax estende essa tecnologia aos acordos jurídicos, permitindo que as empresas definam suas regras contratuais em um formato programável e autoexecutável.

Solidez vs. Ferrugem

Solidity e Rust compartilham algumas semelhanças básicas. Por um lado, ambas as linguagens de programação oferecem compatibilidade multichain. Embora o Solidity tenha sido projetado principalmente para Ethereum, ele suporta blockchains de camada 2, sidechains e, é claro, blockchains de camada 1 compatíveis com EVM, como Moonbeam e Avalanche-C chain. Rust também oferece suporte a um glossário de blockchains como Near e Solana, embora ainda seja a linguagem de programação que inspirou as linguagens Move e Sui.

Além disso, ambas as linguagens são linguagens completas de Turing. Isso significa que ambas as linguagens podem resolver qualquer problema computacional, independentemente da complexidade. As linguagens de programação herdaram esse recurso da máquina de Turing, desenvolvida por Alan Turing.

Por outro lado, Solidity e Rust possuem diferenças marcantes. Por exemplo, Solidity é uma linguagem de alto nível que oferece um alto nível de abstração da arquitetura do sistema de computador. Como resultado, o Solidity é mais fácil de aprender e usar, tornando-o uma linguagem mais orientada ao usuário. Por outro lado, Rust é uma linguagem de baixo nível mais próxima do hardware do computador e oferece boa eficiência e velocidade de memória, tornando-a uma linguagem mais orientada para a máquina.

Além disso, ambas as linguagens de programação usam paradigmas de programação diferentes. Um paradigma de programação é a abordagem usada para resolver um problema. Solidity, por um lado, é uma linguagem orientada a objetos, pois utiliza o paradigma orientado a objetos para resolver problemas. Por outro lado, Rust é uma linguagem multiparadigmática, o que significa que permite utilizar diferentes paradigmas ou abordagens para resolver problemas. Alguns dos paradigmas que o Rust suporta são orientados a objetos, funcionais e imperativos, entre vários outros.

Solidez vs. JavaScript

Solidity e Javascript são duas das linguagens de programação mais comuns, mas compartilham poucas semelhanças. Javascript foi uma das maiores inspirações para o Solidity, mas agora a única semelhança significativa é que o Solidity usa a palavra-chave ‘function’ para definir funções. A sintaxe do Solidity também tem uma aparência semelhante à do JavaScript, mas isso é um pouco enganador porque o Solidity e o JavaScript operam de maneira bem diferente.

Por outro lado, ambas as línguas diferem muito. JavaScript pode ser executado diretamente, enquanto o Solidity requer compilação porque JavaScript é uma linguagem interpretada, não uma linguagem compilada como o Solidity. Além disso, o Solidity tem a capacidade de transferir dinheiro. No entanto, esta não é uma capacidade incorporada, portanto os desenvolvedores devem utilizar uma interface de programação de aplicativos (API) externa.

Outra diferença entre as duas linguagens é que com o Solidity, uma vez implantado um contrato inteligente no Ethereum, ele é imutável e o código não pode mais ser editado. JavaScript também não permite interação direta com código em execução em outros servidores, mas se o servidor oferecer uma API que permita acesso, o desenvolvedor poderá editar o código.

Melhores recursos para aprender solidez

Learning Solidity é um dos primeiros passos para se tornar um desenvolvedor web3, pois é a linguagem de programação fundamental para desenvolvedores que desejam criar e implantar contratos inteligentes na rede Ethereum. Na hora de escolher um curso para aprender sobre Solidity, é fundamental avaliar os temas, formato e demais recursos complementares disponibilizados. Para obter o melhor conhecimento sobre Solidity, você pode considerar alguns recursos para usar, incluindo os seguintes.

Gate Learn

Gate Learn oferece um curso intitulado “Plataformas de Desenvolvimento Blockchain e Contratos Inteligentes”, onde eles fornecem uma visão geral das plataformas populares de desenvolvimento de blockchain, bem como seus principais recursos. Embora seja um curso abrangente, ele oferece informações importantes sobre o processo de desenvolvimento de um aplicativo blockchain básico usando Solidity.

Com este curso, você aprenderá como configurar o ambiente de desenvolvimento, escrever o contrato inteligente, definir as variáveis de estado do contrato, criar funções para interagir com o contrato, compilar e implantar o contrato.

Gate Learn também oferece um curso intitulado “Contratos Inteligentes 101: Uma Introdução Básica”, onde você pode aprender sobre os fundamentos dos contratos inteligentes e seus casos de uso em todos os setores e também interagir com contratos externos e implantar seus próprios contratos inteligentes usando MetaMask

Academia WTF

WTF Academy é uma plataforma de aprendizado de blockchain de código aberto, voltada para a comunidade, que oferece cursos completos sobre desenvolvimento web e blockchain, como JavaScript, análise on-chain, EVM Opcodes e Solidity. É patrocinado pela Fundação Ethereum, StarkWare e Optimism. Também recebeu doações de Gitcoin e Mirror.

A WTF Academy oferece cinco cursos de Solidity para iniciantes (Solidity 101, 102, 103, Solidity 104 Security e Solidity 104 Tx Analysis). Esses cursos são gratuitos e fornecem certificados após a conclusão.

O Curso Completo de Solidez – Blockchain – Zero a Expert [Udemy]

Este é um curso pago da Udemy que serve como uma solução completa para aprender Solidity. O curso o ajudará a começar do zero com os tópicos mais fundamentais e o levará a um nível avançado, onde você poderá construir contratos inteligentes e dApps complexos. É um curso completo, portanto você não precisará de recursos complementares para obter todas as informações necessárias.

Neste curso, você aprenderá sobre a linguagem de programação Solidity, como escrever contratos inteligentes e também entenderá o EVM, o blockchain Ethereum e como funcionam outras plataformas blockchain. Você também pode aplicar seu conhecimento com mais de 30 tarefas e desafios.

Aprenda Solidity: Linguagem de programação para contratos inteligentes Ethereum [Conselho Blockchain]

O Blockchain Council desenvolveu recentemente o Programa Learn Solidity para ajudar os desenvolvedores a entender o básico em poucas horas. Com este curso gratuito, você deverá ter uma ideia clara sobre o desenvolvimento de dApps no blockchain Ethereum.

O curso ensinará os fundamentos do Ethereum, contratos inteligentes e outras plataformas blockchain. Você também aprenderá como instalar e configurar o Solidity Development Environment, construir aplicativos ao vivo e implantar contratos inteligentes no Solidity.

Bootcamp de desenvolvedor Ethereum Blockchain com Solidity [Udemy]

Este curso não requer nenhum conhecimento prévio para ser concluído. O curso lhe dará uma compreensão teórica e prática dos contratos inteligentes, e você aprenderá como usar as principais ferramentas de desenvolvimento do Ethereum. Ele também apresenta tutoriais em vídeo passo a passo para facilitar uma melhor compreensão.

Este curso é pago e é recomendado para aqueles que pretendem ser desenvolvedores Ethereum. A conclusão deste curso tornará você proficiente em Solidity, Web3, Remix, Metamask, Truffle e outros conceitos de blockchain.

Autor: Tamilore
Tradutor: Cedar
Revisores: Matheus、KOWEI、Ashley He
* As informações não pretendem ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecida ou endossada pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem referência à Gate.io. A contravenção é uma violação da Lei de Direitos Autorais e pode estar sujeita a ação legal.

O que é solidez?

intermediário11/23/2023, 6:30:52 PM
Descubra a essência do Solidity, a linguagem de contrato inteligente da Ethereum, e seu impacto na inovação do blockchain.

Compreender uma das principais linguagens de programação que impulsionam o mundo das aplicações descentralizadas e dos contratos inteligentes é um passo fundamental para qualquer pessoa que se aventure no mundo do blockchain.

Solidity não é apenas mais uma linguagem de codificação; é a força motriz por trás da criação de contratos autoexecutáveis e aplicações descentralizadas na blockchain Ethereum e em várias outras plataformas. Este artigo se aprofundará em como o Solidity funciona, explorando seu significado, recursos e aplicações no mundo real.

O que é solidez?

Solidity é uma linguagem de programação orientada a objetos de alto nível para escrever e executar contratos inteligentes no blockchain. Mais conhecido por sua conexão com a casa do DeFi, Ethereum, o Solidity foi criado pelos desenvolvedores do Ethereum para criar contratos inteligentes que rodam com a Máquina Virtual Ethereum na rede.

No espaço de desenvolvimento web3, Solidity é uma das linguagens de programação mais utilizadas, embora apresente elementos de outras linguagens populares como Javascript, C++ e Python. Solidity é uma linguagem estatisticamente tipada que oferece suporte a herança, tipos complexos definidos pelo usuário e bibliotecas, elementos essenciais para a funcionalidade de contratos inteligentes. Solidity é uma escolha popular entre desenvolvedores de contratos inteligentes porque é fácil de usar. A natureza da linguagem de programação (alto nível) substitui a digitação em bitcode (uns e zeros) por uma combinação de letras e números.

Antecedentes da linguagem de programação Solidity

Apesar de sua reputação atual como uma das linguagens de programação mais utilizadas, o Solidity teve um início humilde que remonta a 2014. Em 2014, Gavin Woods, Christian Reitwissner e outros desenvolvedores da Fundação Ethereum criaram o Solidity para apoiar o desenvolvimento da próxima rede Ethereum. Os desenvolvedores criaram o Solidity como uma linguagem que os desenvolvedores consideraram fácil de usar, expressiva e compatível com a Máquina Virtual Ethereum, um ambiente de execução central para a execução de contratos inteligentes.

Solidity é inspirado em linguagens existentes como Python, C++ e JavaScript. Ainda assim, sua originalidade vem de conceitos e sintaxe exclusivos incorporados especificamente para lidar com contratos inteligentes, variáveis de estado, modificadores e eventos.

Como funciona?

Solidity é usado principalmente para escrever contratos inteligentes. Os contratos inteligentes são a espinha dorsal da rede Ethereum e referem-se a programas que rodam na Máquina Virtual Ethereum (EVM) e atendem múltiplas funções, envolvendo principalmente a automação de transações na rede. O EVM funciona como guardião dos registros do “computador global” da Ethereum, o que significa que o EVM mantém o estado global da rede, incluindo endereços, saldos de contas e participações de tokens.

Os contratos Solidity são compilados em bytecode e lidos pelo EVM, o que significa que, teoricamente, os desenvolvedores podem escrever contratos inteligentes Ethereum diretamente com bytecode. No entanto, escrever diretamente com bytecode dificilmente é utilizado porque é mais técnico e sujeito a erros. Dessa forma, o uso de linguagens de alto nível como o Solidity permite que os desenvolvedores se concentrem na lógica e na funcionalidade do código, em vez de lidar com as complexidades da escrita em bytecode. Como resultado, os desenvolvedores podem codificar com mais eficiência e se concentrar mais na criação de contratos inteligentes que sejam mais fáceis de ler, escrever e manter.

O Solidity está sujeito a atualizações periódicas de versão, que são lançadas no Github. Os contratos inteligentes são imutáveis, o que significa que, uma vez implementados na cadeia, não podem ser revertidos. Como o próprio Solidity está em constante evolução, a imutabilidade dos contratos inteligentes o afeta porque quaisquer erros ou deficiências no código de um contrato não podem ser facilmente corrigidos quando ele estiver ativo. A razão é que cada versão possui comportamentos e recursos distintos, o que pode influenciar a funcionalidade do contrato e como ele interage com outros elementos do ecossistema Ethereum.

Recentemente, os desenvolvedores preferiram usar contratos proxy e contratos atualizáveis. Os contratos proxy permitem a execução do código de outro contrato. Os proxies atuam como intermediários, encaminhando chamadas e transações para o contrato pretendido, ao mesmo tempo que permitem funcionalidades adicionais, como controle de acesso ou registro. Os contratos atualizáveis envolvem essencialmente contratos inteligentes que podem ser atualizados sem perder seu estado original.

Ressalta-se que a versão do Solidity utilizada no momento da criação do contrato inteligente também é essencial, pois determinará o comportamento e as funcionalidades do contrato inteligente. Cada linha de código-fonte em cada contrato inteligente do Solidity, por mais simples que seja, deve começar com uma declaração de qual versão do compilador do Solidity deve ser usada para aquele trecho de código específico. Esta declaração é conhecida como “pragma de versão”.

Principais recursos da linguagem Solidity

Solidity é considerada a porta de entrada para o mundo das aplicações descentralizadas e contratos inteligentes baseados em blockchain. Alguns recursos principais que tornam o Solidity uma linguagem de programação tão produtiva incluem o seguinte.

Funções e tipos de dados integrados

Os desenvolvedores não precisam escrever instruções condicionais ou loops para executar ações que dependem de determinadas condições. Em vez disso, eles podem especificar as condições diretamente em seu código-fonte, e o contrato inteligente executará a ação específica somente quando essas condições forem atendidas. Isso torna o processo de codificação muito mais gerenciável.

O Solidity também oferece suporte aos tipos de dados mais comuns, como inteiros, números de ponto flutuante, strings, arrays e mapas. Os desenvolvedores também podem definir seus próprios tipos de dados e usá-los em seus contratos inteligentes.

Ambiente de codificação

O compilador do Solidity verifica consistentemente o código em busca de erros enquanto você o escreve e alerta sobre possíveis problemas. Isso é especialmente útil ao desenvolver dApps e contratos inteligentes grandes e complexos.

Casos de uso da linguagem de programação Solidity

O Solidity normalmente pode ser usado para criar contratos inteligentes que melhoram a transparência e a rastreabilidade na gestão da cadeia de suprimentos. Os contratos inteligentes baseados na solidez também podem ajudar a prevenir a falsificação e melhorar a confiança no processo da cadeia de abastecimento, registando transações e verificando a autenticidade dos produtos.

Solidity é frequentemente usado para desenvolver jogos baseados em blockchain e mundos virtuais com propriedade de ativos, economias no jogo e escassez comprovada. Solidity abre novas possibilidades para ativos digitais exclusivos e interações de jogadores. Os desenvolvedores também usaram o Solidity para criar lógica de troca descentralizada, mecanismos de leilão, protocolos de empréstimo, pagamentos condicionais, etc.

Além disso, Solidity é usado para implementar NFTs. Também permitiu a criação de DAOs, que são organizações autónomas que operam com base em contratos inteligentes, permitindo, por sua vez, uma tomada de decisão e governação transparentes.

Projetos que apoiam a solidez

Avalanche

Avalanche é uma plataforma blockchain de ponta que ganhou algum destaque no mundo do DeFi e dos contratos inteligentes. No Avalanche, as transações são processadas em segundos, tornando-o uma plataforma eficiente para aplicações DeFi e trocas de tokens. Sua compatibilidade com EVM permite que ele funcione perfeitamente com contratos inteligentes escritos em Solidity, contribuindo também para a adoção do Avalanche pelos desenvolvedores.

Mônaco

Monax é um projeto líder de blockchain projetado para revolucionar, simplificar e otimizar a forma como as empresas lidam com acordos legais. A plataforma permite a criação de acordos juridicamente vinculativos e automatiza vários aspectos da execução e gestão de contratos. É particularmente benéfico para as empresas, pois a Monax oferece-lhes uma forma segura e eficiente de gerir todo o ciclo de vida do contrato.

O Solidity auxilia auxiliando na criação de contratos inteligentes autoexecutáveis, enquanto a Monax estende essa tecnologia aos acordos jurídicos, permitindo que as empresas definam suas regras contratuais em um formato programável e autoexecutável.

Solidez vs. Ferrugem

Solidity e Rust compartilham algumas semelhanças básicas. Por um lado, ambas as linguagens de programação oferecem compatibilidade multichain. Embora o Solidity tenha sido projetado principalmente para Ethereum, ele suporta blockchains de camada 2, sidechains e, é claro, blockchains de camada 1 compatíveis com EVM, como Moonbeam e Avalanche-C chain. Rust também oferece suporte a um glossário de blockchains como Near e Solana, embora ainda seja a linguagem de programação que inspirou as linguagens Move e Sui.

Além disso, ambas as linguagens são linguagens completas de Turing. Isso significa que ambas as linguagens podem resolver qualquer problema computacional, independentemente da complexidade. As linguagens de programação herdaram esse recurso da máquina de Turing, desenvolvida por Alan Turing.

Por outro lado, Solidity e Rust possuem diferenças marcantes. Por exemplo, Solidity é uma linguagem de alto nível que oferece um alto nível de abstração da arquitetura do sistema de computador. Como resultado, o Solidity é mais fácil de aprender e usar, tornando-o uma linguagem mais orientada ao usuário. Por outro lado, Rust é uma linguagem de baixo nível mais próxima do hardware do computador e oferece boa eficiência e velocidade de memória, tornando-a uma linguagem mais orientada para a máquina.

Além disso, ambas as linguagens de programação usam paradigmas de programação diferentes. Um paradigma de programação é a abordagem usada para resolver um problema. Solidity, por um lado, é uma linguagem orientada a objetos, pois utiliza o paradigma orientado a objetos para resolver problemas. Por outro lado, Rust é uma linguagem multiparadigmática, o que significa que permite utilizar diferentes paradigmas ou abordagens para resolver problemas. Alguns dos paradigmas que o Rust suporta são orientados a objetos, funcionais e imperativos, entre vários outros.

Solidez vs. JavaScript

Solidity e Javascript são duas das linguagens de programação mais comuns, mas compartilham poucas semelhanças. Javascript foi uma das maiores inspirações para o Solidity, mas agora a única semelhança significativa é que o Solidity usa a palavra-chave ‘function’ para definir funções. A sintaxe do Solidity também tem uma aparência semelhante à do JavaScript, mas isso é um pouco enganador porque o Solidity e o JavaScript operam de maneira bem diferente.

Por outro lado, ambas as línguas diferem muito. JavaScript pode ser executado diretamente, enquanto o Solidity requer compilação porque JavaScript é uma linguagem interpretada, não uma linguagem compilada como o Solidity. Além disso, o Solidity tem a capacidade de transferir dinheiro. No entanto, esta não é uma capacidade incorporada, portanto os desenvolvedores devem utilizar uma interface de programação de aplicativos (API) externa.

Outra diferença entre as duas linguagens é que com o Solidity, uma vez implantado um contrato inteligente no Ethereum, ele é imutável e o código não pode mais ser editado. JavaScript também não permite interação direta com código em execução em outros servidores, mas se o servidor oferecer uma API que permita acesso, o desenvolvedor poderá editar o código.

Melhores recursos para aprender solidez

Learning Solidity é um dos primeiros passos para se tornar um desenvolvedor web3, pois é a linguagem de programação fundamental para desenvolvedores que desejam criar e implantar contratos inteligentes na rede Ethereum. Na hora de escolher um curso para aprender sobre Solidity, é fundamental avaliar os temas, formato e demais recursos complementares disponibilizados. Para obter o melhor conhecimento sobre Solidity, você pode considerar alguns recursos para usar, incluindo os seguintes.

Gate Learn

Gate Learn oferece um curso intitulado “Plataformas de Desenvolvimento Blockchain e Contratos Inteligentes”, onde eles fornecem uma visão geral das plataformas populares de desenvolvimento de blockchain, bem como seus principais recursos. Embora seja um curso abrangente, ele oferece informações importantes sobre o processo de desenvolvimento de um aplicativo blockchain básico usando Solidity.

Com este curso, você aprenderá como configurar o ambiente de desenvolvimento, escrever o contrato inteligente, definir as variáveis de estado do contrato, criar funções para interagir com o contrato, compilar e implantar o contrato.

Gate Learn também oferece um curso intitulado “Contratos Inteligentes 101: Uma Introdução Básica”, onde você pode aprender sobre os fundamentos dos contratos inteligentes e seus casos de uso em todos os setores e também interagir com contratos externos e implantar seus próprios contratos inteligentes usando MetaMask

Academia WTF

WTF Academy é uma plataforma de aprendizado de blockchain de código aberto, voltada para a comunidade, que oferece cursos completos sobre desenvolvimento web e blockchain, como JavaScript, análise on-chain, EVM Opcodes e Solidity. É patrocinado pela Fundação Ethereum, StarkWare e Optimism. Também recebeu doações de Gitcoin e Mirror.

A WTF Academy oferece cinco cursos de Solidity para iniciantes (Solidity 101, 102, 103, Solidity 104 Security e Solidity 104 Tx Analysis). Esses cursos são gratuitos e fornecem certificados após a conclusão.

O Curso Completo de Solidez – Blockchain – Zero a Expert [Udemy]

Este é um curso pago da Udemy que serve como uma solução completa para aprender Solidity. O curso o ajudará a começar do zero com os tópicos mais fundamentais e o levará a um nível avançado, onde você poderá construir contratos inteligentes e dApps complexos. É um curso completo, portanto você não precisará de recursos complementares para obter todas as informações necessárias.

Neste curso, você aprenderá sobre a linguagem de programação Solidity, como escrever contratos inteligentes e também entenderá o EVM, o blockchain Ethereum e como funcionam outras plataformas blockchain. Você também pode aplicar seu conhecimento com mais de 30 tarefas e desafios.

Aprenda Solidity: Linguagem de programação para contratos inteligentes Ethereum [Conselho Blockchain]

O Blockchain Council desenvolveu recentemente o Programa Learn Solidity para ajudar os desenvolvedores a entender o básico em poucas horas. Com este curso gratuito, você deverá ter uma ideia clara sobre o desenvolvimento de dApps no blockchain Ethereum.

O curso ensinará os fundamentos do Ethereum, contratos inteligentes e outras plataformas blockchain. Você também aprenderá como instalar e configurar o Solidity Development Environment, construir aplicativos ao vivo e implantar contratos inteligentes no Solidity.

Bootcamp de desenvolvedor Ethereum Blockchain com Solidity [Udemy]

Este curso não requer nenhum conhecimento prévio para ser concluído. O curso lhe dará uma compreensão teórica e prática dos contratos inteligentes, e você aprenderá como usar as principais ferramentas de desenvolvimento do Ethereum. Ele também apresenta tutoriais em vídeo passo a passo para facilitar uma melhor compreensão.

Este curso é pago e é recomendado para aqueles que pretendem ser desenvolvedores Ethereum. A conclusão deste curso tornará você proficiente em Solidity, Web3, Remix, Metamask, Truffle e outros conceitos de blockchain.

Autor: Tamilore
Tradutor: Cedar
Revisores: Matheus、KOWEI、Ashley He
* As informações não pretendem ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecida ou endossada pela Gate.io.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem referência à Gate.io. A contravenção é uma violação da Lei de Direitos Autorais e pode estar sujeita a ação legal.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!