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。

相关文章
|
15天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
1月前
|
前端开发 数据库 UED
构建高性能Web应用的关键技术
本文将介绍构建高性能Web应用的关键技术,包括前端优化、后端优化、数据库优化等方面。通过深入讨论各项技术的原理和实践方法,帮助开发者们提升Web应用的响应速度和用户体验。
|
1月前
|
存储 前端开发 JavaScript
从前端到后端,探索现代Web开发技术
本文探索了现代Web开发技术的各个方面,包括前端和后端开发以及多种编程语言的应用。通过对JavaScript、Java、Python、C、PHP和Go等语言的介绍,深入探讨了前端和后端开发的基本原理和常用工具。同时,还涵盖了数据库技术在Web开发中的重要性和应用场景。无论你是初学者还是有经验的开发者,本文都能为你提供全面的视角和实用的知识,帮助你在Web开发领域取得更好的成果。
|
1月前
|
前端开发 开发者
探索前端技术的新趋势:Web组件化开发
【2月更文挑战第11天】 在这篇文章中,我们将深入探讨Web组件化开发的概念及其对前端开发领域的影响。不同于传统的摘要方式,我们通过一个故事来引入主题:想象在一个快速变化的数字世界里,有一座由各种小型、独立、可复用的建筑块构成的城市,每个建筑块都拥有独特的功能和风格,它们可以自由组合,创造出无限可能的城市景观。这座城市,就像是使用了Web组件化开发技术的前端项目。接下来,我们将详细探讨Web组件化开发的优势、实现方式以及面临的挑战,为前端开发者提供一个全面的视角来理解和应用这一重要的技术趋势。
62 5
|
2月前
|
SQL 分布式计算 Hadoop
Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
【2月更文挑战第6天】Azkaban【基础 01】核心概念+特点+Web界面+架构+Job类型(一篇即可入门Azkaban工作流调度系统)
94 0
|
1月前
|
SQL 存储 数据库
基于Web技术的在线考试系统的设计与实现(论文+源码)_kaic
基于Web技术的在线考试系统的设计与实现(论文+源码)_kaic
|
1月前
|
网络协议 安全 网络性能优化
基于web技术的企业网设计与实现_kaic
基于web技术的企业网设计与实现_kaic
|
20天前
|
资源调度 JavaScript 安全
Linux系统之部署web-check网站分析工具
【4月更文挑战第3天】Linux系统之部署web-check网站分析工具
65 9
|
23天前
|
Java
销售业务管理系统【Web系统】(Java课设)
销售业务管理系统【Web系统】(Java课设)
13 5
|
1月前
|
开发框架 Dart 前端开发
构建响应式Web界面:Flutter的跨界前端技术
【2月更文挑战第23天】随着移动互联网的飞速发展,响应式Web设计成为现代前端开发的重要趋势。在众多框架中,Google推出的Flutter以其高效的渲染性能、跨平台能力及丰富的组件生态,为前端开发者带来了新的选择。本文将深入探讨如何利用Flutter进行高效、美观的响应式界面构建,同时剖析其与传统前端技术的差异和优势。