大家好,关于经过数百次采访,我总结了2021年最好的区块链开发框架很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
不仅如此,我还对区块链黑客马拉松参与者进行了数百次采访,并审查了数百份黑客马拉松提交的材料,以找出哪些工具提供了最佳性能和最佳开发体验。我自己在这些框架上也做了很多工作,想为2021年做好准备。我为大家准备了这份2021年优秀框架精选,让大家不用再为选择困难而苦恼。
部署到本地区块链以进行快速高效的测试使用Chainlink 将智能合约部署到KovanTestnet
第三个标准很重要,因为它允许我测试框架如何与其他包和集成测试交互。从2021年开始,与oracle、OpenZeppelin等第三方工具合作已经成为基本需求,所以最后一个标准非常重要。
视频介绍:https://youtu.be/motYF5daaOc
Top 4 智能合约开发框架
总的来说,我向大家推荐三个智能合约开发框架。每个框架的风格都略有不同,选择它们的原因也略有不同。他们是:
Hardhat (JavaScript) Truffle (JavaScript) Brownie (Python)
让我们更深入地了解这些框架中的每一个,并讨论为什么应该使用它们、为什么它们位于列表的顶部以及其他值得注意的点。
安全帽
Hardhat 是最好的框架之一,在竞争对手中拥有最快的测试、最好的教程和最简单的集成。老实说,喜欢JS 框架的人迟早应该尝试一下Hardhat。上手真的很容易,测试速度很快,上手也很简单。他们的Discord 也能很快回答问题,所以如果你遇到困难,总是很容易寻求帮助。他们使用Waffle 和Ethers.js 进行测试,这可以说是更好的JavaScript 智能合约框架,因为与web3.js 相比,它们有一些非常好的改进。它们还直接与OpenZeppelin 的可升级智能合约插件集成,这是一个很大的优势。
这个项目有一个很棒的感觉:它很干净。它会做你想让它做的事。真的很快。该项目正在不断改进,开发团队显然正在努力让智能合约开发人员的生活变得更轻松。
小结
ETH 基金会资助的项目,以前的Builder Technologies:Javascript、Web3.js 和Ethers.js 插件、OpenZeppelin 可升级合约插件、Etherscan 插件、Blockchain Fork 区块链:Harhat 运行时环境/本地、测试网、带测试的主网:Waffle 维护:非常积极的支持:积极的开源
TruffleTruffle 多年来一直是开发人员选择的框架,这是有充分理由的。它是一个强大的框架,为其他人设定了遵循的标准。您可以轻松找到大量使用此平台的项目,因此查找示例很容易。 Truffle 还可以轻松与其姊妹工具Drizzle 集成。尤其是Ganache,是工程师运行本地区块链最流行的方式之一。如果您需要更多工具,可以花钱购买升级后的Truffle团队账户,以获得智能合约的持续集成、可视化部署和监控。它们还可以直接与OpenZeppelin 的可升级智能合约插件集成,这是一个很大的优势。他们显然是一群才华横溢的工程师,都希望为智能合约创造一个更美好的世界。
Truffle 测试的运行速度不如Hardhat,并且由于前者的用户数量众多,因此很难获得支持。由于Truffle 被ConsenSys 收购,我很期待看到他们将如何改进该项目。他们的文档质量似乎开始下降,这可能成为阅读的绊脚石,但如果你用谷歌搜索你遇到的错误,你很可能会找到遇到它并解决它的人的示例。我发现改进项目的最佳方法之一就是在他们的GitHub 上留下问题。无论如何,作为开源社区,我们的工作就是保持生态系统的发展!
小结
使用最广泛的平台;最近被ConsenSys 收购(2020 年11 月) 技术:Javascript、Web3.js、OpenZeppelin 可升级合约插件、Etherscan 插件、Blockchain Forks 区块链:Ganache/Local、测试网络、主网已测试维护:非常活跃支持:活跃的开源项目具有付费升级功能
BrownieBrownie 深受Truffle 的启发,前者基本上是后者的Python 版本,并增加了一些体验改进。这个项目源于大多数Python 工程师的共同困惑:他们不喜欢JavaScript。由于它是用Python 编写的,因此避免了使用JavaScript 带来的许多麻烦,并为您带来了一个简单而优秀的框架来处理和部署智能合约。
我自己喜欢Python,所以我对这个项目的未来感到非常兴奋,随着采用率的增加,越来越多的项目正在使用Python和这个框架来部署他们的智能合约。我使用Brownie 作为我的起始框架,它非常棒。我还与一些开发人员交谈过,他们正在用它做更多的事情,他们真的很棒。 Yearn.finance似乎也使用了这个框架。
如果您来自Python 开发世界,或者想要一个非常简单、干净的框架,那么这个框架很适合您。
还有一个框架!我知道我只提到了三个,但我认为下面的框架也值得在这里占有一席之地。
小结
Yearn.finance 等DeFi 项目使用的最佳Python 框架。技术:Python、Web3.py、Blockchain Fork、Etherscan 插件、Vyper 支持的区块链:Ganache/Local、测试网、带测试的主网维护:非常活跃支持:活跃开源
开始吧我很惊讶前三名之外的框架在GitHub 上拥有如此多的星星(3.1k)。这个工具有很多技巧。我花了一段时间才弄清楚它到底是什么,但那是因为Embark 的目标是成为一个完整的dApp 框架。这是一个全栈区块链平台。在Gitter 的帮助下(以及在GitHub 上创建问题;记住,开源社区的责任!),我能够将自己的Chainlink 合约部署到Kovan 网络。它带有一个UI,因此您可以在GUI 中与区块链和合约进行交互。看起来有一个学习曲线,我没有花足够的时间来克服障碍,但可以看到它有很大的潜力。所以我想把它放在这里,因为我觉得还有很多东西我还没有完全消化。
我希望看到更多的人尝试这个框架并认识到它的能力。由于我在这个项目上花费的时间有限,我觉得我可能无法公正地完成它。我确实认为将前端与后端解耦仍然是最佳实践,但是如果您需要启动一个具有良好前端的项目并且不关心解耦的需要,那么您绝对应该尝试这个项目。
这个项目很酷,我会首先向任何喜欢Hardhat 和Truffle 但想要集成完整堆栈解决方案的人推荐它。
小结
用于前端开发的JavaScript 框架技术,具有大量功能:JavaScript、Web3.js、代理合约支持区块链:Ganache/local、testnet、带测试的主网维护:轻度活跃支持:活跃开源
我们暂停一下
在继续讨论上述框架的替代方案之前,我想暂停一下并介绍2021 年一些重要的非框架工具。
OpenZeppelin 和升级插件(https://openzeppelin.com/contracts/) Etherscan/BlockExplorer 验证器(https://etherscan.io/) create-eth-app (https://github.com/paulrberg/create-eth-app)
OpenZeppelin 和升级插件
OpenZeppelin 是一个创建有用的平台智能合约工程师的工具。他们有一些默认选项,例如ERC20 和ERC721 工具,您可以在其中导入他们的合约并在几秒钟内设置代币。了解使用OpenZeppelin 制作ERC20 是多么容易:
重新发明轮子是没有意义的。 OpenZeppelin是一个开源项目,它的主要目的是节省大家重新发明轮子的精力。 OpenZeppelin 的另一个重要特性是其可升级的合约功能。部署真实的项目意味着您必须部署一个代理合约,每当您想要进行任何更改时都需要更新该代理合约。这是另一个具有出色且干净体验的项目。老实说,每个项目,无论您使用什么平台,迟早都会使用OpenZeppelin 创建的内容。
Etherscan/Block Explorer 验证器
Etherscan 是最受欢迎的区块浏览器。当人们想要查看你的合约和你部署的内容时,除非他们有ABI 和合约地址,否则他们无法查看。查找合约地址通常很容易,但获取ABI 却很困难。您肯定希望人们能够轻松查看您的智能合约并与之交互,因此您需要始终对其进行验证,以便其他人也可以这样做。大多数框架都有某种验证插件,您可以在其中部署智能合约,然后立即在Etherscan 上对其进行验证。请务必在您的应用程序中使用它。
create-eth-app
拥有一堆后端智能合约固然很棒,但如果没有人可以使用你的dApp,那么这些合约就毫无价值。 create-eth-app 是一个允许您使用ReactJS 将前端添加到智能合约的平台。它使用了许多最新的React 技术(例如状态Hooks),使开发人员可以轻松构建真正强大的前端。
2021 年的一些出色的初学者工具
支架-ETH (https://github.com/austintgriffith/scaffold-eth)
eth.build(https://eth.build/)
混音(https://remix.ethereum.org/)
OneClick dApp (https://oneclickdapp.com/)
我不会在这里详细介绍它们,但如果您是这个领域的新手,请使用它们!
其他框架选项
其余框架也不错,可能更适合您的需求。他们中的一些人确实对智能合约框架应该包含哪些内容有一些非常酷的想法,我希望前三名参赛者注意到其中的一些很酷的想法。这些工具可能需要更多的探索时间。
Waffle (JS) Dapp.Tools (Haskell/CLI) SBT (Scala/CLI) Epirus (Java)
Waffle
Waffle 本身可以用作部署框架,但需要编写更多自定义脚本。虽然将它与其他框架进行比较有点愚蠢,但这里仍然将其列为智能合约框架。 Waffle 可以与您喜欢的任何框架一起使用,目前是Hardhat 的默认工具。
如果您想要框架可以提供的所有优秀功能,我不建议单独使用它。但如果你想使用一个更原始、更简单、可定制的框架,那么你就不会出错。
小结
专注于测试技术的轻量级JavaScript 框架:JavaScript、Ethers.js 区块链:你运行的所有东西都有测试维护:非常活跃支持:活跃开源
Dapp.Tools
MakerDAO 使用Dapp.Tools,这也让我感到惊讶。它是用Haskell 编写的,但支持许多我们最喜欢和常用的插件,例如OpenZeppelin。它看起来像一个简约的框架,但功能强大,足以满足您的需求。我能够找到使用该平台部署合约的帮助,而且它的简单性给我留下了深刻的印象。如果您正在寻找一个命令行友好的简约框架,那么我建议您也看看这个。
小结
MakerDAO 使用的Haskell 简单框架技术:Haskell/CLI 区块链:本地/Ganache、testnet、主网带测试维护:主动支持:主动开源
Epirus
虽然我说它是一个“Truffle-like”框架,但是Epirus的风格并不完全像Truffle,但在业务层面上是相似的。他们有一个开源项目,但也有一个付费升级工具,供想要使用它做更多事情的用户使用。他们正在使用Java 的Web3 实现,并且似乎仍处于项目开发的早期阶段。我很高兴看到他们提供对Android 的支持,所以我很有兴趣了解这个项目的进展情况。由于Java智能合约平台不多,因此可以吸引更多Java工程师进入该行业。
我无法使用它部署到Kovan,因为它不受支持,但看起来他们已经支持Rinkeby。无论如何,我很高兴看到这个项目取得进展。
小结
与Truffle 类似的Java 实现技术:Java 区块链:Ganache/local,testnet(不是Kovan)有测试维护:活跃支持:不是很活跃具有付费升级功能的开源项目
SBT
这是我玩的一个很有趣的项目中,SBT 与智能合约的交互几乎完全通过命令行或使用Scala。我的Scala 经验几乎为零,因此没有足够的背景来评估这个平台。如果您了解Scala 并且想进入以太坊世界,这个工具可能是一个非常酷的选择。
小结
同时满足命令行和Scala的开发需求。适合智能合约爱好者和工程师。技术:Scala 区块链:本地/Ganache、测试网、带测试的主网维护:轻度活跃支持:不活跃开源
过时的框架
您会经常看到这些框架。我确信它们问世时是很棒的工具,但今天它们不再受支持或不再活跃。以下框架不值得浪费精力去理解和尝试。
OpenZeppelinCLI/SDK (JS) Etherlime (JS) Parasol (JS) Cobra (PY)
OpenZeppelin SDK
现在,我明白为什么这个项目停止了这个—— 作为一个团队,他们希望专注于可升级智能合约的棘手问题问题—— 不过说实话这还是挺可惜的。这个项目非常干净。我可以比几乎任何其他框架更快地部署Chainlinked 智能合约并读取ETH 的价格。它还有一些非常好的CLI 选项,就像Epirus 和Hardhat 一样。它还具有内置的可升级选项,这是其他平台很少有的,所以这是一个很大的优势。
我不建议使用这个框架,因为他们不再支持它。但这是我使用智能合约框架获得的最佳开发体验之一。我希望前三名选手能够获得一些灵感,使这个项目变得特别。我上面说过,每个人都应该使用OpenZeppelin 工具是有原因的。他们只是工作。
如果他们不停止这个项目,他们的SDK 很容易成为四大框架。
小结
OpenZeppelin 已弃用智能合约框架。他们弃用了它,以专注于升级插件。不管怎样,这是一个非常干净的JS 框架。技术:JavaScript、Web3.js 和Ethers.js 插件、OpenZeppelin 可升级合约插件区块链:本地、测试网、带测试的主网维护:不活动支持:不活动开源
Etherlime
Etherlime 似乎是另一个不受JS 框架影响的框架这是受到青睐但没有积极开展的工作。它与Infura 的过时功能紧密耦合,因此我们无法在Kovan 上部署智能合约。当它活跃时,它似乎是一个非常强大的项目,并且似乎仍然可用于本地开发,但我不会推荐它作为前三个选项的替代品。
小结
不活跃的JS 框架技术:JavaScript、Ethers.js 区块链:本地、测试网、带测试的主网维护:不活跃支持:不活跃的开源
Parasol
另一个不活跃的JS 框架(超过两个年内未提交)。它有一些很酷的功能,比如parasol 交互和一些集成,显然有一些非常聪明的人在研究它,但我认为没有理由再使用它而不是任何其他JS 框架。
小结
不活跃JS 框架技术:JavaScript、Web3.js 区块链:Local/Ganache、Testnet、带有测试维护的主网:不活跃支持:不活跃开源
原始链接:
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/110467.html
用户评论
你tm的滚
真厉害!感觉要入行区块链了,这篇文章正好能让我快速入门。
有20位网友表示赞同!
从此我爱的人都像你
看了你的博客才知道原来现在也有这么多成熟的框架了,我还以为只能自己从零开始搭建呢,太感谢了!
有14位网友表示赞同!
病房
2021年这么快过去了?感觉我一直在忙着学习区块链知识却没跟上技术的最新进展。这篇文章让我知道有哪些好用框架可以参考,很有帮助!
有20位网友表示赞同!
﹏櫻之舞﹏
终于找到一篇靠谱的区块链开发框架测评了!面试都问这些东西,一直还没机会实践研究好好了解,这下子可以安心学习啦~
有13位网友表示赞同!
残花为谁悲丶
这篇博客写的不错,列出的框架都很全面,还有一些具体的对比分析,对选择合适的框架很有帮助。
有6位网友表示赞同!
眷恋
这框架名字听起来就很陌生啊,虽然是2021年的文章了,不知道现在还有没有人用?
有20位网友表示赞同!
枫无痕
很多框架都还没听说过,感觉区块链开发技术更新太快了!我也想学习一下,看看哪些框架比较热门。
有20位网友表示赞同!
此刻不是了i
我只想简单了解一下区块链框架的特性有哪些,这篇博客写的也太详细了,有点看不懂…
有6位网友表示赞同!
迁心
你列出的案例都很精彩,让我对这些框架有了更深的理解!
有5位网友表示赞同!
青楼买醉
能不能简化文章内容一点?我想要快速了解2021年最好的区块链开发框架是哪个?
有10位网友表示赞同!
孤自凉丶
写的太技术了,我感觉小白完全看不懂。可以简单来说一下吗?
有20位网友表示赞同!
良人凉人
我很想学习区块链开发,但现在没有太多时间去研究每个框架,你能推荐一个入门比较简单的框架吗?
有15位网友表示赞同!
慑人的傲气
文章写的不错,但是我觉得缺少一些实践案例和代码示例,这样能更容易理解这些框架的使用方法。
有8位网友表示赞同!
别悲哀
2021年区块链发展这么快,现在是不是很多这些框架都已经过时了?
有6位网友表示赞同!
旧事酒浓
感觉每个框架都有自己的优缺点,很难选出一个绝对最好的呢!
有20位网友表示赞同!
浅嫣婉语
这篇文章太好用了,让我对区块链开发有了更清晰的认识,我决定学习这其中的一个框架了!
有17位网友表示赞同!
别留遗憾
文章分析很透彻,框架选择指南也很实用,我觉得以后写一些区块链相关的文章可以参考一下你的风格! 你可以考虑发电子书?
有11位网友表示赞同!
命该如此
对于新手来说,能提供一些关于如何入门区块链开发的建议吗?
有11位网友表示赞同!