备案 控制台
开发者社区 开发与运维 文章 正文

简析Web3 架构:前端、后端和数据

简介: 当谈论 Web 3.0 架构时,通常指的是 DApps,它代表去中心化应用程序。从发展历史来看,Web 2.0 架构由最熟悉的组件组成:

当谈论 Web 3.0 架构时,通常指的是 DApps,它代表去中心化应用程序。从发展历史来看,Web 2.0 架构由最熟悉的组件组成:

image.png

  • 前端:浏览器从主机服务器获取并呈现给用户的客户端应用程序。目前主流的框架包括 VueReactAngularEmber 或者其它流行框架。
  • 后端:服务器端应用程序,通常,一个应用程序会接管所有繁重的逻辑,它通过 API 与客户端交互,并使用一种流行的后端语言编写:JAVANodeJsC#GORubyPython
  • 数据库:可以是 NoSQLSQL 数据库服务器,用于存储所有客户端和服务器数据,目前最流行的数据库是 PostgresqlMongo

当然,还有更多的组件,这取决于可扩展性,但这不在本文的主题范围内。

Web 3.0 DApp中的后端

image.png

DApp 的主要区别在于去中心化,不需要集中式数据库或 Web 服务器,可以利用区块链在计算机网络之间分发应用程序。区块链将充当“状态机”,通过验证预定义规则来维护程序状态和稳定性。状态机在区块链网络的所有参与者之间传播,验证通过关于程序稳定性的共识进行存档。

后端逻辑通过智能合约实现,稍后将部署到共享状态机(区块链网络)。因此,后端驻留在点对点网络中,每个人都可以通过匹配某些标准(例如,拥有和锁定加密货币以便对更改进行投票或向程序提出建议)做出贡献。接下来看下DApp中前端是如何工作的。

Web 3.0 DApp中的前端

image.png

DApp 中前端架构主要专注于与智能合约(去中心化程序)的通信,它不同于常见的前端-后端通信。区块链网络中的每个节点都承载着程序的状态,如果要与智能合约进行通信,则必须与其中一个节点进行通信,它可能是:

  • 测试节点,如 Infura、 Alchemy 和 Quicknode 。
  • 或者通过自己运行状态机来设置自己的节点

启动区块链基础设施可能非常具有挑战性,尤其是想要扩展它以添加更多节点时。当用户提供时会很方便,缺点是它创建了一个集中的依赖组件。所有提供商都在实施 JSON-RPC 规范以与区块链网络进行通信。RPC 或远程过程调用,是一种请求-响应协议,它定义了允许客户端将消息发送到远程机器以执行功能并检索响应的规则。在这样的通信中,程序在客户端机器上运行,这意味着客户端不知道远程机器,所有通信都通过 HTTP 或 Web 套接字进行。

当提供商连接到区块链时,客户端能够获取有关区块链状态的信息。但是客户端如何写入区块链网络?所有写请求事务都需要使用客户端的私钥进行签名,每笔交易都会向客户收取 gas 费,这是一种加密货币,它将用于验证交易的其他节点(矿工)。

这样的提供者,如 Metamask,就像交易签署者和提供者一样。它将私钥存储在浏览器中并在客户端发出交易请求时进行签名,它还连接到区块链网络。

Web 3.0 DApp 中的数据层

image.png

由于交易 gas 费用,将数据存储在区块链中可能会非常昂贵,使用非区块链解决方案(如点对点存储的 IPFS 或 Swarm)更为合理。

  • IPFS :一种点对点文件系统协议,允许跨机器网络存储数据,在没有流行浏览器的原生支持的情况下,IPFT 使用私有或公共网关连接到网络。
  • Swarm : 类似于 IPFT,唯一的区别是系统通过以太坊区块链网络中的智能合约维持。

为了使前端也去中心化,可以使用相同的点对点存储解决方案。

最后是为了简化查询存储在区块链或点对点网络中的数据,可以使用 Graph,它将 GraphQL 查询转换为智能合约事件和点对点网关。

总结

Web 3.0 DApp 架构可能看起来相当势不可挡,确实如此,但是出现了更多旨在简化构建体验的工具,例如 hardhat 和 thirdweb。


天行无忌
目录
相关文章
温轻舟
|
2天前
|
前端开发 搜索推荐 JavaScript
Web前端网站(二)- 主页
页面星空是可动的哦~~~毒药水特效的颜色搭配,文字渐变的动态效果,图片360度旋转展示特效等等等;每一次的按钮点击都是满满的惊艳 ~ ~ ~
温轻舟
19 4
Web前端网站(二)- 主页
温轻舟
|
2天前
|
存储 前端开发 搜索推荐
Web前端网站(一) - 登录页面及账号密码验证
页面背景动态是烟花和文字特效与缓缓下落的雪花相结合,在登录表单的旁边还有五个白色光圈以不规则的方式环绕,当鼠标靠近时,会发出彩色的光芒~~~
温轻舟
20 1
Web前端网站(一) - 登录页面及账号密码验证
叫个什么名字
|
21小时前
|
前端开发 JavaScript API
探索现代Web开发中的动态数据交互——前端与后端整合实战
本文探讨了现代Web开发中前端与后端整合的关键技术点,通过实际案例演示了如何利用JavaScript和Node.js实现动态数据交互,全面解析从数据请求到响应的全过程。
叫个什么名字
25 18
多多!
|
2天前
|
存储 Java 容器
Web后端开发中对三层架构解耦之控制反转与依赖注入
Web后端开发中对三层架构解耦之控制反转与依赖注入
多多!
7 0
多多!
|
2天前
|
XML 前端开发 Java
基于Springboot的web后端开发三层架构上手实操
基于Springboot的web后端开发三层架构上手实操
多多!
7 0
多多!
|
2天前
|
XML 前端开发 JavaScript
后端请求响应和分层解耦web开发的三层架构
后端请求响应和分层解耦web开发的三层架构
多多!
7 0
游客vsgxb64qlj7cg
|
2天前
|
监控 持续交付 开发者
探索后端开发中的微服务架构实践
在软件工程的广阔天地中,微服务架构以其独特的魅力和优势逐渐成为后端开发的新宠。本文将深入探讨微服务的核心概念、设计原则以及在实际项目中的实施策略和面临的挑战,旨在为后端开发者提供一套清晰的微服务实践指南。
游客vsgxb64qlj7cg
15 0
zhanbao
|
3天前
|
运维 监控 API
打造高效后端:微服务架构在现代应用中的实践
本篇文章探讨了微服务架构在现代应用中的实际应用,重点介绍了其优势、挑战以及最佳实践。通过具体案例和技术细节,我们将深入了解如何设计、实现和维护一个高效的微服务架构,以满足不断变化的业务需求。
zhanbao
13 0
游客vsgxb64qlj7cg
|
3天前
|
监控 API 持续交付
探索现代后端开发中的微服务架构
本文探讨了微服务架构在现代后端开发中的应用与挑战,涵盖其优势、设计原则及最佳实践。
游客vsgxb64qlj7cg
10 0
杨校
|
3天前
|
编解码 前端开发 JavaScript
WEB前端响应式布局之BootStarp使用
WEB前端响应式布局之BootStarp使用
杨校
14 0

热门文章

最新文章

  • 1
    Python Web应用程序构建
  • 2
    快速上手!使用Docker和Nginx部署Web服务的完美指南
  • 3
    【Go 语言专栏】Go 语言中的 Web 框架比较与选择
  • 4
    在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
  • 5
    探索Gin框架:快速构建高性能的Golang Web应用
  • 6
    Visual Basic的Web服务和REST API开发指南
  • 7
    构建高效Python Web应用:异步编程与Tornado框架
  • 8
    【专栏】Vue.js和Node.js如何结合构建现代Web应用
  • 9
    Python web框架fastapi数据库操作ORM(一)
  • 10
    Python web框架fastapi中间件的使用,CORS跨域详解
  • 1
    前端和后端限制文件大小的具体实现方式
    62
  • 2
    【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
    35
  • 3
    【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
    39
  • 4
    【Web 前端】如何找到所有 HTML select 标签的选中项?
    45
  • 5
    【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
    28
  • 6
    【Web 前端】$(document).ready() 是个什么函数?为什么要用它?
    49
  • 7
    【Web 前端】如何在点击一个按钮时使用 jQuery 隐藏一个图片?
    60
  • 8
    从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
    80
  • 9
    【Web 前端】 jQuery 里的 ID 选择器和 class 选择器有何不同?
    54
  • 10
    【Web 前端】网页上有 5 个div元素,如何使用JQ来选择它们?
    62
  • 相关课程

    更多
  • Python Web 框架 Flask 快速入门
  • 移动Web前端开发
  • Ajax 前端开发入门与实战
  • 零基础学前端HTML+CSS
  • 前端开发CSS基础
  • 前端开发框架Bootstrap使用教程
  • 相关电子书

    更多
  • Vue.js 在前端服务化上的探索与实践
  • 阿里文娱大前端技术实践
  • 前端代码是怎样智能生成的
  • 相关实验场景

    更多
  • Internet Information Services(IIS)部署Web项目
  • 基于Serverless架构的盲盒抽奖系统
  • 零基础部署一个Django Blog到Serverless架构
  • 云上Web及FTP
  • WEB网页编程实战
  • 下一篇
    2024年阿里云免费云服务器及学生云服务器申请教程参考

    PHP网站源码福永至尊标王平湖企业网站建设龙岗建设网站布吉营销型网站建设荷坳标王荷坳网络营销坑梓设计公司网站松岗SEO按天计费荷坳设计公司网站大芬英文网站建设坑梓建设网站布吉网站搭建大运百度爱采购爱联建站广州SEO按天收费大鹏百度标王南山企业网站制作塘坑网页制作布吉百搜词包大运seo网站推广同乐网站优化按天收费西乡seo网站优化南山网站推广工具丹竹头网站seo优化爱联关键词排名龙华网站改版民治网站制作沙井网站推广系统罗湖SEO按效果付费沙井网络广告推广歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

    PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化