Solidity¶
Solidity é uma linguagem de programação de alto nível, orientada a contratos, com a síntese parecida com a de JavaScript e desenhada para ser executada na Máquina Virtual Ethereum (EVM).
Solidity é estatisticamente tipada, suporta herança, bibliotecas e tipos complexos definidos pelo usuário entre outras características.
Como você verá, é possível criar contratos para votação, vaquinhas (crowdfunding), leilões às cegas, carteiras multi-assinadas e mais.
Nota
A melhor maneira de experimentar com Solidity é utilizando Remix (pode demorar para carregar, seja paciente).
Links úteis¶
Integraçoes Disponíveis para Solidity¶
- Remix
- IDE baseada em Browser com compilador integrado e ambiente de tempo de execução Solidity sem componentes de servidor.
- IntelliJ IDEA plugin
- Plugin Solidity para IntelliJ IDEA (e todas as outras IDEs JetBrains)
- Extensão para Visual Studio
- Plugin Solidity para Microsoft Visual Studio que inclui o compilador Solidity.
- Pacote para SublimeText — síntese da linguagem Solidity
- Marcação de síntese Solidity para o editor de texto SublimeText.
- Etheratom
- Plugin para o editor Atom que conta com marcação de síntese, compilação e ambiente de tempo de execução (Compatível com backend node & VM).
- Atom Solidity Linter
- Plugin para o editor Atom para Solidity linting.
- Atom Solium Linter
- Solidty linter configurável para Atom utilizando Solium como base.
- Solium
- Lint de linha de comando para Solidity que segue estritamente as regras descritas no Guia de Estilos para Solidity.
- Extensão para Visual Studio Code
- Plugin de Solidity para o Microsoft Visual Studio Code que inclui marcação de síntese e o compilador Solidity.
- Emacs Solidity
- Plugin para o editor Emacs que provê marcação de síntese e aviso de erros de compilação.
- Vim Solidity
- Plugin para o editor Vim que provê marcação de síntese.
- Vim Syntastic
- Plugin para o editor Vim aviso de erros de compilação.
Descontinuado:
- Mix IDE
- IDE baseada em para desenhar, debugar e testar smart contracts escritos em Solidity.
- Ethereum Studio
- IDE Web especializada que também provê acesso à linha de comando completa do ambiente Ethereum.
Ferramentas Solidity¶
- Dapp
- Ferramenta de build, gerenciador de pacotes e assistente de publicação para Solidity.
- Solidity REPL
- Experimente Solidity instantaneamente através da linha de comando Solidity.
- solgraph
- Ferramenta para visualizar o fluxo de controle e mostrar potenciais falhas de segurança no seu contrato inteligente Solidity.
- evmdis
- EVM Disassembler que realiza análise estática no código para garantir um maior nível de abstração em comparação com operações EVM puras.
- Doxity
- Gerador de Documentação para Solidity.
Interpretador e Dicionários de terceiros para Solidity¶
- solidity-parser
- Interpretador de Solidity para JavaScript
- Solidity Grammar for ANTLR 4
- Dicionário de Solidity para o interpretador ANTLR 4.
Documentação da Linguagem¶
Nas próximas páginas vamos ver um contrato inteligente simples escrito em Solidity seguido de conceitos básicos sobre blockchains e a Máquina Virtual Ethereum.
A próxima sessão vai explicar várias funcionalidades do Solidity através de exemplos de contratos úteis Lembre-se que você pode testar os contratos no seu browser!
A última e mais extensa seção vai cobrir todos os aspectos do Solidity profundamente.
Se você ainda tiver dúvidas você pode procurar ou perguntar no site do Ethereum Stackexchange ou acessar nosso canal gitter. Ideias para melhorar o Solidity ou essa documentação são sempre bem vindas!
Veja também a versão em Russo (русский перевод).