开发去中心化应用的最佳框架
框架可以帮助你开发更好更快的应用程序。随着区块链技术的兴起,更多的去中心化应用(DApps)正在被开发。专门为简化DApps开发而创建的框架正变得越来越普遍。
DApps框架和其他框架一样,是写在软件上的代码片断,使得构建区块链应用变得容易。
本指南将介绍用于开发DApps的最佳框架。你还将了解什么是DApps,为什么它们是未来技术的关键,以及不同种类的DApps。
去中心化应用程序(DApps)的概述
谷歌、Twitter、Facebook和PayPal等应用在公司创建和运营的系统上运行。这些应用程序在一个集中的服务器上运行。因此,这些组织对应用程序及其功能有完全的控制。
DApps的工作方式非常相似,只是这个应用向区块链报告,而不是向谷歌或贝宝服务器报告。你通过应用程序与区块链互动。
DApps是在点对点和区块链网络上运行的系统,而不是中央服务器。DApps由区块链驱动,这解释了为什么它们与其他应用程序不同,也许更优越。
以下特点使DApps在当前和未来的世界中必不可少。
- 存储:DApps的操作被存储在区块链上。区块链不依赖中间人。因此,它增强了生产力、信任和透明度。
- DApps是开源的:社区中的任何开发者都可以利用、改进和建立在它们之上。完整的代码库通常是免费提供的。
- 自主性:DApps用户可以自由经营他们的事务。目的是让任何人都能发布或使用这些DApps。DApps带来了去中心化,因为没有中央机构控制用户。
- DApps给予激励:区块链网络参与者因其贡献而被授予加密代币。加密代币是区块链中的价值单位,用于投资、存储价值和进行购买。
- 安全性:使用区块链来运行DApps会增加一个额外的保护层。这是因为以太坊区块链对交易进行分配和加密。因此,不存在黑客可能闯入并获取权限的中心位置。
为什么DApps是未来技术的关键
DApp是一项迷人的技术,尚未被充分开发。DApps有很大的潜力,可以改变我们的工作方式,沟通方式,做交易,以及更多。由于DApps的好处和功能的基调,它将会帮助世界。
DApps在未来将继续巨大的增长。它们将越来越多地参与到我们的日常生活中,降低了成本,并从我们的许多活动中移除中介。
我们预计,随着区块链技术的采用将使各行业受益,DApps将不断增加。这些行业包括金融、医疗区块链、教育、游戏等等。
DApps的令人兴奋的好处包括。
- 抗审查:用户可以控制他们的活动,因为DApps更具有主权。
- 安全性:DApps在密码学上是安全的,因为攻击者没有安全漏洞和未经授权的访问空间。这是因为DApps是由区块链驱动的。
- 没有停机时间:DApps依赖于一个点对点的网络。因此,即使个别电脑或网络部分出现故障,它们也能继续运行。
- 数据完整性:区块链实现了安全的数据存储,因为它是不可改变的。恶意的一方不能伪造交易或其他已经公开的数据。
DApps的类型
区块链技术中的各种类型的DApps处理不同的角色。我们将了解DEFI和DAO DApps。
DEFI金融DApps
去中心化金融(DEFI)是一种金融义务,使用区块链让投资者用他们的钱进行操作。许多去中心化的应用程序为人们提供了一种投资DEFI的方式。
比特币和以太坊是我们的一些去中心化基金的形式。比特币是一种去中心化的数字货币,不受中央当局控制。它可以从全球任何地方发送给任何人,不需要金融中介。
今天,我们所有的金融机构和服务都是完全集中的。中心化的金融系统(CIFI)有其风险。它很容易出现管理不善、欺诈和腐败。
如果像比特币去中心化的货币一样,我们可以将整个金融系统去中心化呢?嗯,这就是DeFi的意义所在。DeFi指的是不受中央机构管辖的金融服务。
去中心化的货币可以被编程来完成自动任务。我们可以创建交易所、贷款服务、保险业务和其他非中心化的组织。DeFi的目标是摆脱中介机构,同时提供透明度和去中心化。
去中心化的自治组织(DAO)
一个去中心化的自治组织(DAO)是一个由写在以太坊上的智能合约集合的代码运行的组织。
一个DAO就像谷歌或Facebook,不同的是它是自治的。它的运作是完全透明的,它是独立的,没有人为的干预。
如果你给它们编程,智能合约可以做任何事情。DAO的一个例子是一个在区块链上采用的智能合约集群上运作的公司。一个智能合约将支付其员工,雇佣,和进行支付。它使整个组织可以自我维持或自主。
DApps框架
让我们来看看构建DApps的常见DApps框架。
Truffle
Truffle是一个流行的框架,用于构建基于Ethereum的DApps。它是一个开发平台,使区块链开发人员能够轻松地创建智能合约,编译,设计DApps的前端设计,以及测试。
以下是使Truffle成为创建基于Ethereum的DApps的有效工具的一些特点。
- 有内置的支持来编译、部署和创建智能合约。
- 有自动化的合约测试。
- Truffle控制台可直接与智能合约沟通。
- 有无缝迁移。
- Truffle有助于部署到公共和私人网络的网络管理。
Truffle安装
为了使开发环境启动和运行。确保你的PC上安装了Node.js。然后在你的终端输入以下命令。
$ npm install -g truffle
然后,在你的项目中,运行此命令来初始化Truffle。
$ truffle init
之后,你可以用truffle compile,truffle migrate, 和truffle test 来编译你的合同。将这些合同部署到网络上并运行其测试。
布朗尼
Brownie是一个基于Python的框架,用于构建和测试针对Ethereum虚拟机(EVM)应用程序的智能合约。它是基于python的,这意味着它使用python库,如web3.py和pytest。它还使用python来编写脚本。
Brownie是一个强大且易于使用的框架,可以处理部署、调试和测试DApps。
下面是Brownie的一些特点。
- 有Solidity和Vyper支持。Solidity是一种编程语言,用于在区块链上编写智能合约,使交易自动化。Vyper是一种基于python的实验性编程语言,旨在运行在EVM上。你可以用它来编写智能合约。
- 为了方便项目参与,有一个内置的控制台。
- 它使用Pytest执行合约测试。Pytest是一个框架,用于使用python为应用程序和库编写测试代码。
- EthPM软件包支持。EthPM是一个去中心化的包管理器,旨在对以太坊生态系统中的智能合约进行打包和分发。
- 它支持基于属性和基于假设的测试。Brownie利用假说框架来实现基于属性的测试。
布朗尼的安装
我们将使用Python 3.6或更高版本来开始安装Brownie。Brownie的安装可以用pipx 或pip ,然而,pipx 是首选。
要安装pipx ,运行这个命令。
python3 -m pip install --user pipx
python3 -m pipx ensurepath
然后用pipx 来安装该框架。
pipx install eth-brownie
硬帽
Hardhat是一个用于创建和测试智能合约的框架。通过Hardhat,你可以编译、部署、测试和调试你的去中心化的应用程序。
以下是一些使Hardhat成为开发DApps的奇妙框架的功能。
- 运行solidity:它可以快速部署、运行测试,并调试智能合约solidity代码。
- 调试:它提供了一个很好的调试体验。
- 灵活性:它非常灵活。你可以改变任何你喜欢的东西。
- 它是完全可扩展的:Hardhat带有一个插件和工具的生态系统,你可以安装它来扩展其功能。
Hardhat的安装
确保你的电脑上安装了node.js V 12或更高版本,以开始安装。运行这个命令来安装Hardhat。
npm install -D hardhat
一旦安装完毕,我们将创建我们的Hardhat项目。我们将使用npx ,它与Node.js一起安装。它允许你有效地执行为你的项目在本地安装的依赖项。运行这个命令来执行Hardhat。
$ npx hardhat

Embark
Embark框架使区块链开发者能够有效地构建、测试和部署无服务器DApps。它使很多构建这种应用的困难变得超级简单。
Embark框架的一些特点包括。
- 它能实现智能合约的自动部署。
- Embark集成了IPFS去中心化存储,并帮助你将你的DApp分发到网络上。
- 它实现了点对点的通信。
Embark的安装
要开始安装过程,确保这些工具已经安装在你的电脑上。
- [Node.js]。
- [以太坊客户端]。
- [IPFS]。
注意,安装Ethereum Client和IPFS是可选的,但建议你安装它们。
运行这个命令来安装Embark。
npm -g install embark
结论
DApps在开发者中越来越受欢迎,因为它们比集中式应用程序提供更多的功能和好处。框架被用来构建DApps。
要为一个项目挑选理想的框架,你必须首先弄清楚你想建立什么以及你需要的工具。例如,如果你想要一个基于python的程序,Brownie是理想的选择。
总结一下,我们已经学会了。
- 什么是DApps。
- 为什么DApps是未来技术的关键。
- 各种类型的DApps。
- 构建DApps的顶级框架。
- 这些框架的特点。