金色观察|在以太坊上开发DApp需要哪些工具?
以太坊上的应用是以太坊整个生态市场热度的支撑,那如何在以太坊上开发应用呢?
从2017年和2018年开始,以太坊上的应用不断出现,如今形式多样,但在开发上可以进行一定的归类。
区块链的特性决定了与一般应用开发不同的是,区块链应用需要做链上的部署,所以在以太坊上的开发工具,主要是完成链上部署的工具。
一般的互联网应用开发会有前端和后端,前端只用户看到的部分,后端则是应用的管理部分。对于一个dapp,一定会有前端,并且也一定要有链端,即部署智能合约部分,后端对于应用前端的管理部分,有些应用会有,有些应用没有。其区分在于,前端显示的部分是否为了体验更好而做到一些中间优化。
目前看到的defi,简单的nft dapp基本只有链端和前端。本文中,通过对以太坊官方的查阅,将列举dapp开发里用于智能合约部署的框架工具和非框架型工具。
智能合约开发框架
Hardhat(JavaScript)
目前最好的框架之一,支持快速测试,同时提供了最全的教程和最简单的集成。对于JS框架的开发者很容易上手,使用Waffle和Ethers.js进行测试,还可以与OpenZeppelin的可升级智能合约插件直接集成。
Truffle(JavaScript)
Truffle是以太坊智能合约的默认开发框架,为其他工具树立了标准。很容易与工具Drizzle和Ganache集成。可以为升级的Truffle团队帐户付费,访问智能合约的持续集成,可视化部署和监视。还可以与OpenZeppelin的可升级智能合约插件直接集成。
Brownie(Python)
Brownie可以说是Python的Truffle,用Python编写的,是一个非常简单、干净的框架,消除了使用JavaScript带来的许多麻烦,可以使用这个框架轻松地来处理和部署智能合约。
Embark
Embark是一个整个DAPP框架,是一个全栈的区块链平台。例如能够将Chainlink合约部署到Kovan网络,带有一个UI,允许在GUI中与区块链和合约进行交互。是一个理想的全栈解决方案集成。
Waffle
Waffle被列为智能合约框架,可以与其他任何框架一起使用,是更原始,更简单,可定制的框架,是Hardhat的默认工具。
Dapp.tools
Dapp.Tools用Haskell编写的,支持多种插件,例如OpenZeppelin。虽设计极简但可用功能强大。是一个简约的对命令行友好的框架。
Epirus
Epirus是一个开源项目,像“Truffle”,也有一个付费的升级工具,是使用Java的Web3实现,有对Android的支持,行业内使用Java的智能合约平台很少。Epirus有利于吸引更多的Java工程师进入该行业。
非框架类开发工具
OpenZeppelin
OpenZeppelin是一个为智能合约工程师创建工具的平台。有一些默认设置,例如ERC20和ERC721工具,可以在其中导入其合约并在几秒钟内构建代币。
OpenZeppelin的另一个重要方面是其可升级合约功能。部署一个正在运行的项目意味着必须部署一个代理合约以便支持需要进行的任何更改。
Etherscan
Etherscan是最受欢迎的区块浏览器。当用户想要查看合约以及已部署内容时,需要ABI和合同地址。用户找到合约地址通常很容易,但是获得ABI却很困难。大多数框架都有某种验证插件,部署智能合约后,可以立即在Etherscan上进行验证。确保在你的应用程序中可以使用它。
create-eth-app
create-eth-app是一个平台,使用ReactJS为智能合约增加前端。它使用了很多新的React技巧,例如State Hooks,使构建真正强大的前端变得更加容易。
eth.build
Eth.build是一个聚焦于 Web3.0 的教育型沙盒,具备如下特性:无代码拖拽式编程、完全开源、可视化地直观地理解以太坊的工作方式
Remix
IDE是一款基于浏览器的IDE,它用于开发智能合约,也是目前常用的一款开发以太坊智能合约的IDE,对于新手很友好。由于是基于浏览器的IDE,不用安装,也不用去安装Solidity运行环境,打开即用。
[注:本文部分图片来自互联网!未经授权,不得转载!每天跟着我们读更多的书]
互推传媒文章转载自第三方或本站原创生产,如需转载,请联系版权方授权,如有内容如侵犯了你的权益,请联系我们进行删除!
如若转载,请注明出处:http://www.hfwlcm.com/info/285997.html