首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dapp后端的哪些元素通常存储在一个分散的位置?

Dapp后端的哪些元素通常存储在一个分散的位置?
EN

Ethereum用户
提问于 2017-02-05 22:59:05
回答 2查看 4.6K关注 0票数 7

我不清楚Dapp后端代码的哪些元素实际上是分散的。

下面的链接声明Dapp的后端完全存储在块链上。然而,如果我要创建一个Dapp web应用程序,在web开发意义上通常被称为“后端”的内容中有多少实际上位于区块链上?

例如,如果我要使用Python开发web应用程序,那么如果我正在开发Dapp,或者仅仅是业务逻辑的关键元素,Python代码的整个功能会被智能契约所取代吗?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2017-02-06 00:58:49

下面的图片帮助我理解分散应用程序是如何结合在一起的。我通常是一个Java开发人员,所以我更熟悉为一些J2EE服务器编写中间件并像这样托管应用程序。我把这个解释保留得有点高一些。

我现在选择的方法是:

  • 将Java (后端代码)替换为以稳健性编写的Ethereum智能契约。
  • 我的应用程序通常会与数据库耦合,以便进行持久存储。为了在我的新DApp中反映这一点,我选择使用IPFS
  • IPFS存储静态内容,静态内容托管在节点网络中。例如图像,前端代码,数据。
  • 一旦我们有了静态内容,即HTML、JS、CSS,我们就可以与本地的static节点进行交互。即区块链(更具体地说,通过其合同地址和合同‘abi’部署到网络的智能契约。)
  • 在图像中,我们可以看到有一个箭头指向从以太指向IPFS。这是简单的解释。我们可以存储smart契约中发布到IPFS的文件的散列。有了这个引用,我们可以随时使用IPFS节点来检索它。
  • IPFS NODE ----> REQUESTS与内容#
  • 来自网络的IPFS NODE <---- RECEIVES相应内容
  • 新的闪亮的内容文件现在包含到DApp中,供用户使用!

我有一个标准的web应用程序,允许用户上传他们的个人资料。Java代码的范围是通过端点读取数据并存储到数据库中。应用服务器还会将静态内容服务器发送到用户访问某个URL。这一简单应用程序的分散版本如下:

  • 以哈希的形式接受用户数据(取代Java后端)。更改应用程序“全局状态”
  • IPFS持有网页,可根据要求提供服务。
  • 持有更多有关存储在智能契约中的散列的数据的IPFS。

应用程序中的许多逻辑已经迁移到前端代码。注意,这是一个虚构的应用程序,仅用作示例。

这里有一个很好的示例,可以通过浏览器中的JS控制台将IPFS与可靠契约连接起来并进行查询。

谢谢,我希望这能帮上忙!

票数 12
EN

Ethereum用户

发布于 2017-02-05 23:20:03

如果我们考虑DAPP= frontend+backend

然后前端(而不是块链中)将是标准的web前端,例如javascript(web3js)+HTML,所使用的技术需要处理RPC,后者与ethereum客户端交互。

Backend = smart contracts (存储在块链中),例如,您可以定义业务逻辑(事务等),并记住智能契约有它的存储(位于块链中),您可以在其中存储应用程序数据。

除了聪明的契约,一切都在区块链之外。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/11928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档