区块链开发15种最佳工具

在过去的几年里,区块链发展已经发生了巨大的变化。最初作为支持分散支付网络的手段已经演变成一个分散的超级计算机,来自世界各地的开发人员可以来到这里创建自己的软件应用程序。这是一个真正令人兴奋的空间,有很多开发空间。但是,作为这个领域新进入者的开发者,您可能会感到有些失落。因此,我们专门为您创建了本指南。

​15种区块链开发最佳工具

在使用工具之前

在开始使用这些工具之前,应该了解一些基础知识。

用最简单的术语来说,区块链是一组带时间戳的数据不可变记录系列,由不属于任何单个实体的计算机集群管理。这些数据块(即块)中的每一个都使用密码学原理(即链)来保护并彼此绑定。

比特币通过使用分散链为分散支付系统提供支持,将区块链带到了最前沿,但从那时起,区块链技术得到了更广泛的采用。像以太坊这样的项目告诉我们,人们可以使用公共区块链来创建分散的应用程序。

同样,组织可能更喜欢Linux基金会创建的Hyperledger等私有区块链服务。如果您作为开发人员处于旅程的开始阶段,那么了解比特币,以太坊和Hyperledger的工作方式至关重要。那是你应该开始的地方。

最好的区块链开发工具

1 Geth

Geth是Go编程语言中的以太坊节点的实现。简而言之,Geth是一个程序,它充当以太坊区块链的节点。通过使用Geth。用户可以执行以下操作:

  • 矿醚标记
  • 在地址之间转移令牌
  • 创建智能合约并在以太坊虚拟机上执行
  • 探索街区历史

你可以去这里下载Geth。Geth受Linux,Mac和Windows支持。支持两种类型的安装,二进制和脚本。

启动Geth后,您可以选择连接到:

  • 现有的实时区块链
  • 根据提供的设置创建自己的区块链

但是,如果您未设置任何默认值,Geth将自动连接到以太坊主网。Geth还可用作输入某些命令和执行特定功能的控制台。记住一件事,在运行Geth时它会自动下载整个以太坊区块链,这可能需要很长时间(甚至几天)。使用外部硬盘驱动器来存储数据可能是有意义的。

2雾

在您开始使用以太坊之前,您必须拥有一个可以存储以太币令牌并执行智能合约的地方。Mist,是负责以太坊自己的人们开发的官方以太坊钱包。虽然使用Mist很有意义,特别是对于智能合约部署,你必须记住一件事。它是一个完整的节点钱包,这意味着你必须下载整个以太网区块链,大于1TB。

Mist适用于Windows(32位和64位),Mac和Linux(32位和64位)。

完成安装Mist后,系统会告诉您等待一段时间,因为软件会与您同步更新以太坊区块链。一旦节点完全同步,您将可以选择操作测试区块链或主区块链。如果您只是想测试以太坊,那么我们建议您使用测试区块链。

大约在这个时候,您将被要求选择密码。你必须记住几件事情:

  • 首先,一旦设置,您将永远无法再次更改密码。所以你必须设置一个非常强大的密码,你必须永远不要忘记密码。
  • 其次,每次要发送以太网时,都需要输入密码作为最终确认。

3 Solc

就以太坊的发展而言,稳定性几乎是你的面包和黄油。Solidity是一种有目的的简洁,松散类型的语言,其语法与ECMAScript(Javascript)非常相似,用于在以太坊区块链上创建智能合约。但是,需要一些东西将solidity脚本转换为以太坊虚拟机可以轻松读取的格式。这就是“solc”或solidity编译器的用武之地。

Solidity编译器有两个国王:

  • solc,已用C ++编写
  • solc-js,它使用Emscripten从solc C ++源代码交叉编译到JavaScript。

尽管从技术上讲,它们几乎是用相同的源代码构建的,但在实践中,它们往往会产生略微不同的结果。它们还具有不同的命令行界面。话虽如此,solc-js比solc慢一点。

大量的以太坊节点本身包含一个solc实现,但它也被打包为一个独立的模块,用于离线编译。因此,您可以决定使用web3.eth.compile.solidity()来使用您的节点编译Solidity文件,或者您可以开始使用不依赖于任何外部节点的solc.compile()。

由JavaScrip构建的可靠性编译器允许一些有趣的应用程序。其中一个应用程序恰好是Remix,这是我们的下一个工具。

4:混音

Remix是一个很好的编译器,我们用于小型合同。如果你想要学习坚固性,那么这是最好的方法。只需访问他们的网站,您就会看到以下屏幕:

Remix默认屏幕。您会在左侧看到一个允许您编写代码的屏幕。右侧允许您在区块链上部署代码,并允许您与已编写的功能进行交互。

用Javascript编写,Remix支持浏览器或本地使用。Remix还支持智能合约的测试,调试和部署等等。

Remix的代码分析器确保开发人员编写最佳代码。Remix通过Metamask连接到以太坊区块链(稍后会详细介绍)。

5:区块链Testnet

在为以太坊虚拟机(EVM)编写程序时,您需要考虑某些事项:

  • 首先,您需要支付发射和燃气使用费用。以太坊的天然气使用成本是一个巨大的问题。所以你真的想为一个你还没有测试过的项目支付这么多钱吗?
  • 其次,未经测试的程序可能在其代码中存在一些可能对以太坊区块链造成破坏的错误。另外请记住,以太坊区块链是不可变的,所以无论发生什么,它都是永久性的,无法撤消。

这就是为什么您可能希望在实际使用mainnet部署它们之前测试testnet中的dapp的原因。Testnets是以太网区块链的副本,几乎与Mainnet完全相同,只是因为它们的Ether是毫无价值的(当然,还有部署在这些测试网上的软件)。

有三种测试网:

  • 公共测试
  • 私人测试
  • GanacheCLI(或Testrpc)

公共测试

公共测试网免费提供给连接到互联网的每个人。任何人都可以使用MyEtherWallet或MetaMask等钱包界面连接到他们。可用的公共测试网络是Ropsten,Rinkeby和Kovan。

私人测试

您还可以选择获取自己的个人区块链,即私人测试网络,而不是公共区块链。那么,你究竟是如何构建这个个人区块链的呢?

一个由你生成的genesis文件将使用一个工具,就像Geth一样,它将为你构建一个新的链。然后通过Mist,MetaMask,MyEtherWallet等工具对该链进行检查和交互。

那么,谁会使用私有测试网?

正在处理敏感项目并需要模拟挖掘和事务确认而不暴露于攻击和黑客风险的区块链团队可以使用这些测试网络。

这些私有测试网可以自由创建。唯一需要的费用如下:

  • CPU功耗的一小部分
  • 开发人员计算机中的磁盘空间

此外,一旦私有testnet增长足够,相关开发人员就可以在线公开网络。

6 GanacheCLI

GanacheCLI(以前的Testrpc)是一个NodeJS软件包,是一个快速且可定制的区块链仿真器。它在一台计算机上模拟以太坊网络,并允许您调用区块链,而无需运行真正以太坊节点的任何麻烦。

你可以在GanacheCLI中做的一些事情是:

  • 即时挖掘交易
  • 0交易费
  • testnet内的所有帐户都可以使用固定数量的Ether进行回收,重置和实例化
  • 天然气价格和采矿速度可以根据需要进行更改和修改
  • 一个非常易于使用的GUI,可以让您全面了解您的测试链事件。

7:Coinbase的API

Coinbase是一家位于旧金山的“法定加密”交易所。在过去的3到4年中,它已成为世界上使用最广泛的交易所之一。Coinbase的API允许开发人员构建新的比特币应用程序并将比特币集成到现有的应用程序中。

该系统支持各种功能,从收集只读数据到构建非常新的东西。此外,Coinbase的API提供了一个系统,用于在全球范围内创建比特币钱包和地址,购买,销售,发送和接收比特币,并且它们提供了几个对开发人员非常有用的客户端库和移动SDK。

除此之外,Coinbase还提供了一个简单而强大的REST API,可将比特币,比特币现金,litecoin和以太币支付整合到您的业务或应用程序中。

8:EtherScripter

针对新手开发人员的以太网脚本编写是一项极具挑战性的任务。EtherScripter提供了一个非常有趣的界面,可用于开始编写基本合同。界面是一个简单的拖放,你必须连接拼图块,使你的合同变得生动。在特定时刻,它只能与Serpent编程语言一起使用。

以下是使用EtherScripter的“硬币翻转”智能合约的实现:

您可以通过非常酷炫和直观的方式看到拼图块如何相互贴合。

9:BaaS

区块链即服务(BaaS)是一个最近流传的术语。BaaS基本上是一种允许其用户使用的产品

“利用基于云的解决方案在区块链上构建,托管和使用自己的区块链应用程序,智能合约和功能,同时基于云的服务提供商管理所有必要的任务和活动,以保持基础架构的灵活性和可操作性。”

为了简单起见,使用区块链而不处理保持区块链可操作所带来的任何麻烦。这几乎模拟了软件即服务或SaaS的工作方式。

这项服务对于长期以来一直渴望采用区块链技术但受到技术复杂性和操作开销限制的个人或公司非常有用。

许多初创公司和大公司已经开始提供BaaS服务。Microsoft已创建Azure以提供这些服务。对于开发人员而言,它是一个有用的工具,可以在安全且更便宜的环境中构建dapps,支持多个链,包括MultiChain,Eris,Storj和Augur。

用户向BaaS服务提供商支付设置和维护区块链基础设施所需的费用。提供者基本上处理客户端及其业务的复杂后端。

10:Metamask

Metamask为其用户提供的软件不仅允许他们为Ether和其他ERC-20资产提供服务,还允许他们与以太网Dapps进行交互。最好的部分,他们可以在他们的浏览器中做到这一点。Metamask可以轻松安装为Google Chrome扩展程序或Firefox附加组件。设置相对容易。

安装应用程序后,您的浏览器内置了一个以太坊钱包,它也可以存储所有ERC-20令牌。有趣的是,对于开发人员来说,Metamask可以与各种以太坊测试网络进行交互,因此它可以是一个非常有用的工具。

11:Ethers.js

Ethers.js是一个为ethers.io制作并供其使用的库。它旨在使编写基于客户端JavaScript的钱包更容易,并始终将私钥保存在所有者的计算机上。

Ethers.js是web3的替代品,它恰好是以太坊应用程序最常用的库。以下是ether.js最有趣的一些属性:

  • 在ether.js中,您可以使用ENS名称而不是合同地址。这对开发人员非常有帮助。例如。如果他们需要调用ENS解析器,他们可以简单地使用“resolver.eth”而不是输入实际的合同地址(“0x5FfC014343cd971B7eb70732021E26C35B744cc4”)
  • 压缩后,Ethers.js仅占用77kb的空间。
  • 有很多关于ethers.js 的文档,所以感兴趣的开发人员可以在他们想要的时候查看它们。
  • 它已被广泛用于案例中。Ethers.js使用Travis-ci,这意味着每次将新代码添加到repo时,所有测试都会自动并公开运行。
  • Ethers.js完全由麻省理工学院授权
  • Ethers.js以一种为开发人员提供更大灵活性的方式处理密钥管理和以太坊区块链交互。他们将节点分为两个不同的角色:钱包,保存密钥和签名交易,以及提供者,作为以太网网络的匿名连接,检查状态和发送交易。这样做可以帮助开发人员分别管理这两个角色。

12:Tierion

通过提供开发人员工具和API将数据添加到分布式分类帐,Tierion可以创建比特币区块链上任何数据或流程的可验证数据库。Tierior还开发了一个名为ChainPoint的开放标准,用于记录数据和生成收据,其中包含验证数据所需的所有信息,而不依赖于任何中介。

根据他们,

“  我们看到未来区块链用于验证从医疗记录到在线购买的所有内容。我们正在构建能够降低成本和信任复杂性的技术和产品。“

Tierion技术基础设施的核心是Chainpoint Proof协议。只要用户在Tierion的数据存储中添加内容,协议就会发挥作用。Chainpoint和Tierion的API将数据锚定到区块链,以生成时间戳证明。

Chainpoint还具有每秒创建数百万个样张的能力,因为它具有高度可扩展的架构。它还通过从网络时间协议(NTP)服务器和国家标准与技术研究院(NIST)收集数据并将锚链接到比特币和以太坊区块链,从而增加了其证明的准确性。

13:开始

Embark是以太坊dapps的开发人员框架,因此这意味着它允许您轻松开发和部署dapps,或使用分散式技术的无服务器html5应用程序。Embark使您能够创建新的智能合约并使其在JS代码中可用。此外,它会监视更改,如果您更新合同,Embark将自动修改合同及其相关的dapp。

如果有多个合同,Embark会处理智能合约迁移,根据需要自动重新部署合同并观察更改。它们支持“使用Javascript进行测试驱动的合同开发,并允许开发人员轻松管理不同区块链上的合同,例如testnet,私有网络和实时网络。”

为了与Embark平台进行交互,您可以使用传统的Web开发语言,如Angular,React,Meteor等。您还可以使用任何您想要的构建管道,包括grunt或gulp。

14:松露

Truffle就像Embark一样,是以太坊的一个伟大框架,为以太坊开发提供开发环境和资产管道。它还包括对链接复杂以太坊应用程序的库的支持,并提供自定义部署以使编写新合同变得更加简单。以下是您将享受Truffle的一些功能(取自Truffle GitHub文档):

  • 内置智能合约编译,链接,部署和二进制管理。
  • 使用Mocha和Chai进行自动合同测试。
  • 可配置的构建管道,支持自定义构建过程。
  • 可编写脚本的部署和迁移框架。
  • 用于部署到许多公共和专用网络的网络管理。
  • 交互式控制台,用于直接合同通
  • 在开发过程中即时重建资产。
  • 在Truffle环境中执行脚本的外部脚本运行器。

15:MyEtherWallet

毫无疑问,存储任何加密货币最安全的方法是使用纸质钱包。在您作为开发人员的旅程中,有时候您可能希望以安全可靠的方式节省大部分加密收入。您可以使用两种存储:

  • 热存储:使您更容易花费加密,因为它与互联网相关但容易受到黑客攻击。
  • 冷存储:您的加密是脱机保存的。因此,虽然花费可能不那么容易,但黑客可以安全地使用它。

纸质钱包是一种冷藏形式,基本上是保存加密的最安全的方式。

它包括在一张纸上打印您的公钥和私钥(因此称为纸钱包),然后您将其存储并保存在安全的地方。密钥以QR码的形式打印,您可以在将来扫描所有交易。它如此安全的原因在于它为用户提供了完全控制。您不必担心硬件的幸福,也不必担心黑客或任何恶意软件。你只需要照顾一张纸。

如果您想将您的加密安全保存在纸质钱包中,请按照我们的指南进行操作。

区块链开发结论

所以你有它。这些工具可以帮助您在开发人员的过程中获得巨大的成功。你觉得我们错过了什么吗?如果是,那么请在下面的评论中并告诉我们。

猜你喜欢

转载自blog.csdn.net/qq_42726517/article/details/85111520
今日推荐