今天正式开始翻译Solidity的英文文档,为的是给后来人提供一个方便的学习资料。
Solidity
Solidity是一个高级语言,其语法类似于JavaScript,编译后能够在以太坊虚拟机上运行。它功能强大,可以创建投票、众筹、拍卖、多重签名钱包等应用。
注:尝试Solidity最好的办法是使用Browser-Based Compiler。
相关链接
1. Ethereum
2. Changelog
4. Source Code
6. Gitter Chat
相关的集成环境
基于浏览器的IDE,带有集成编译器和无需服务器端的Solidity运行时环境。
专门的Web IDE,同时还能通过shell访问以太坊运行环境。
Microsoft Visual Studio的Solidity插件,包含Solidity编译器。
4. Package for SublimeText — Solidity language syntax
SublimeText 编辑器的语法高亮显示包。
Atom编辑器的插件,具有语法高亮、编译和运行时环境(需要后端以太坊节点)。
Atom编辑器的插件,提供了可靠性检验。
7. Solium
Solidity的命令行linter。
8. Visual Studio Code extension
Microsoft Visual Studio Code的Solidity插件,包括语法高亮和Solidity编译器。
用于Emacs编辑器的插件,提供语法高亮显示和编译错误报告。
10. Vim Solidity
Vim编辑器插件,提供语法高亮。
11. Vim Syntastic
Vim编辑器插件,提供编译检查。
12. Mix IDE
基于Qt的IDE,用于开发、调试和测试智能合约,不过已经停止更新。
Solidity 工具
1. Dapple
Solidity的软件包和部署管理器。
Solidity 的命令行控制台。
3. solgraph
Solidity 的可视化控制流程工具,能检测并突出显示潜在的安全漏洞。
4. evmdis
EVM(以太坊虚拟机)反汇编器,对字节码执行静态分析,提供比EVM操作更高级别的抽象能力。
语言文档
在接下来的介绍中,我们将先了解一个简单的以Solidity编写的智能合约,然后了解一下关于区块链和以太坊虚拟机的基础知识,接下来将通过一些示例来解释Solidity的几个特性。记住,您可以随时在浏览器中实践!
如果你有问题,你可以尝试在Ethereum Stackexchange站点上搜索或询问,或者来到我们的gitter频道。 欢迎提出你的想法和意见!
目录
0. 关键字索引,搜索页(本部分不翻译,直接提供英文链接)
1.1 一个简单的智能合约
1.2 区块链基础
1.3 以太坊虚拟机
2. 安装Solidity
2.1 版本控制
2.2 Browser-Solidity
2.3 npm / Node.js
2.4 通过二进制包安装
2.5 通过源代码编译安装
2.6 版本控制的重要信息
3. Solidity示例
3.1 投票
3.2 拍卖
3.3 安全远程支付
3.4 小额支付
4. Solidity进阶
4.1 源文件结构
4.2 智能合约结构
4.3 类型
4.4 单位和全局变量
4.5 表达式和控制结构
4.6 智能合约
4.7 其他
5. 安全注意事项
5.1 陷阱
5.2 建议
5.3 验证
6. 样式指南
6.1 介绍
6.2 代码布局
6.3 命名约定
7. 常见模式
7.1 提取合同
7.2 限制访问
7.3 状态机制
8. 贡献
8.1 如何报告问题
8.2 整合更新的工作流程
9. 常见问题
9.1 基本问题
9.2 高级问题