资源¶
常用资源¶
Solidity IDE¶
- Brownie
以以太坊虚拟机为目标,基于Python的智能合约开发和测试框架。
- Dapp
用于从命令行构建、测试和部署智能合约的一套工具。
- Embark
一个用于构建和部署去中心的应用程序开发者平台。
- Foundry
用Rust编写的用于开发以太坊应用的快速、可移植和模块化的工具包。
- Hardhat
具有本地以太坊网络、调试功能和插件生态系统的以太坊开发环境。 登链社区有翻译 Hardhat中文文档 。
- Remix
基于浏览器的 IDE,集成了编译器和 Solidity 运行时环境,不需要服务端组件。
- Truffle
以太坊开发框架。登链社区有翻译 Truffle中文文档 。
编辑器¶
Atom
- Etheratom
Atom 编辑器的插件,支持高亮、编译和运行时环境(兼容后端节点和虚拟机)。
- Atom Solidity Linter
Atom 编辑器的插件,提供 Solidity 语言的 Lint 检查(静态检查)。
- Atom Solium Linter
Atom 的可配置的 Solidity 静态检查器,基于 Solium(now Ethlint) 。
Emacs
- Emacs Solidity
Emacs 编辑器的插件,提供语法高亮和编译错误报告。
IntelliJ
- IntelliJ IDEA plugin
IntelliJ IDEA 的 Solidity 插件(可用于其他所有的 JetBrains IDE)
Sublime
- Package for SublimeText - Solidity language syntax
SublimeText 编辑器的语法高亮包。
Vim
- Vim Solidity
Vim 编辑器的插件,提供语法高亮。
- Vim Syntastic
Vim 编辑器的插件,提供编译检查。
VS Code
- Visual Studio Code extension
Microsoft Visual Studio Code 插件,包含语法高亮和 Solidity 编译器。
- Solidity Visual Auditor extension
向Visual Studio代码添加以安全为中心的语法和语义高亮显示。
Solidity 工具¶
- ABI to Solidity 的接口转换
从智能合约的ABI生成合约接口的脚本。
- abi-to-sol
从给定的ABI JSON生成Solidity接口源代码的工具。
- Doxity
Solidity 语言的文档生成器。
- Ethlint
Linter识别并修复Solidity的风格和安全问题。
- evmdis
EVM 反汇编程序,可以执行字节码的静态分析,能提供比 EVM 操作更高级的抽象。
- EVM Lab
一个与EVM交互工具包, 包括VM,Etherchain API 以及 Gas 消耗 的跟踪查看器。
- hevm
EVM debugger and symbolic execution engine.
- leafleth
A documentation generator for Solidity smart-contracts.
- PIET
A tool to develop, audit and use Solidity smart contracts through a simple graphical interface.
- Scaffold-ETH
Forkable Ethereum development stack focused on fast product iterations.
- sol2uml
Unified Modeling Language (UML) class diagram generator for Solidity contracts.
- solc-select
A script to quickly switch between Solidity compiler versions.
- Solidity prettier plugin
A Prettier Plugin for Solidity.
- Solidity REPL
一个命令行控制台,可以让你立刻尝试 Solidity 语言。
- solgraph
可视化的 Solidity 控制流,并能高亮标明潜在的安全漏洞。
- Solhint
一种静态检查器,提供安全和风格指南以及智能合约验证的最佳实践规则。
- Sourcify
Decentralized automated contract verification service and public repository of contract metadata.
- Sūrya
一个智能合约系统实用工具,提供大量可视化输出和有关合约结构的信息。 还支持查询函数调用图。
- Universal Mutator
A tool for mutation generation ,可配置的规则,支持Solidity和Vyper 。
备注
变量名称,注释和源代码格式等信息在编译过程中丢失,无法完全恢复原始源代码。 无法反编译智能合约以查看原始源代码。
第三方 Solidity 解析器¶
- Solidity Parser for JavaScript
一个建立在强大的 ANTLR4 语法之上的JS Solidity解析器。