DAPP系统开发web3.0技术搭建

简介:  Web3.0,消除了中心化,没有集中式的数据库,没有存放后端代码的集中式Web服务器。采用了区块链技术,在互联网上的匿名节点维护的分布式状态机上构建应用程序。

  Web 3.0应用程序叫做DApp,全名是Decentralized Application(去中心化应用程序)。

  要了解DApp,首先就得了解“去中心化”,在Web 2.0的时候,我们访问的服务都属于【中心化】服务,管理者有绝对的权威,平台的一些举措,对用户有着很大的影响。

  Web3.0,消除了中心化,没有集中式的数据库,没有存放后端代码的集中式Web服务器。采用了区块链技术,在互联网上的匿名节点维护的分布式状态机上构建应用程序。

  “状态机”是指一台机器,它维护一些给定的程序状态、以及该机器上允许的未来状态,它具有非常严格的规则(即共识)来定义状态如何转换。

  没有一个实体可以控制这个分布式的状态机——它由网络中的每个人共同维护。

  后端逻辑代码化身成状态机上的“智能合约”,这是开源的。

  再进一步看看这些新颖的概念:

  ethereum blockchain,以太坊区块链,被认为是“世界计算器”,一个可全局访问的状态机,对等节点网络维护,状态的更改遵循共识规则的约束;只要是写入了数据,就会被记录,数据不能再更新回去;

  智能合约:以太坊上运行的程序,由高级编程语言编写

  任何人都能检查智能合约是否合理;

  EVM虚拟机,用于执行合约的环境,相当于执行引擎;

  OK,视野来到了前端代码部分。按道理将,前端代码应该也是用智能合约的方式实现,实际上,它也确实如此,不过要更为复杂一点。

  当我们想要与区块链上的数据和代码进行交互时,我们需要与这些节点中的一个进行交互。任何节点都可以广播在EVM上执行交易的请求,然后矿工将执行交易并将结果状态更改传播到网络的其余部分。

  广播新交易有两种方式:

  设置自己运行以太坊区块链软件的节点;

  使用Infura、Alchemy和Quicknode等第三方服务提供的节点;

  借助第三方节点可能会更轻松一点,它的逻辑是这样的:
1.jpg

  每个以太坊客户端(即提供者)都实现了JSON-RPC规范。这确保了当前端应用程序想要与区块链交互时,有一组统一的方法。JSON-RPC是一种无状态、轻量级的远程过程调用(RPC)协议,定义了多个数据结构及其处理规则。它与传输无关,可以通过多种方式传输,比如HTTP、套接字、其它传输环境,JSON(RFC 4627)作为一种数据格式。

  还有一个很重要的东西,进行身份验证,鉴权。通常借助Metamask实现;
2.jpg

  Metamask将用户的私钥存储在浏览器中,每当前端需要用户签署交易时,它就会调用Metamask。

相关文章
|
14天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
27 6
|
1月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
构建互联网高性能WEB系统经验总结
56 16
|
1月前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
55 1
|
1月前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
58 2
|
2月前
|
人工智能 前端开发
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
2024 川渝 Web 前端开发技术交流会「互联」:等你来报名!
|
2月前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
42 2
|
2月前
|
机器学习/深度学习 移动开发 JavaScript
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
Web实时通信的学习之旅:SSE(Server-Sent Events)的技术详解及简单示例演示
287 0
|
1月前
|
监控 前端开发 JavaScript
前端技术探索:构建高效、可维护的Web应用
【10月更文挑战第23天】前端技术探索:构建高效、可维护的Web应用
48 0
|
2月前
|
存储 前端开发 JavaScript
CSS:现代Web设计的不同技术
【10月更文挑战第11天】 CSS:现代Web设计的不同技术
|
2月前
|
移动开发 前端开发 JavaScript
HTML与现代Web开发的不同技术
【10月更文挑战第11天】HTML与现代Web开发的不同技术
27 0