顶级以太坊开发工具来创建以太坊Dapps

以太坊通过在其系统上实施智能合约支持,为区块链打开了无数种可能性。 反过来,这通过向以太坊特定语言(例如Solidity, SerpentLLL)开发智能合约,从而使以太坊向大多数开发人员开放,以创建可以在区块链上运行的任何类型的应用程序。 除了语言之外, 多年来开发了几种以太坊开发工具 ,使我们作为开发人员的生活不再那么繁琐。

关于以太坊和智能合约的发展,可以找到很多文章,但是很少有文章讨论使这些东西变得如此无缝的工具。 因此,我决定写一篇文章,深入了解各种以太坊开发工具。

以太坊开发工具

为了方便起见,我将这些工具分为四个主要类别:

  1. 集成开发环境
    1.1混音
    1.2 EthFiddle
  2. 具有RPC接口的本地测试节点
    2.1 Ganache / TestRPC
    2.2 Pythereum
  3. 基于命令行的开发工具
    3.1松露
    3.2登船
    3.3 Dapp /起斑
  4. 代码分析器
    4.1 ium
    4.2开塞佩林
  5. 浏览器
    5.1雾
    5.2 MetaMask

因此,让我们通过讨论IDE从我们的以太坊开发工具列表开始。

集成开发环境

开发人员在构建应用程序过程中的首要任务是编写核心逻辑,通常在集成开发环境中键入该核心逻辑。 IDE的总体目标和主要好处是提高了开发人员的生产力。 IDE通过减少设置时间,提高开发任务的速度,使开发人员保持最新状态并标准化开发流程来提高生产率。 当谈到稳定性时,想到的第一个IDE是Remix

混音

Remix以前称为Browser-Solidity,它是基于Web的IDE,专门针对坚固性和以太坊开发环境。

优点:

  • 使用最新的编译器版本编译代码
  • 在自定义环境(如JavaScript虚拟机或Injected Web3.js提供程序)上部署和运行智能合约。
  • 允许您从GitHub和Swarm导入代码

缺点:

  • 初学者很难理解

EthFiddle

除了Remix之外,还有另一个基于浏览器的IDE很棒,但是可以用于其他目的。 这就是所谓的Ethfiddle,非常适合演示代码。 尽管remix提供了在不同的网络和环境上测试我们的代码的灵活性,但是ethfiddle的全部优点在于易于嵌入,可在演示文稿上共享代码。

优点:

  • 易于嵌入和共享功能

缺点:

  • 慢且不如Remix丰富

为了在本地编译您的Solidity代码,可以使用节点包管理器轻松安装SOLC编译器。 除此之外,诸如Sublime TextAtom之类的开源文本编辑器还对固体语法突出显示功能提供了很好的支持。

使用ganache,您可以–

快速查看所有帐户的状态,包括其地址,私钥,交易和余额。

查看Ganache内部区块链的日志输出,包括响应和其他重要的调试信息。

只需单击一次即可配置高级挖掘,并设置块时间以最适合您的开发需求。

检查所有块和事务,以了解幕后情况。

腐霉菌

接下来,在列表中,我们有Pythereum ,它是用python编写的本地测试节点工具。 它比ganache轻巧得多,但功能并不丰富。

使用pythereum,您可以

使用创世块创建一个新的测试区块链

通过传递创始状态来创建新的测试状态。

使用给定的私钥将具有给定值和数据的交易发送到给定地址。

基于命令行的开发工具

有三种主要的基于命令行的以太坊开发工具,分别是

  1. 松露
  2. 登船
  3. 斑纹

让我们逐一简要地看一下。

松露

因此,在我们列表中的第一名是Truffle ,它也是列出的三种工具中最受欢迎的一种。 Truffle是面向以太坊的开发环境,测试框架和资产管道,旨在使作为以太坊开发人员的生活更加轻松。 “ ConsenSYS”公司负责Truffle的开发和维护。

使用松露,您可以获得:

内置的智能合约编译,链接,部署和二进制管理。

与Mocha和Chai的自动化合同测试。

可配置的构建管道,支持自定义构建过程。

可编写脚本的部署和迁移框架。

用于部署到许多公共和专用网络的网络管理。

用于直接合同通信的交互式控制台。

在开发过程中即时重建资产。

外部脚本运行程序,在Truffle环境中执行脚本。

登船

在我们的以太坊开发工具列表中的下一个是Embark。 Embark是一个框架,可让您使用无服务器html5应用程序轻松开发和部署分散应用程序(DApp)。 Embark当前与EVM区块链(以太坊),分散式存储(IPFS)和分散式通信平台(Whisper和Orbit)集成。 支持使用Swarm进行部署。

使用Embark,您可以:

自动部署合同,并使其在您的JS代码中可用。 Embark监视更改,如果您更新合同,则Embark将自动重新部署合同(如果需要)和dapp

使用JavaScript与合同进行测试驱动的开发

跟踪已部署的合同; 仅在真正需要时部署

通过EmbarkJS轻松在DApp上存储和检索数据。 包括上传和检索文件。

将完整的应用程序部署到IPFS或Swarm。

轻松管理相互依赖合同的复杂系统。

达普

在我们基于命令行的以太坊开发工具列表的最后,我们有Dapple 。 目前,不赞成使用Dapple,而是使用由同一组开发人员开发的名为Dapp的新工具。 Dapp是用于智能合约开发的简单命令行工具。 它支持以下常见用例:

  • 包装管理
  • 源代码构建
  • 单元测试
  • 简单的合同部署

代码分析器

为分散的网络编写干净,安全的代码绝非易事。 从存储和安全性的角度来看,有很多需要担心的问题,尤其是当您的大多数代码处理其他人的钱时。 该州的任何错误回滚都可能导致重大损失。 为了避免这种情况,已经开发了特殊的代码分析器来帮助开发人员编写干净而安全的代码。

Solium和Open-Zeppelin是谈论以太坊开发工具时想到的两个这样的工具

ium

Solium是一个坚固的代码库,可让您编写健壮而时尚的智能合约。 Solium就像解释器一样工作,它不断检查代码中的样式和安全性问题

使用Solium,您可以:

  • 分析您的Solidity代码中的样式和安全性问题并修复它们。
  • 跨组织标准化智能合约实践,与构建系统集成并放心部署

开塞佩林

Open-Zeppelin是用于编写安全智能合约的坚实框架。 使用开放式齐柏林飞艇,开发人员可以使用通用的合同安全模式以统一的语言来构建分布式应用程序,协议和组织。 开放式齐柏林飞艇的最大优点是它与Truffle无缝集成,使您的生活更加轻松。

浏览器

以太坊区块链需要一个专门满足其需求的浏览器,以便可以查看有关状态,收据和交易的信息。 让我们讨论开发人员用来分析其应用程序在区块链上的交互的最受欢迎的浏览器

薄雾

Mist浏览器(以前称为Ethereum Dapp浏览器)是Ethereum的最终用户界面。 它是浏览和使用Dapps的首选工具,是专门为非技术用户设计的。

使用薄雾,您可以:

发送交易

接收交易

储存醚

创建多签名钱包

部署智能合约

查看区块链的状态

MetaMask

虽然metamask并不是真正的“浏览器”,但它将Google Chrome变成了以太坊浏览器,从而使它能够从区块链中获取数据,并允许用户安全地发送或接收已签名的交易。 该扩展将以太坊web3 API注入每个网站的javascript上下文中,以便dapp可以直接从区块链读取。 Metamask可以作为浏览器扩展轻松安装在chromeOperafirefox上

如果您想查看有关市场上最流行的技术(如人工智能,DevOps和道德黑客)的更多文章,则可以访问Edureka的官方网站。

请注意本系列中的其他文章,这些文章将解释区块链的其他各个方面。

1.区块链教程

2.以太坊教程

3.以太坊专用网络

4.什么是智能合约?

5. Solidity教程

6.松露以太坊教程

7. Hyperledger Fabric

8. Hyperledge与以太坊