A autoformação dos desenvolvedores Web3 - contratos inteligentes
Contratos inteligentes são protocolos de execução automática em plataformas de blockchain, permitindo transações confiáveis sem intermediários. O contrato contém funções de código que são executadas automaticamente quando as condições pré-determinadas são atendidas.
O conceito de contratos inteligentes foi proposto por Nick Szabo na década de 90, mas só se tornou amplamente aplicado com o surgimento do Ethereum. O Ethereum suporta a implementação e execução de contratos inteligentes, sendo considerado a segunda geração de blockchain.
A linguagem de contratos inteligentes é utilizada para escrever contratos inteligentes, que são executados após compilação na máquina virtual da plataforma de blockchain. Este tipo de linguagem precisa expressar regras contratuais de forma segura e eficiente, e fornecer ferramentas para lidar com transações e estados da blockchain.
A maioria dos desenvolvedores desenvolve na Ethereum e em blockchains compatíveis com EVM, enquanto a Solana é a plataforma com mais desenvolvedores no ecossistema não compatível com EVM, e o Move foi projetado especificamente para o desenvolvimento seguro de contratos inteligentes de blockchain.
Este artigo irá apresentar a linguagem de contratos inteligentes a partir de três perspectivas: o sistema EVM, o sistema Solana e o sistema Move.
EVM 系
EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. O Ethereum adota uma arquitetura em múltiplas camadas, incluindo bytecode, linguagem intermediária e linguagem de alto nível.
Na Ethereum e em blockchains compatíveis com EVM, as linguagens mais populares são Solidity e Vyper, além de Yul, Yul+, Fe e Huff como opções.
Solidity foi proposta pela primeira vez pelo CTO da Ethereum, Gavin Wood, e é uma linguagem de programação orientada a objetos, fortemente influenciada por C++, Python e JavaScript. Solidity estabelece o padrão ABI para interação com contratos.
Vyper, desenvolvido pela equipe de Vitalik Buterin, é uma alternativa ao Solidity. Vyper é semelhante ao Python, otimizado para segurança, legibilidade e eficiência de Gas.
Yul é uma linguagem de montagem com controle de fluxo avançado, parte da cadeia de ferramentas Solidity. Yul+ é a versão expandida de Yul.
Fe é uma linguagem de alto nível semelhante ao Rust, que reutiliza código através de um sistema baseado em módulos.
Huff é uma linguagem de montagem, com controle de pilha manual e uma abstração minimizada do conjunto de instruções EVM.
Na Ethereum, cerca de 90% dos contratos inteligentes são desenvolvidos com base em Solidity, superando de longe outras linguagens. Yul e Yul+ são geralmente usados para otimização de Gas, enquanto Huff é utilizado para otimização extrema de Gas.
Solana 系
A Solana é conhecida por seu mecanismo PoH e alto desempenho, sendo uma das blockchains públicas que mais cresceu no último ano.
A Solana chama contratos inteligentes de programas em cadeia, sendo principalmente escritos na linguagem Rust. A Solana possui uma máquina virtual SVM única e bytecode SBF.
O componente chave do SVM, Sealevel, implementa o processamento paralelo. Os contratos inteligentes da Solana especificam o estado de leitura e escrita em tempo de execução, permitindo a execução paralela de transações sem conflitos.
SBF baseado em eBPF, com alto desempenho, segurança e portabilidade. SBF utiliza um validador personalizado para garantir a terminação do programa e a correção das instruções.
Linguagens que, em teoria, suportam a compilação para LLVM IR podem ser usadas para escrever contratos inteligentes Solana, mas na prática apenas Rust e Solang são suportados.
Rust é uma linguagem de programação de propósito geral, compilada estaticamente, com alto desempenho e segurança de memória. Solang é um compilador Solidity baseado na arquitetura LLVM, que suporta o uso de Solidity na Solana e Polkadot.
Rust é a principal linguagem oficialmente suportada pela Solana, com maior estabilidade; a principal vantagem do Solang está na compatibilidade com a linguagem Solidity.
Move 系
Move é a linguagem de contratos inteligentes desenvolvida para o projeto Diem da Meta, com características que incluem proteção de tipos de recursos de primeira classe, flexibilidade e segurança verificável.
Aptos e Sui usam Move como a linguagem principal de contratos inteligentes. Aptos herdou o Diem Move, enquanto Sui utiliza uma versão personalizada chamada Sui Move.
O compilador, o validador e a máquina virtual do Move foram todos projetados do zero. O validador é o mecanismo de segurança central do Move, garantindo a conformidade com as regras de segurança de tipos, memória e recursos.
Move é amigável à verificação formal, não suporta características como atribuições dinâmicas, e todos os caminhos de contrato podem ser determinados no momento da compilação. Move Prover é a ferramenta de verificação formal para contratos inteligentes.
contratos inteligentes ferramentas de desenvolvimento
Para os desenvolvedores de cadeias compatíveis com EVM, Solidity é a escolha preferida. As principais ferramentas de desenvolvimento incluem:
Hardhat: ambiente de desenvolvimento para compilar, implantar, testar e depurar aplicações Ethereum.
OpenZeppelin: fornece uma biblioteca de contratos inteligentes seguros de código aberto.
Foundry: um framework centrado em Solidity para construir, testar e implantar contratos inteligentes.
Solana é a segunda opção além do Ethereum, com o principal framework de desenvolvimento sendo o Anchor, que simplifica o processo de desenvolvimento do Solana.
A linguagem Move tem inovações no design de segurança subjacente, mas atualmente há poucas blockchains públicas baseadas em Move e as ferramentas de desenvolvimento não são suficientemente completas.
Resumo
A avaliação das linguagens de desenvolvimento de contratos inteligentes geralmente considera a facilidade de uso, a segurança e os recursos ecológicos.
Solidity é a linguagem de programação mais influente, com uma rica variedade de ferramentas de desenvolvimento e bibliotecas, adequada para desenvolvimento rápido.
Rust compensa a segurança do Solidity, o ecossistema Solana está a desenvolver-se rapidamente, atraindo desenvolvedores.
Move aumentou mais mecanismos de segurança, a dificuldade de aprendizagem é relativamente amigável, mas o ecossistema ainda está em fase inicial.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
18 Curtidas
Recompensa
18
8
Compartilhar
Comentário
0/400
ponzi_poet
· 17m atrás
Sinto que os contratos inteligentes desperdiçam poder de computação.
Ver originalResponder0
LiquidityHunter
· 10h atrás
web3 especialista em ganhar dinheiro
Ver originalResponder0
CodeSmellHunter
· 08-02 17:54
solidity é realmente bom
Ver originalResponder0
OnchainArchaeologist
· 08-02 06:12
o velho prato do sol não vale a pena falar
Ver originalResponder0
MemeTokenGenius
· 08-02 06:09
Ah, começar do zero é realmente exaustivo para mim.
Ver originalResponder0
BearMarketSage
· 08-02 06:09
Quem ainda está a usar sol ahah
Ver originalResponder0
MainnetDelayedAgain
· 08-02 06:03
De acordo com os registros do banco de dados, o conceito proposto nos anos 90 levou mais 30 anos para se concretizar. Aguardando a floração.
Ver originalResponder0
ArbitrageBot
· 08-02 06:03
Passar o dia a estudar contratos e não conseguir um Endereço de Carteira.
Web3 desenvolvedores devem ler: análise completa das linguagens de contratos inteligentes
A autoformação dos desenvolvedores Web3 - contratos inteligentes
Contratos inteligentes são protocolos de execução automática em plataformas de blockchain, permitindo transações confiáveis sem intermediários. O contrato contém funções de código que são executadas automaticamente quando as condições pré-determinadas são atendidas.
O conceito de contratos inteligentes foi proposto por Nick Szabo na década de 90, mas só se tornou amplamente aplicado com o surgimento do Ethereum. O Ethereum suporta a implementação e execução de contratos inteligentes, sendo considerado a segunda geração de blockchain.
A linguagem de contratos inteligentes é utilizada para escrever contratos inteligentes, que são executados após compilação na máquina virtual da plataforma de blockchain. Este tipo de linguagem precisa expressar regras contratuais de forma segura e eficiente, e fornecer ferramentas para lidar com transações e estados da blockchain.
A maioria dos desenvolvedores desenvolve na Ethereum e em blockchains compatíveis com EVM, enquanto a Solana é a plataforma com mais desenvolvedores no ecossistema não compatível com EVM, e o Move foi projetado especificamente para o desenvolvimento seguro de contratos inteligentes de blockchain.
Este artigo irá apresentar a linguagem de contratos inteligentes a partir de três perspectivas: o sistema EVM, o sistema Solana e o sistema Move.
EVM 系
EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. O Ethereum adota uma arquitetura em múltiplas camadas, incluindo bytecode, linguagem intermediária e linguagem de alto nível.
Na Ethereum e em blockchains compatíveis com EVM, as linguagens mais populares são Solidity e Vyper, além de Yul, Yul+, Fe e Huff como opções.
Solidity foi proposta pela primeira vez pelo CTO da Ethereum, Gavin Wood, e é uma linguagem de programação orientada a objetos, fortemente influenciada por C++, Python e JavaScript. Solidity estabelece o padrão ABI para interação com contratos.
Vyper, desenvolvido pela equipe de Vitalik Buterin, é uma alternativa ao Solidity. Vyper é semelhante ao Python, otimizado para segurança, legibilidade e eficiência de Gas.
Yul é uma linguagem de montagem com controle de fluxo avançado, parte da cadeia de ferramentas Solidity. Yul+ é a versão expandida de Yul.
Fe é uma linguagem de alto nível semelhante ao Rust, que reutiliza código através de um sistema baseado em módulos.
Huff é uma linguagem de montagem, com controle de pilha manual e uma abstração minimizada do conjunto de instruções EVM.
Na Ethereum, cerca de 90% dos contratos inteligentes são desenvolvidos com base em Solidity, superando de longe outras linguagens. Yul e Yul+ são geralmente usados para otimização de Gas, enquanto Huff é utilizado para otimização extrema de Gas.
Solana 系
A Solana é conhecida por seu mecanismo PoH e alto desempenho, sendo uma das blockchains públicas que mais cresceu no último ano.
A Solana chama contratos inteligentes de programas em cadeia, sendo principalmente escritos na linguagem Rust. A Solana possui uma máquina virtual SVM única e bytecode SBF.
O componente chave do SVM, Sealevel, implementa o processamento paralelo. Os contratos inteligentes da Solana especificam o estado de leitura e escrita em tempo de execução, permitindo a execução paralela de transações sem conflitos.
SBF baseado em eBPF, com alto desempenho, segurança e portabilidade. SBF utiliza um validador personalizado para garantir a terminação do programa e a correção das instruções.
Linguagens que, em teoria, suportam a compilação para LLVM IR podem ser usadas para escrever contratos inteligentes Solana, mas na prática apenas Rust e Solang são suportados.
Rust é uma linguagem de programação de propósito geral, compilada estaticamente, com alto desempenho e segurança de memória. Solang é um compilador Solidity baseado na arquitetura LLVM, que suporta o uso de Solidity na Solana e Polkadot.
Rust é a principal linguagem oficialmente suportada pela Solana, com maior estabilidade; a principal vantagem do Solang está na compatibilidade com a linguagem Solidity.
Move 系
Move é a linguagem de contratos inteligentes desenvolvida para o projeto Diem da Meta, com características que incluem proteção de tipos de recursos de primeira classe, flexibilidade e segurança verificável.
Aptos e Sui usam Move como a linguagem principal de contratos inteligentes. Aptos herdou o Diem Move, enquanto Sui utiliza uma versão personalizada chamada Sui Move.
O compilador, o validador e a máquina virtual do Move foram todos projetados do zero. O validador é o mecanismo de segurança central do Move, garantindo a conformidade com as regras de segurança de tipos, memória e recursos.
Move é amigável à verificação formal, não suporta características como atribuições dinâmicas, e todos os caminhos de contrato podem ser determinados no momento da compilação. Move Prover é a ferramenta de verificação formal para contratos inteligentes.
contratos inteligentes ferramentas de desenvolvimento
Para os desenvolvedores de cadeias compatíveis com EVM, Solidity é a escolha preferida. As principais ferramentas de desenvolvimento incluem:
Solana é a segunda opção além do Ethereum, com o principal framework de desenvolvimento sendo o Anchor, que simplifica o processo de desenvolvimento do Solana.
A linguagem Move tem inovações no design de segurança subjacente, mas atualmente há poucas blockchains públicas baseadas em Move e as ferramentas de desenvolvimento não são suficientemente completas.
Resumo
A avaliação das linguagens de desenvolvimento de contratos inteligentes geralmente considera a facilidade de uso, a segurança e os recursos ecológicos.
Solidity é a linguagem de programação mais influente, com uma rica variedade de ferramentas de desenvolvimento e bibliotecas, adequada para desenvolvimento rápido.
Rust compensa a segurança do Solidity, o ecossistema Solana está a desenvolver-se rapidamente, atraindo desenvolvedores.
Move aumentou mais mecanismos de segurança, a dificuldade de aprendizagem é relativamente amigável, mas o ecossistema ainda está em fase inicial.