Solidity

Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下账户行为的程序。

坚固是一种 curly-bracket language 。它受C++、Python和JavaScript的影响,是针对以太虚拟机(EVM)而设计的。您可以在中找到更多关于Solid受到哪些语言的启发的详细信息 language influences 部分。

Solidity 是静态类型的,支持继承、库和复杂的用户定义类型等功能。

有了Solidity,您可以创建用于投票、众筹、 全盲拍卖 和多签名钱包等用途的合同。

部署合同时,应使用最新发布的Solidity版本。除特殊情况外,只有最新版本会收到 security fixes 。此外,我们还定期推出突破性的更改和新功能。我们目前使用的是0.x版本号 to indicate this fast pace of change

警告

Solidity最近发布了0.8.x版本,该版本引入了许多突破性的变化。一定要看书 the full list

我们随时欢迎您提出有关提高 Solidity 或本文档的建议,请阅读我们的 contributors guide 了解更多详细信息。

快速入门

1.了解智能合同基础知识

如果您不熟悉智能合同的概念,我们建议您从深入阅读“智能合同简介”部分开始,该部分包括:

2.了解扎实

一旦您习惯了基础知识,我们建议您阅读 "Solidity by Example" 和“语言描述”部分,了解语言的核心概念。

3.安装Solidness编译器

安装固态编译器的方法有多种,只需选择您的首选选项,然后按照 installation page

提示

控件直接在浏览器中试用代码示例。 Remix IDE 。ReMix是一个基于Web浏览器的IDE,允许您编写、部署和管理可靠智能合同,而无需在本地安装可靠。

警告

当人类编写软件时,它可能会有错误。在编写智能合同时,您应该遵循既定的软件开发最佳实践。这包括代码审查、测试、审计和正确性证明。智能合约用户有时比他们的作者对代码更有信心,区块链和智能合约有自己独特的问题需要注意,所以在处理生产代码之前,请确保阅读 安全注意事项 部分。

4.了解更多信息

如果您想了解更多关于在Etherum上构建分散应用程序的信息,请参阅 Ethereum Developer Resources 可以帮助您获得更多关于Etherum的一般文档,以及广泛选择的教程、工具和开发框架。

如果您有任何问题,您可以尝试搜索答案或在 Ethereum StackExchange ,或我们的 Gitter channel

翻译

社区志愿者帮助将本文件翻译成多种语言。它们有不同程度的完整性和最新性。英文版作为参考。

注解

我们最近建立了一个新的GitHub组织和翻译工作流程,以帮助简化社区工作。请参阅 translation guide 获取有关如何为社区翻译工作做出贡献的信息。

目录

Keyword Index, Search Page

附加材料