Solidity

Solidity logo

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

Solidity 受到C++、Python和JavaScript的影响,并被设计成面向虚拟机(EVM)。

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

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

部署合同时,应使用最新发布的Solidity版本。这是因为破坏性的变化,以及新的特性和错误修复是定期引入的。我们当前使用的是0.x版本号 to indicate this fast pace of change .

警告

Solidity最近发布了0.5.x版本,引入了许多突破性的变化。确保你读了 the full list .

语言文档

如果你不熟悉智能合约的概念,我们建议你从 an example smart contract 用坚固的文字书写。当您准备好了解更多详细信息时,我们建议您阅读 "Solidity by Example""Solidity in Depth" 学习该语言的核心概念。

如果要进一步阅读,请尝试 the basics of blockchains 以及 Ethereum Virtual Machine .

提示

您可以使用 Remix IDE .Remix是一个基于Web浏览器的IDE,它允许您编写Solidity智能合约,然后部署和运行智能合约。装载可能需要一段时间,所以请耐心等待。

警告

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

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

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

翻译

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