如何构建实时DApp(分布式应用)?

2018-12-06 17:40 栏目:经验之谈 来源: 查看()

正如您在使用计算机进行主流使用之前需要用户友好的软件一样,dApp(更确切地说,实时dApp)是在区块链上运行的软件,它将帮助区块链成为用户的主流产品。请记住,在Windows和图形用户界面出现之前存在计算机,但当时的计算机非常难以使用,并且使用它们的人数很少。区块链和分布式分类帐技术(DLT)仍然处于起步阶段,它们还不适合用户友好的软件来帮助公众与它们进行交互。但据报道,84%的公司都关注区块链,如果你是程序员,那么实时dApp可能是你职业生涯的方向。您可以将本文用作未来的加速课程。

如何构建实时DApp(分布式应用)?

实时dApp技术要求

对于那些已经了解dApp的人来说,这将是一篇评论文章。但是对于那些正在阅读本文但对这个主题知之甚少的人来说,这部分内容适合您。但在我们进一步深入研究之前,我们需要讨论dApp的基础知识。根据David Johnston及其同事的说法,dApp的资格如下::

•应用程序的数据和操作记录必须以加密方式存储在开放,分散的区块链中,以避免任何中心点故障。
·应用程序必须是完全开源的,必须自主运行,并且没有实体来控制其大多数令牌。
·应用程序必须使用加密货币(比特币或其自己的系统),这是访问应用程序所必需的,并且应该使用应用程序中的令牌奖励矿工的任何价值贡献。
·应用程序必须基于证明标准加密算法生成令牌,该算法是有助于应用程序的值节点。

如何构建实时DApp(分布式应用)?

正如我们之前解释的那样,dApp在区块链或其他DLT上运行,以使应用程序更易于访问。但是大多数现代的dapps远非实时运行。

为了使某些东西能够实时运行,顾名思义,它必须在尽可能短的时间内发送,接收和验证信息,最好不超过一秒。在讨论“实时”应用程序时,通常会发生关键字:服务器推送。这些服务器推送通常用于现实世界;跟踪手机上的Lyft/Uber位置,在iMessage上向朋友发送消息,以及在线玩多人游戏。

实时dApp将dApp与服务器推送技术结合为一个分散的流程。实时dApp不依赖于通过中央服务器的所有内容,而是依靠区块链或其他DLT来实时处理所有数据的智能合约。当你看到当前主区块链的平均交易速度(比特币 - 78分钟,以太坊 - 6分钟,波纹 - 4秒,比特币现金 - 60分钟,EOS - 1.5秒),你会发现这些到底是多远“真实的时间“能力。为了更好地理解这些数字,以下是实时技术及其服务器负载的一些常见用法(无论实际数据大小):

·WhatsApp - 637,000 Tx/s
·电报 - 174,000 Tx/s
·Fortnite -1.66亿Tx/s

如何构建实时DApp(分布式应用)?

毫无疑问,目前主流的分散技术无法承受实时技术所需的负荷,这就是为什么该行业被迫创造新技术和替代链。

DApp的结构和新链的需要

大多数Dapps都是使用特定的公式构建的,在这里我们将使用Brendan Lee的“我们在构建第一个以太坊Dapp时所学到的”媒体文章为例,其中他解释了他们使用的技术。堆。您可能知道或不知道这些技术是什么,因此我们将在此详细介绍:

Solidity是以太坊的主要编程语言,智能合约为以太坊链上的dApp创建“服务器”。
·IPFS是一种分散的存储选项,允许用户在一系列节点上分散其存储需求。
·Lee指出,Truffle和Ganache是​​测试框架。想象一下,这是一个等同于以太坊的Microsoft Visual Studio c ++测试。
·所有这些都是前端开发语言,根据程序员的需要而变化,很像JS,Ruby,C ++等。
·MetaMask是以太坊使用的钱包,因为它需要钱包来资助运行dApp的节点(以及存储数据的IPFS节点)。您还必须持有dApp用户接受的资金。

如何构建实时DApp(分布式应用)?

上面提到的当前结构是针对传统的dapps。虽然实时dapps是相似的,但一个关键的区别是:必须比以太坊更快地交互。

哪些区块链符合实时dApp的要求?

目前市场上有一些可以运行实时dApp任务的替代方案,每个dApp都以自己独特的方式提供服务。让我们来看看。

如何构建实时DApp(分布式应用)?

织机网络

织机依靠以太坊作为基础,同时在其上建立侧链。这意味着以太坊是主链,而Loom创建的侧链使用以太坊签入以借用其安全协议,同时允许大规模扩展和更大的Tx/s。 Loom是以太坊上的第2层区块链,运行他们所谓的“dappchain”,它使用另一组规则。

链速度:小于1秒的批准时间,Tx/s 1,000,000+

总之,: Loom网络与以太坊共存,当它需要解决争议时,它会检查以太坊,但在其他方面保持独立。这允许不到一秒的交易批准时间,非常低的价格,以及实时dApp在Loom侧链上运行的能力。

MetaHash

在dApp支持方面,MetaHash提供了以太坊的完整替代方案。这是通过关注四个组件完成的.:#TraceChain(基于自学习算法,将增加到更高带宽的节点添加到网络中),#MetaApps(dApps和实时dApp版本),#MetaGate(包括开源允许开发人员创建dApp和#TraceChain功能)和#MetaHashCoin(网络的数字支付货币用于共识协议)。

链速度:在3秒内通过,Tx/s 5 - 1,000,000+

总结:在考虑TraceChain的速度和交易批准时间时,MetaHash是一个可靠的选择;然而,它们完全独立于以太坊的事实可能在未来引起某些问题。

Zilliqa

Zilliqa是一个可扩展的,矿工支持的,可拆分的区块链选项,适用于智能合约和dApp。 Zilliqa的Tx/s基于分段频率,这实际上意味着随着网络和节点大小的增加,可能的事务量会增加。尽管Zilliqa比以太坊,比特币等要快得多,但除非碎片节点非常依赖,否则很难跟上高强度的实时dapp。它目前使用ERC20协议并在以太坊上运行,但他们的目标是将来拥有自己的区块链。

链速: 2分钟批准时间,最高可达~10000 Tx/s

简介: Zilliqa肯定会有它的用途,但在更大的实时dApp方案中,它会尝试跟上其较慢的块批准时间。

我们目前的定位

如果您是创始人并且正在为下一个dApp项目寻找基础,答案有点模糊。这取决于您的需求:您是否需要每秒处理数百万笔交易,您介意处理以太坊网络吗?如果是这样,请考虑使用Loom。但是,如果您想在没有过去问题的情况下扩展和采用完全重写的解决方案,那么MetaHash是您理想的选择。

如何构建实时DApp(分布式应用)?

最后,最重要的是回顾过去华而不实的营销活动,并深入研究技术细节,以确保项目建立在可靠的代码之上。正如我们之前所说,这项技术还很年轻,所以随着时间的推移,你可以期待区块链/DLT世界的更多变化。


微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发