文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

2021年优秀区块链开发者框架

2024-12-03 10:13

关注

[[386465]]

我花了数小时和几天的时间浏览ConsenSys和以太坊网站上的每个推荐框架,以了解哪种框架最适合2021年。

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

第三个标准很重要,因为它使我能够测试框架如何与其他软件包交互以及进行集成测试。

从2021年开始,基本上必须使用Oracle和OpenZeppelin等第三方工具,这就是为什么最后一部分如此重要的原因。

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

智能合约开发框架

我将推荐三个智能合约开发框架。每种框架略有不同,所以选择它的原因也不同。他们是:

让我们来仔细阅读一下,了解您为什么要使用它,为什么它位于列表的顶部,以及其他值得注意的地方。

1. Hardhat

 

 

 

[[386466]]

 

图片来源:Hardha

Hardhat是目前最好的框架之一,具有一些最快的测试,最好的教程和最简单的集成。

老实说,每个喜欢JS框架的人都应该在某个时候尝试使用Hardhat。

它真的很容易上手,它进行了快速的测试,而且入门非常简单。他们的Discord也一直非常迅速地回答问题,因此,如果遇到问题,您总是可以寻求帮助。他们使用Waffle和Ethers.js进行测试,这可以说是更好的JavaScript智能合约框架,这是由于与web3.js相比,生活质量有了一些非常不错的改进。他们还可以与OpenZeppelin的可升级智能合约插件直接集成,这是一个巨大的胜利。

这个项目给人一种很棒的感觉:干净利落、执行您想要的操作,并且真的很快。

该项目正在不断改进,他们显然致力于使智能合约开发人员的生活更轻松。

概括:

2.Truffle

 

 

 

 

图片来源:Truffle

Truffle几年来一直是默认框架,这是有充分理由的。

它是一个强大的框架,为其他许多人树立了标准。您会很容易找到使用此平台的大多数项目,因此查找示例很容易。

Truffle也可以很容易地与它的姊妹工具Drizzle和Ganache集成在一起。Ganache特别是工程师运行本地区块链的最流行方法之一。对于那些寻求更多工具的人,您可以支付升级后的Truffle团队帐户的费用,并可以访问智能合约的持续集成,可视化部署和监视。他们还可以与OpenZeppelin的可升级智能合约插件直接集成,这是一个巨大的胜利。

他们显然是一群有才华的工程师,他们想要使世界成为一个更好的智能合约场所。

Truffle测试的运行速度不如安全帽那样快,并且由于用户数量众多,获得支持可能很困难。自从被ConsenSys收购以来,我很期待看到他们将如何改善这个项目。他们的文档似乎开始下降,很难遵循,但是如果您通过Google搜索遇到的错误,很可能会遇到曾经遇到该错误并已解决的人。

我发现改善项目的一些最佳方法是将问题留在他们的GitHub上。无论如何,保持生态系统不断壮大是我们的开源职责!

由于几乎每个人都熟悉它,因此获得同行的支持通常很容易。

我真的希望看到团队在这个项目上获得更多支持,因为他们有这么多用户。

概括:

3.Brownie

 

 

[[386467]]

 

图片来源:Brownie

Brownie受到Truffle的极大启发,这基本上与Python等效,并增加了一些生活质量更改。这个项目大多数Python工程师感受都一样:他们不喜欢JavaScript。

由于它是用Python编写的,因此消除了使用JavaScript带来的许多麻烦,并且您获得了使用此奇妙的简单框架来处理和部署智能合约。

作为一个自己喜欢Python的人,我为这个项目的未来感到非常兴奋,随着采用率的提高,越来越多的项目正在使用Python和此框架来部署他们的智能合约。

如果您来自Python世界,或者想要一个非常简单,干净的框架,毋庸置疑这个将非常适合你。

概括:

除了另外三个顶部的开发框架外,还有一个完整的dApp框架——

Embark,它也是一个区块链平台。

 

 

 

[[386468]]

 

图片来源:Embark

我很惊讶地看到在GitHub(3.1k)上排名前三的框架如此之多。

这个工具有很多钟声和口哨声。我花了一些工夫才了解了个中缘由,这是因为Embark是一个完整的dApp框架。这是一个全栈的区块链平台。

在Gitter的一些帮助下,我能够将Chainlink合同部署到Kovan网络。它带有一个UI,使您可以在GUI中与区块链和合同进行交互。

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

这个项目很酷,如果有人喜欢Hardhat和Truffle,但又想与全栈解决方案集成,这个将会适合这些人。

概括:

非框架工具

现在,在继续上述操作之前,我想指出2021年的一些重要非框架工具。

1.OpenZeppelin和升级插件

OpenZeppelin是一个平台,可为智能合约工程师创建工具以供使用。他们有一些默认设置,例如ERC20和ERC721工具,您可以在其中导入他们的合同并在几秒钟内建立一个令牌。

看看用OpenZeppelin制作ERC20有多简单:

 

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

OpenZeppelin是一个开源项目。它的另一个重要方面是其可升级合同功能。部署一个正在运行的项目意味着您必须部署一个代理合同,该代理合同在您要进行任何更改时都需要更新。这是另一个让人感到惊奇和干净的项目。老实说,每个项目,无论您使用什么平台,都应该使用OpenZeppelin在某个时候创建的内容。

2.Etherscan / Block Explorer验证程序

Etherscan是最受欢迎的区块浏览器。当人们想要签出您的合同以及您已部署的内容时,除非他们具有ABI和合同地址,否则他们将无法进行检查。或许找到合同地址通常很容易,但是要获得ABI却很困难。

您希望人们能够轻松地查看您的智能合约并与之互动,因此您必须对其进行验证,以便其他人能做到这一点。大多数框架都有某种验证插件,您可以在其中部署智能合约,然后立即在Etherscan上对其进行验证。确保在您的应用程序中使用它。

3.create-eth-app

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

代替框架

下面介绍一些其他的代替框架,这些框架可能对您有用。他们中的一些确实对将智能合约框架中的内容有一些非常酷的想法,我希望你们能注意到这些很棒的想法。

这些工具可能会花费更多的探索时间。

1.Waffle

 

图片来源:Waffle

Waffle本身可以用作部署框架,尽管您必须编写更多自己的自定义脚本。尽管将其与其他框架进行比较有不及,但它被列为智能合约框架。

Waffle可以与您喜欢的任何框架一起使用,我当前是使用Hardhat的默认工具。

如果您希望框架可以提供所有不错的功能,就不建议自己单独使用它,但是如果您想使用更原始,更简单,可自定义的框架,那么选择它就不会有错。

概括:

2.Dapp.Tools

 

 

 

 

图片来源:Dapp.Tools

MakerDAO使用了Dapp.Tools,这让我感到惊讶。它是用Haskell编写的,但支持许多我们喜欢和喜欢的插件,例如OpenZeppelin。

它看起来像一个极简主义的框架,功能强大到足以执行您想要的操作。能够令您在使用此平台部署合同方面获得帮助,并且对它的简洁性产生好感。

如果您正在寻找一个对命令行友好的极简主义框架,那么我建议您可以试试这个。

概括:

3.Epirus

 

 

 

图像来源:Epirus

即使我说的是“松露状”,Epirus的风格也不是完全像松露状,而是商业意义上的。

他们有一个开源项目,但有一个付费的升级工具,供那些希望与之合作的人使用。他们使用Java的Web3实施,而且看起来仍处于项目开发的早期阶段。我很高兴看到他们对Android的支持,因此我很想知道这个项目的进展情况。

由于Java智能合约平台不多,因此我们可以吸引更多的Java工程师进入该行业。

我无法部署到Kovan,因为它不受支持,但看起来他们已经支持Rinkeby。无论如何,我很高兴看到项目进展顺利。

概括:

SBT-以太坊

 

 

 

 

我玩过的更有趣的项目之一,SBT专注于几乎完全从命令行或与Scala进行的智能合约交互。我的Scala经验几乎为零,因此我没有很好的观点来评估该平台。如果您了解Scala并寻求加入以太坊,这似乎可能真的很酷。

概括

一些过时的框架

或者您会不时看到这些弹出窗口。

我敢肯定,当它们问世时,它们是很棒的!

但是现在,它们不再受支持或处于非活动状态。

1.OpenZeppelin SDK

 

 

 

图片来源:OpenZeppelin SDK

现在,我终于明白了为什么该项目停止为此工作了。

作为一个团队,他们希望专注于可升级智能合约这一棘手的问题。

我能够部署我的Chainlinked智能合约,并比几乎任何其他框架更快地读取ETH的价格。它还具有一些非常不错的CLI选项,就像Epirus和Hardhat一样。它还内置了可升级的选件,这在很少有平台可以使用的世界中是巨大的。

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

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

概括

2.Etherlime

 

 

 

图像来源:Etherlime

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

概括:

3.Parasol

 

 

 

 

图片来源:Parasol

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

概括:

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

来源:区块链研究实验室内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯