2021 年Solidity开发者报告:概览加密世界最庞大的开发者群体_SOL:BLID

Solidity语言的开发者使用情况如何?我们从400多份问卷中看到了这些。这是由Solidity官方开展的第二次结构化的年度大型Solidity开发人员调查,以Solidity语言的开发者使用情况为主题,围绕开发者数量、开发者简介、开发者属性、开发者开发经验、即将推出的功能和语言设计、社区Solidity等多个维度展开调查。这篇文章中,我们将总结和分析2021年Solidity开发者调查的结果。摘要

调查对象:总共有来自73个不同国家/地区的435名开发人员参与了此次调查,与2020年相比,这一数字增加了100%以上。覆盖的国家和地区也从2020年的48个急剧增加到2021年的73个。超过20%的用户表示居住在美国,其次是印度和德国,大约9%的人更愿意不分享其位置的详细信息。开发人员简介:编程经验水平中等偏高,大多数受访者从事专业编程工作3年或以上,36.6%甚至超过6年。Solidity体验:超过一半的受访者使用Solidity不到一年,而15.5%的受访者使用它超过3年,几乎80%的人每天或每周都使用Solidity。Solidity专业知识:大多数受访者认为自己是Solidity专家,他们的专业知识自我评价为7或更高。4.2%的人将他们的专业知识评为10。80%的受访者将Solidity用于他们的个人项目,大约60%的人也在工作中使用它,超过一半的受访者使用Solidity的时间不到一年。开发者体验:大多数(大于70%)认为Solidity开发者体验在去年有所改善,只有1.6%的人认为情况变得更糟。语言准确性:60%的开发者希望Solidity能够增加更多检查点,减少由于判例不足引起的错误,提升智能合约开发的准确性。26%的人更愿意保持现状。未来功能:更高效的优化器和捕获自定义错误的能力被列为正在讨论的最重要的未来功能。此外,对小数的支持、更好的阵列管理和解决堆栈太深错误等都是最受期待的功能。喜欢和害怕的功能:受访者最喜欢Solidity的简单性、「易于学习」的方面、默认的SafeMath和修饰符,可怕的话题是调试、堆栈太深的错误以及缺少对小数的支持。社区:不到三分之一的受访者曾参与过与Solidity语言设计相关的工作。调查对象

安全团队:发现Circom验证库漏洞CVE-2023-33252:金色财经报道,Beosin 发现Circom 验证库漏洞CVE-2023-33252,提醒zk项目方注意相关风险。Circom是基于Rust开发的零知识证明电路编译器,该团队同时开发了SnarkJS库用于实现证明系统,包括:可信设置、零知识证明的生成和验证等,支持Groth16、PLONK、FFLONK算法。

此前,Beosin 安全研究人员在?SnarkJS 0.6.11及之前的版本的库中发现了一个严重漏洞,当该库在验证证明时未对参数进行完整的合法性检查,使得攻击者可以伪造出多个证明通过校验,实现双花攻击。Beosin在提了这个漏洞以后,第一时间联系项目方并协助修复,目前该漏洞已修复完成。Beosin提醒所有使用了SnarkJS库的zk项目方可将SnarkJS更新到 0.7.0版本!以确保安全性。

同时针对此漏洞,Beosin安全团队提醒zk项目方,在进行proof验证时,应充分考虑算法设计在实际实现时,由于代码语言属性导致的安全风险。目前Beosin已将漏洞提交 CVE漏洞披露平台(Common Vulnerabilities and Exposures)并获取认可。[2023/5/25 10:39:47]

请注意,此调查仅以英语进行这一事实是在解释有关居住国分布和语言偏好的结果时需要考虑的重要因素。首先,让我们看看参与本次调查的开发人员,我们将详细介绍位置和语言等一般信息,并详细了解他们的专业经验、编程偏好等。2021年的调查总共收到了来自73个不同国家/地区的开发人员的435份回复,与2020年相比,这一数字增加了100%以上。国家和地区的数量也从2020年的48个攀升至2021年的73个,似乎也覆盖了地理上更加多样化的受众。

居住位

超过20%的人表示居住在美国,其次是印度和德国,大约9%的人更愿意不分享其位置的详细信息。

Greenidge Generation 2022年全年生产了2731个比特币:金色财经报道,Greenidge Generation第四季度的收入为1600 万美元,与去年同期相比下降了 55%。加密货币数据中心收入为1220 万美元,比上年下降 64%,电力和容量收入为380 万美元,比上年增长 74%。Greenidge 在第四季度生产了 683 个比特币,而去年第四季度为 609 个比特币。2022 年全年,Greenidge 生产了 2,731 个比特币,而 2021 年为 1,866 个比特币。

截至2022 年 12 月 31 日,Greenidge 持有的现金、短期投资和加密货币公允价值为1570 万美元,预计到 2023 年第一季度末将持有约1700 万美元现金。

Greenidge Generation2023年第一季度将重组与 NYDIG 的担保债务,将债务和应计利息义务从7580 万美元减少到1730 万美元。重组与 B. Riley 的期票,将债务和应计利息义务从1060 万美元减少到870 万美元。[2023/3/31 13:38:03]

语言

受访者使用他们的母语涵盖多种语言,总共提到了50种不同的语言作为母语。其中35%的受访者的母语是英语,其次是西班牙语、法语、俄语、葡萄牙语和德语。

超过80%的受访者在工作中主要使用英语。一些受访者还在工作中说西班牙语、法语、俄语或葡萄牙语。

在母语非英语的受访者中,超过90%的人可以阅读英文版的Solidity文档,8.6%的人更愿意用他们的母语阅读,其中最常被提及的是普通话和繁体中文、西班牙语和葡萄牙语。

Peter Thiel的基金已于2022年3月出售其大部分加密资产,回报额达18亿美元:金色财经报道,据《金融时报》援引知情人士称,由 Paypal 联创 Peter Thiel 共同创立的风投公司 Founders Fund 在 2022 年 3 月底已出售其持有的大部分加密货币,获得约 18 亿美元的回报,目前对加密货币没有重大资金敞口。Founders Fund 于 2014 年初首次投资比特币,并持续大额投资加密货币,知情人士称其总投资的大约三分之二用于购买比特币。[2023/1/19 11:21:13]

请记住,此调查仅以英语进行,这可能会影响此问题的结果。我们仍然相信Solidity文档等资源的国际化是降低进入门槛的关键因素,我们的目标是支持社区努力通过新的、更清晰的结构化翻译指南进行翻译。开发者简介

工作经验和就业77.1%的受访者目前有工作,大约10%是学生,12.5%目前没有全职工作。

受访者主要在科技和金融服务领域工作,除此以外教育、媒体以及游戏等领域的占比也相对较高。

大约10%的人是编程新手,并且只从事专业编程不到一年。不过值得一提的是,拥有超过15年编程经验的资深开发者占比也达到了这一数字。而约有30%的受访者拥有3-5年编程经验。参与本次调查的受访者编程经验年限基本呈现正态分布。总体而言,编程经验水平处于中高水平,大多数受访者专业编程3年或以上,36.6%甚至超过6年。

有趣的是,大多数受访者将Solidity用于他们的个人项目,大约60%的受访者在工作中使用Solidity,而40%的受访者主要在工作中使用另一种编程语言编写代码。超过20%的人表示他们正在领导一个编程团队。

Circle产品主管:2022年一切都将成为NFT:金色财经报道,Circle 产品主管雷切尔·梅耶斯 (Rachel Mayers) 谈到对2022年的预测时表示,NFT 的用例将继续爆炸式增长。虽然我们看到数字收藏品和艺术品是 2021 年公司的主要用例,但在 2022 年,我们将看到更多 NFT 用例。我们将看到像 GameStop 或 7-11 这样的零售商可能会使用 NFT 来激励现实生活中的交易,利用创作者为他们的店面增加流量。因此,品牌和创作者只是在奖励 NFT、分发内容、进行购买方面加强忠诚度社区行为。明年一切都将是 NFT。(forkast)[2022/1/6 8:29:00]

在开源贡献方面,60%的受访者表示他们从未或很少为使用Solidity编写的开源项目做出贡献。不过也有约30%的受访者表示每天或每周都会这样做。

编程语言首选项JavaScript和Solidity在最常用的编程语言中排名第一,其次是TypeScript和Python。

在「最喜爱的编程语言」票选中,Python成功击败Solidity「反客为主」,获得了22.7%的受访者青睐,其次是Solidity、JavaScript、TypeScript和Rust。

操作系统与2020年的调查类似,macOS和Linux似乎同样受欢迎。大约40%使用macOS,紧随其后的是Linux,22%的受访者使用Windows,其中大多数人表示除了Windows之外还使用macOS或Linux,也有一些开发人员同时使用Linux和macOS,甚至同时使用这三个操作系统。

美国CFTC:比特币期货净空头持仓降至2020年3月以来的最低水平:美国商品期货交易委员会(CFTC):比特币期货净空头持仓降至2020年3月以来的最低水平。[2021/8/21 22:27:38]

Solidity经验和Solidity开发人员简介

大多数受访者认为自己是Solidity专家,他们的专业知识自我评价为7或更高。4.2%的人将他们的专业知识评为10,大约23%可以被认为是初学者或自评专业水平为4或更低的低频用户。

与去年相比,初学者的比例略有增加,超过一半的受访者使用Solidity的时间不到一年。15.5%的人使用Solidity超过3年,因此可以被视为Solidity老年人。

Solidity仍然看起来相当容易学习,26.7%的受访者在不到一个月的时间内感到高效,30.7%的受访者在不到半年的时间内感到高效,7.7%的人需要一年多的时间才能适应这种语言。23.3%的人感觉还没有效率,其中超过75%的人是初学者,并且使用Solidity的时间不超过6个月。

Solidity开发人员简介大多数受访者每天或每周都使用Solidity,8%的人表示「很少」或「从不」使用Solidity,其中几乎所有主要使用另一种编程语言的代码都在工作中,大多数人表示他们使用Solidity的时间还不到3个月。

超过50%的人使用VSCode作为编辑器来编写Solidity,其次是VisualStudio和Remix,7%的受访者使用Vim,其次是IntelliJ和Atom。与2020年相比,2021年IntelliJ、Atom、Vim和Sublime的使用量减少了。

Hardhat成为最受欢迎的以太坊专用开发环境,近45%的受访者使用它,Truffle和Remix紧随其后,各自的用户份额约为17%。相对较少份额的以太坊专用开发环境是Brownie、Dapptools、Scaffold-ETH、Foundry/Forge和Embark。与2020年相比,Truffle(2020:34.6%->2021:17.9%)和Remix(2020:29.3%->2021:17%)份额大幅下降,而Hardhat、Brownie、Dapptools和Foundry等新来者的用户份额增加。

0.8.xSolidity版本是迄今为止最常用的版本,0.7.x和0.6.x版本系列仍有待使用,而比这更旧的版本几乎不再被使用。与2020年相比,这是一个很大的发展,当时大多数用户仍在使用0.6.x版本系列,幸运的是,只有少数人仍在使用0.4.x或0.5.x系列的非常旧的版本。

提醒:请确保经常更新您的代码。自0.4.x以来添加了几个重要的错误修复和安全改进!Solidity用户体验

大多数人认为Solidity开发人员的体验在去年有所改善,只有1.6%的人认为情况变得更糟。

当陷入Solidity问题时,80%的人会尝试在以太坊StackExchange或StackOverflow上寻找解决方案,许多人还向他们的同事寻求帮助或观看教程,暂时搁置问题去做其他工作,稍后再尝试解决也很受欢迎。

反复出现的问题

30%的受访者在使用Solidity开发时不会多次遇到相同或相似的问题。其中堆栈太深、字节码大小限制、调试问题、优化器的不确定性和阵列处理是最常被提及的问题。特点

未来功

更高效的优化器和捕获自定义错误的能力被列为正在讨论的最重要的未来功能。

此外,对小数的支持、更好的阵列管理和修复堆栈太深是最受期待的功能。我们注意到受访者使用了各种不同的术语,例如「floats」、「floatingpointarithmetic」、「floatingpointnumber」、「fixedpointnumbers」、「fixedpointmath」,我们将这些归类为「factionalnumbers」,并假设以上所有内容最终旨在描述「fixedpointmath」。最常提到的预期功能按降序排列:「floats」更好的阵列管理/更多的阵列和映射功能修复堆栈太深Gas优化/优化器改进更好的调试更好地支持字符串建设/开发时更容易/更好的Gas计量console.log()require()的自定义错误generics更好的文档通过Yul的代码生成自定义值类型fixedpointmat语言服务提供商最喜欢和最害怕

受访者最喜欢Solidity的简单性、「易于学习」的方面、默认的SafeMath和修饰符。最常提到的喜欢的功能按降序排列:简单简单易学特定领域的语言/工作的正确工具/「它有效」默认情况下的SafeMath/over-&underflow检查修饰符映射干净的语法接口静态类型可读性inheritance好的工具结构内联汇编delegatecallrequireandassertions自定义错误内存管理事件libraries编译器安全ABIEncoderV2明确性灵活性不变性语言安全面向对象吐槽最多的关键字是是调试、堆栈太深错误和缺少对小数的支持。被吐槽频次降序排列:调试堆栈太深缺少浮点数/定点数内联汇编模棱两可/通用错误消息数组字符串文档难以阅读和导航次要版本的重大更改/缺乏兼容性安全Gas成本/部署成本inheritance测试Gas优化修饰符社区资源中的过时资源/教程越来越复杂returns显式转换缺少关于内联汇编/yul的文档缺少console.log内存分配缺少标准库reentrancy类型系统限制性

60%的开发者希望Solidity能够增加更多检查点,减少由于判例不足引起的错误,提升智能合约开发的准确性,只有约26%的受访者对现状足够满意。

Solidity社区

语言设计

不到20%的受访者曾参与过与Solidity语言设计相关的工作,6.2%参加了Solidity论坛的讨论,5.1%参加了语言设计电话会议,6.4%在Solidity存储库中打开或贡献了Github问题。在大约80%的未参与语言设计的人中,几乎8%的人表示不感兴趣,而35%的人工作太忙,40%的人不知道如何参与。

随时了解情况

大多数人喜欢通过在Twitter或Mastodon上关注Solidity来了解Solidity版本、安全警报和公告的最新信息,其他常用的信息获取方式是Solidity博客和SolidityGitHub发布页面。

与其他Solidity开发人员的互动

超过一半的受访者与其他Solidity开发人员互动,有趣的是,仍有近45%的人表示他们很少或从不与其他Solidity开发人员联系。作为调查的最后一部分,我们想知道有多少参与者同意或不同意关于Solidity社区和Solidity团队工作的一些陈述。

75%的受访者在Solidity开发者社区中感到受欢迎。大约80%的人同意或有点同意他们对Solidity团队的工作充满信心。超过一半的人觉得欢迎为Solidity做出贡献,但只有不到一半的人表示他们知道如何为Solidity贡献想法或反馈。大约25%的人相信Solidity团队了解他们作为开发人员的需求,另有40%的人有些同意,而只有一小部分人不同意或强烈不同意。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:0ms0-0:845ms