{ 跳至内容 }

Solidity v0.1.0 迎来 5 周年!回顾往昔…

由 Franziska Heintel 发布于 2020 年 7 月 8 日

公告

Solidity v0.1.0 turns 5

我们怀着喜悦和一丝怀旧之情,与大家分享:Solidity v0.1.0 今天迎来了五周年生日! (公平地说,v0.1.0 并非一个真正的版本,但它标志着 Solidity 团队开始分配版本号的时刻。) 时间飞逝,我们感到不可思议。我们想借此机会,与大家一起回顾过去,走在 Solidity 的记忆之路上。

简而言之: Solidity 语言快速发展,生态系统经历了起起伏伏,贡献者来了又走了(但幸运的是大多数人留了下来!),而我们仍然在这里,仍然在学习,仍然在努力将 Solidity 推向更美好的下一个阶段。

继续阅读,回顾过去五年来的语言发展,思考语言设计过程,了解 Solidity 背后的人,以及对 Chris 关于 Solidity 过去、现在和未来的简短采访。

对 5 年以上语言设计的思考

来自 Alex 最近的 Solidity 峰会演讲 的琐事、重要里程碑和对 5 年以上 Solidity 开发的语言开发过程的看法。谢谢!

在周围的一切都在变化的情况下开发一种语言可能非常具有挑战性。以下是我们对 Solidity 过去和现在需要快速发展的原因的看法 - 以及为什么这是件好事。

1. 编程语言的目标和价值主张

Solidity 的最初目标是成为一种友好且易于使用的语言,旨在吸引开发人员并尽可能降低进入以太坊开发的门槛。

这意味着诸如

  • 类似 JavaScript 的语法。
  • 允许一些奇怪的隐式内容。
  • 缺乏功能,但易于学习。

多年来,目标发生了变化。虽然仍然努力保持尽可能的用户友好,但现在的额外重点是开发一种更安全的语言。

对于 Solidity,这意味着

  • Solidity 冗长。
  • Solidity 明确。
  • Solidity 试图突出显示“危险”的结构(gas 消耗)。

2. 将 Solidity 嵌入为以太坊生态系统中宝贵且实用的语言

我们所在的生态系统过去是,现在也是一个不断变化的目标。然而,这并非坏事,它需要额外的灵活性。

  • 以太坊本身在不断发展和学习。协议和 EVM 开发人员正忙于提出新的功能、新的限制、重新定价,甚至新的协议(Eth 2.0);其中大部分会影响 Solidity 语言设计。
  • 开发人员仍在学习,坦率地说,有时会尝试各种东西。从语言的角度来看,重要的是找到在允许太多或太少之间的微妙平衡。
  • 安全社区与以太坊一起发展和成熟,并且需要一段时间才能达到健康的规模并构建必要的工具来支持他们的工作。

概括地说:构建以太坊是一个(学习)旅程。构建 Solidity 也是如此。我们与更广泛的 Solidity 社区一起继续弄清楚

  • 哪些功能是需要的,哪些是糟糕的。
  • 什么是好的语法,什么是糟糕的语法。
  • 什么是冗长不足的,什么是冗长过度的。
  • 如何快速向开发人员提供更改。

3. 稳步调整和改进语言设计过程

到目前为止,有关新功能和实现细节的问题主要在 Github 问题、solidity-dev Gitter 频道 以及公开的 Solidity 开发团队会议中进行讨论。

第一个Solidity 峰会,于今年 5 月以虚拟形式举行,是进一步扩展语言设计讨论、邀请并吸引更广泛的专家群体(从工具开发人员到 Solidity 高级用户、贡献者、安全研究人员和审计员)的下一步。

目前,我们正在探索更多与上述群体互动并将其更好地纳入语言设计过程中的方法。

  • 我们重新启动了 solidity-users 论坛,可以在其中讨论有关新语言功能和语言现有方面的质量的提案。
  • 我们定期分享(功能)反馈调查。
  • 我们定期举办专门的语言设计讨论电话会议,每个电话会议都会讨论一个主题/问题/功能实现。

展望未来,我们可以想象评估一个更结构化的提案流程,类似于 Python 增强提案 (PEP) 或 Vyper 改进提案 (VIP),这可以逐步引入。但是,我们认为现在引入它可能还为时过早。

无论如何,我们很乐意听取您关于如何改进语言设计过程使其更具协作性的意见。如果您想参与并分享您的想法,请随时加入 solidity-user 论坛

从 v0.1.0 到 v0.6.10 的亮点和里程碑

有关过去几年中 Solidity 值得注意事件的集合,请查看下面的路线图!

Solidity Roadmap Part 1

Solidity Roadmap Part 2

Solidity Roadmap Part 3

Solidity 背后的人

没有它的社区、维护者和开发人员用它构建酷炫的东西,编程语言将一无是处!因此,我们要感谢核心团队,更重要的是,感谢社区贡献者多年来对我们的大力支持。

核心团队

Solidity 编程语言是一个开源的社区项目,主要由核心团队开发和维护。核心团队由以太坊基金会赞助。

该团队目前由 @a3d4@aarlt@axic@bshastry@cameel@chriseth@christianparpart@ekpyron@franzihei@hrkrshnn@leonardoalt@marenz@mijovic 组成。

更广泛的社区和贡献者

我们对所有社区贡献都表示衷心的感谢,不仅通过提交,还通过参与 Github 问题、提交错误报告或其他社区功能。也要向我们以前团队成员表示感谢!

我们特别感谢(按字母顺序):@arkpar@asinyagin@benjaminion@bobsummerwill@chfast@ChrisChinchilla@Denton-L@djudjuu@elopio@erak@ethers@federicobond@fulldecent@gavofyork@ghallak@guanqun@jamesray1@jvmaia@LefterisJP@liangdzou@LianaHus@mocamircea@NicolaiSoeborg@pirapira@random-internet-cat@roadriverrail@sifmelcara@VoR0220@winsvega

请注意,这不是一个详尽的清单。肯定还有很多其他优秀的贡献者,但是列出所有贡献者将超出本文的范围。😊

Solidity 的过去、现在和未来:对 Christian Reitwiessner 的采访

您能告诉我们一些有关 Solidity 起源的信息吗?您在 Solidity 上的工作现在与过去相比,最大的变化是什么?

现在与过去最大的区别是,在过去,您基本上不知道是否有人会使用我们正在构建的东西。当然,我们可能感觉它会成为一件大事,但我们并不能确定。现在,Solidity 是一款我们正在不断改进的产品,它已经投入生产,被使用,拥有难以置信的价值,并为一些非常酷的去中心化应用程序提供动力。

另一个区别是,在最初,获取反馈似乎更容易。也许这是由于社区规模远小于现在的缘故。从某种程度上来说,对话更偏向技术。现在,社区变得更大,也更加多样化(这是一件好事!)。随着社区的发展,在协作和反馈方面变得更加复杂,尤其是在技术实现细节方面。

回顾过去,您在 Solidity 开发的 5 年中最难忘的时刻是什么?

有很多难忘的时刻 - 人们在编译器甚至还没有命令行界面时就使用它,人们高兴地学习最新的功能,看到生态系统发展壮大,特别是终于在现实生活中见到那些您已经合作了很久的人。

您最喜欢 Solidity 的哪个方面?

Solidity 看起来相当高级,但仍然非常接近 EVM。同时,有一些编程背景的人通常会理解 Solidity 代码的含义。

您认为 Solidity 最需要改进的地方是什么?

它需要更容易编写安全的智能合约。这意味着我们需要改进我们的 SMTChecker、调试器、IDE、模板、库等等。

Eth2 对 Solidity 意味着什么?

在技术层面上,这意味着我们需要更多关注 Solidity 的 Ewasm 后端,但这是一个相对简单的任务。另一方面,在概念层面上,这意味着智能合约将是异步的,这对每个人来说都是一个巨大的挑战。EVM 的原子性使得很多事情变得非常容易:如果出现问题,只需回滚。Solidity 需要找到一个良好的语言结构,让异步的危险变得显而易见,但也帮助避免一些陷阱,并使“常用案例”易于编写。

您还有其他想说的话吗?

让我们继续我们的旅程,让智能合约尽可能安全地为每个人所用!

话虽如此,我们想结束这场小小的生日庆祝,并以一杯虚拟的敬酒来结束

献给所有过去几年做出贡献的人:你们的投入、奉献和工作都令人难以置信。谢谢你们。祝未来五年一切顺利! 🍾

上一篇文章

下一篇文章

参与其中

GitHub

Twitter

Mastodon

Matrix

探索更多

博客文档用例贡献关于论坛

2024Solidity 团队

安全策略

行为准则