【以太坊开发框架】以太坊开发框架权威指南「2021最新」

【以太坊开发框架】以太坊开发框架权威指南「2021最新」

智能合约开发框架允许工程师部署和测试其智能合约,从而使开发者的生活更轻松。 我花了数小时和几天的时间浏览ConsenSys和以太坊网站上的每个推荐框架,以了解哪些 框架最适合2021年,哪些框架你需要避免浪费时间。你可以在GitHub上看到我对这些平台的实验。

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

不仅如此,我还对区块链Hackthon的参与者进行了数百次采访,并完成了数百次Hackthon的提交, 以寻找哪种工具性能最佳、开发人员体验最佳。我自己也使用每个框架做了很多工作,希望为 2021年做好准备。

使用的标准很简单。该框架需要:

可以部署到本地区块链

能够进行快速有效的测试

使用Chainlink将智能合约部署到Kovan Testnet。

第三个标准很重要,因为它使我能够测试框架如何与其他软件包交互以及进行集成测试。 与预言机(Oracle)和第三方工具(如OpenZeppelin)能协同不做基本上是2021年的区块链开发框架所 必须的,这也是为什么这最后一块是非常重要的。

我们将简要介绍一些您你要了解的2021年其他重要工具,但本文不会涉及初学者工具,例如ETH钱包, 以太坊客户端或文本编辑器。

1、2021年推荐的三大智能合约开发框架

首先,我将向所有人推荐以下三个智能合约开发框架。每个都有不同的风格以及选择它的原因:

Hardhat(JavaScript)

Truffle(JavaScript)

Brownie(Python)

让我们仔细研究一下,了解为什么要使用这些框架,为什么它们是最佳的框架,以及其他一些 值得注意的地方。

1.1 Hardhat

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

Hardhat是目前最好的框架之一,支持快速测试,同时提供了最好的教程和最简单的集成。 老实说,每个喜欢JS框架的人都应该在某个时候试用Hardhat。它真的很容易上手,具有快速的测试, 而且入门非常简单。Hardhat的Discord也总是非常迅速地回答问题,因此,如果遇到问题,你 总是可以寻求帮助。Hathat使用Waffle和Ethers.js进行测试 —— 可以说是更好的JavaScript 智能合约框架 —— 开发人员的生活质量确实能得到一些改善。

Hardhat还可以与OpenZeppelin的可升级智能合约插件直接集成,这是一个巨大的胜利。 这个项目给人一种很棒的感觉:很干净。它会执行你想要的操作。真的很快。该项目正在不断改进, Hardhat显然致力于使智能合约开发人员的生活更轻松。

Hardhat概要:

ETH基金会资助的项目,以前的名字是Builder

技术:Javascript,Web3.js和Ethers.js插件,OpenZeppelin可升级合同插件, Etherscan插件,区块链分叉

区块链:Hardhat运行时环境/本地、测试网、主网

测试支持:Waffle

维护:非常活跃

支持:活跃

开源

1.2 Truffle

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

几年来Truffle一直是以太坊智能合约的默认开发框架,这是有充分理由的。 Truffle是一个强大的框架,为其他许多人树立了标准。你很容易找到使用此平台的项目, 因此查找示例很容易。Truffle也可以很容易地与它的姊妹工具Drizzle和Ganache集成在一起。 特别是Ganache,它是工程师运行本地区块链的最流行方法之一。对于那些正在寻找更多工具的人, 你可以为升级的Truffle团队帐户付费,并可以访问智能合约的持续集成,可视化部署和监视。 Truffle还可以与OpenZeppelin的可升级智能合约插件直接集成,这是一个巨大的胜利。 Truffle的开发团队显然是一群有才华的工程师,他们想要使世界成为一个更好的智能合约场所。

Truffle测试的运行速度不如hardhat那样快,并且由于用户数量众多,获得支持可能很困难。 我很期待看到被ConsenSys收购后他们将如何改善这个项目。Truffle的文档质量似乎开始下降 并且很难遵循,但是如果你用Google搜索遇到的错误,则很可能会遇到遇到该错误并已解决的人。 我发现改善项目的一些最佳方法是在GitHub上发布问题。无论如何,保持生态系统不断壮大是我们 的开源职责!

由于几乎每个人都熟悉它,因此获得同行的支持通常很容易。我真的希望看到团队在这个项目 上获得更多支持,因为他们有这么多用户。我希望他们能看到本文并致力于改善其文档,以使 其能够继续作为测试和部署智能合约的首选平台之一。

Truffle概要:

使用最广泛的平台;最近被ConsenSys收购(2020年11月)

技术:Javascript,Web3.js,OpenZeppelin可升级合同插件,Etherscan插件,区块链分叉

区块链:Ganache /本地,测试网,主网

有测试

维护:非常活跃

支持:活跃

开源,可以付费升级

1.3 Brownie

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

Brownie极大地受到Truffle启发,它基本上与Python等效,并增加了一些有利于生活质量改善的特性。 这个项目的字面意思是大多数Python工程师因为不喜欢JavaScript而感到同样的沮丧。 由于Brownie是用Python编写的,因此消除了使用JavaScript带来的许多麻烦,并且你可以使用这个 框架轻松地来处理和部署智能合约。

作为一个喜欢Python的人,我为这个项目的未来感到非常兴奋,随着采用率的提高,越来越多的项目 正在研究Python和Brownie框架来部署他们的智能合约。我已经开始使用Brownie作为我的入门框架, 并且一直喜欢它。我已经和一些从事更多工作的人聊天,他们是一个非常聪明的团队。Yearn.finance 似乎也已加入。

如果你来自Python世界,或者想要一个非常简单,干净的框架,那么无疑这是适合你的框架。

Brownie概要:

最好的Python框架,用于Yearn.finance等DeFi项目。

技术:Python,Web3.py,区块链分叉,Etherscan插件,Vyper支持

区块链:Ganache /本地,测试网,主网

有测试

维护:非常活跃

支持:活跃

开源

1.4 Embark

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

令我惊讶的是,在GitHub上看到Embark这个前三名之外的框架得到这么多星(3.1k)。这个工具有很多独到之处。 我花了一点时间尝试了解,因为Embark是整个DAPP框架。这是一个全栈的区块链平台。在Gitter的 一些帮助下,我能够将Chainlink合约部署到Kovan网络。它带有一个UI,允许你在GUI中与区块链 和合约进行交互。Embark有一段学习曲线,我没有花足够的时间来克服,但它展示了其潜力。这就是 为什么我想将其包括在这里的原因,因为我觉得我没有完全消化很多东西。

我希望看到人们更多地尝试该框架并看到其功能。由于在项目中花费的时间有限,我觉得我可能 无法在这里做到公正。我确实认为将前端与后端解耦仍然是最佳做法,但是如果你需要启动一个 具有良好前端的项目并且不关心解耦,那么您应该100%尝试这个项目。

这是一个很酷的项目,如果有人喜欢Hardhat和Truffle,并且又想与全栈解决方案集成,那么我愿意 推荐Embark给他。

Embark概要:

具有大量功能的JavaScript框架用于前端开发

技术:JavaScript,Web3.js,代理合约支持

区块链:Ganache /本地,测试网,主网

支持测试

维护:轻度活跃

支持:活跃

开源

2、2021年推荐的非框架类以太坊开发工具

现在,在继续后续内容之前,我想休息一下,并指出2021年的一些重要非框架工具。

OpenZeppelin和升级插件

Etherscan / Block Explorer验证程序

create-eth-app

2.1 OpenZeppelin

OpenZeppelin是一个为智能合约工程师创建工具的平台。OpenZeppelin有一些默认设置, 例如ERC20和ERC721工具,你可以在其中导入其合约并在几秒钟内构建代币。看看用 OpenZeppelin制作ERC20有多简单:

pragma solidity ^0.6.0;import “@openzeppelin/contracts/token/ERC20/ERC20.sol”;contract GLDToken is ERC20 { constructor(uint256 initialSupply) public ERC20(“Gold”, “GLD”) { _mint(msg.sender, initialSupply); }}

重新发明轮子没有意义。OpenZeppelin是一个开源项目,致力于确保你不必这样做。

OpenZeppelin的另一个重要方面是其可升级合约功能。部署一个正在运行的项目意味着 你必须部署一个代理合约以便支持需要进行的任何更改。这是另一个让人感到惊奇和干净的项目。 老实说,每个项目,无论你使用什么平台,都应该使用OpenZeppelin已经提供的东西。

2.2 Etherscan / Block Explorer验证程序

Etherscan是最受欢迎的区块浏览器。当人们想要查看你的合约 以及你已部署的内容时,除非他们具有ABI和合同地址,否则他们将无法进行检查。找到合约 地址通常很容易,但是要获得ABI却很困难。你将希望人们能够轻松地查看你的智能合约并与 之交互,因此始终希望对其进行验证,以便其他人可以做到这一点。大多数框架都有某种验证 插件,你可以在其中部署智能合约,然后立即在Etherscan上进行验证。确保在你的应用程序 中可以使用它。

2.3 create-eth-app

拥有大量的后端智能合约是很棒的,但是如果没有人可以使用你的dApp,那将毫无价值。 create-eth-app是一个平台,你可以使用ReactJS为智能合约增加前端。它使用了很多新 的React技巧,例如State Hooks,并使构建真正强大的前端变得更加容易。

3、2021年的一些惊人的初学者工具

Scaffold-ETH

eth.build

Remix

One Clicke dApp

我不会在这里介绍这些功能,但是如果你不熟悉该领域,请查看这些!

4、2021年可选的其他智能合约开发框架

接下来的这些框架的一点也不差,并且可能对你有用。他们中的一些确实对将智能合约框架中 的内容有一些非常酷的想法,我希望前三大框架注意到其中一些很棒的想法。这些工具可能 会花费更多的探索时间。

Waffle(JS)

Dapp.Tools(Haskell / CLI)

SBT(Scala / CLI)

Epirus(Java)

4.1 Waffle

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

Waffle本身可用作部署框架,尽管你必须编写更多的自定义脚本。它被列为智能合约框架, 尽管将其与其他框架进行比较有点不妥。实际上Waffle可以与你喜欢的任何框架一起使用, 并且当前是Hardhat的默认工具。

如果你希望框架可以提供所有不错的功能,那么我不建议自己单独使用它,但是如果你想 使用更原始,更简单,可定制的框架,那么用Waffle不会出错。

Waffle概要:

轻量级JavaScript框架专注于测试

技术:JavaScript,Ethers.js。

区块链:所有

有测试

维护:非常活跃

支持:活跃

开源

4.2 Dapp.tools

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

MakerDAO使用了Dapp.Tools,这让我感到惊讶。它是用Haskell编写的,但是支持许多 我们喜欢的插件,例如OpenZeppelin。它看起来像一个极简主义的框架,功能强大到 足以执行你想要的工作。我能够在使用此平台部署合约方面获得帮助,并且其间接性让我 感到惊讶。如果你正在寻找一个简约的命令行友好的框架,那么我建议你也尝试一下。

Dapp.tools概要

MakerDAO使用的Haskell简单框架

技术:Haskell / CLI

区块链:本地/ Ganache,测试网,主网

有测试

维护:活跃

支持:活跃

开源

4.3 Epirus

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

虽然我说Epirus像“Truffle”,但是Epirus的风格也不是完全像Truffle,这更多是商业意义上的。 Epirus有一个开源项目,同时也有一个付费的升级工具,供那些希望与之合作的人使用。Epirus 使用Java的Web3实现,看起来还处于项目开发的早期。很高兴看到他们对Android的支持,因此 我很关注这个项目的进展。由于Java智能合约平台不多,这样就可以吸引更多的Java工程师进入该行业。 不过我没有办法将合约部署到Kovan,因为目前还不支持,但看起来已经支持Rinkeby。无论如何, 我很高兴看到项目进展顺利。

Epirus概要:

类似于Truffle的Java实现

技术:Java

区块链:Ganache /本地,测试网(不是Kovan)

有测试

维护:活跃

支持:不太活跃

开源,支持付费升级

4.4 SBT

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

SBT是我尝试过的最有趣的项目之一,它致力于命令行或使用 Scala进行智能合约交互。我几乎没有Scala经验,因此没有办法来很好地评估这个平台。如果你 了解Scala并寻求加入以太坊,这个项目看起来不错。

SBT概要:

命令行和Scala项目,适用于智能合约工程师与爱好者。

技术:Scala

区块链:本地/ Ganache,测试网,主网

有测试

维护:轻度活跃

支持:无效

开源

5、2021年应当避免的以太坊开发框架

你也会不时看到以下这些项目,我敢肯定,它们开始时很棒,但是目前已经不再受支持 或处于非活动状态。了解这些是为了避免浪费精力在这些项目上:

OpenZeppelin CLI / SDK(JS)

Etherlime(JS)

Parasol(JS)

Cobra(PY)

5.1 OpenZeppelin SDK

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

现在,我明白了为什么OpenZeppelin SDK团队停止工作了。作为一个团队,他们希望专注于可升 级智能合约的难题 — 但是说实话,这有点难为情。这个项目很干净。我能够部署我 的Chainlinked智能合约,并比几乎任何其他框架更快地读取ETH的价格。它还具有一些 非常不错的CLI选项,就像Epirus和Hardhat一样。它还内置了可升级的选件,这很少见。

我不建议使用此功能,因为他们有意不再支持它,但这是我使用智能合约框架获得的最佳 开发人员经验之一。我希望前三名能够从中汲取灵感,使该项目如此光彩夺目。我上面说过, 每个人都应该使用OpenZeppelin工具是有原因的。它们的确好用。

如果他们不停止这一工作,那么OpenZeppelin SDK很容易成为前四名的框架。

OpenZeppelin SDK概要:

OpenZeppelin弃用的智能合约框架。他们不赞成专注于升级插件。 不过这是一个很干净的JS框架。

技术:JavaScript,Web3.js和Ethers.js插件,OpenZeppelin可升级合约插件

区块链:本地,测试网,主网

有测试

维护:无效

支持:无效

开源

5.2 Etherlime

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

Etherlime看起来是另一个不受青睐且 未积极开展工作的JS框架。它与Infura的过时功能紧密结合,因此我们无法在Kovan上部署 我们的智能合约。该项目活跃时看来是非常强大,而且看起来仍然可以用于本地开发,但是 我不建议使用它。

Etherlime概要:

不再活跃的JS框架

技术:JavaScript,Ethers.js

区块链:本地,测试网,主网

有测试

维护:无效

支持:无效

开源

5.3 Parasol

《【以太坊开发框架】以太坊开发框架权威指南「2021最新」》

Parasol是另一个无效的JS框架(超过两年未提交)。它具有一些很酷的功能,例如 parasol interact以及一些集成,并且显然,有一些很聪明的人在从事此工作,但是 我认为没有理由在任何其他JS框架上使用此平台。

Parasol概要:

不再活跃的JS框架

技术:JavaScript,Web3.js

区块链:本地/ Ganache,测试网,主网

有测试

维护:无效

支持:无效

开源

6、2021年以太坊开发框架总结

智能合约和区块链世​界发展迅速。两年前的一些最热门工具已经是老新闻了,智能合约开发 框架也没有什么不同。看到Truffle保持在游戏的顶端是很酷的事情,但更重要的是,许多项目 都采用了不同的方法来解决问题。希望这对您有所帮助!

 

以上就是小编分享关于”【以太坊开发框架】以太坊开发框架权威指南「2021最新」”的相关文章,感谢读者的耐心阅读,觉得不错动动小手收藏转发吧!想了解更多相关新闻敬请关注小柚财经!

小柚财经QQ专线:21269772(带你加入更多行业交流群)
小柚财经微信公众号:搜索【今日币有约】关注即可

文章标题:【以太坊开发框架】以太坊开发框架权威指南「2021最新」
文章链接:http://www.xtpo.cn/index.php/2021/01/19/12978/
小编申明:本站所提供文章资讯,均由互联网整理。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注