Frontier最近,web3.0的呼声真的越来越高,越来越疯狂。对于我们的前端,我们需要具备哪些技术?首先介绍一下web3.0是如何从互联网衍生出来的。让我们谈谈什么是网络。1989年,CERN(欧洲粒子物理研究所)的TimBerners-Lee领导的一个技术小组提交了一个新的因特网协议。而使用这种协议的文件系统,该系统被命名为万维网,简称WWW(WorldWideWeb),也就是我们现在所说的“互联网”。它的目的是让世界各地的科学家能够使用互联网交换他们自己的工作文件。它使用的技术主要有HTML、URI、URL、HTTP等,可以静态的方式显示网页内容。也就是我们Web1.0一般说来,Web1.0指的是1990年代和21世纪初的互联网。说白了就是由博客、留言板和早期的门户网站如AOL、CompuServe等组成的Internet。我们在国内熟悉的新浪、搜狐、网易等网站都是那个时代的产物。在Web1.0上,静态网页基本都是被动阅读,网页构建协议使用HTTP、FTP等。在Web1.0下,网页内容是只读的、静态的,类似于杂志,只能查看但不能修改或交互。在Web1.0下,用户只是信息(网页)的消费者,不能与之交互。Web1.0也是拨号上网,平均宽带50k。总的来说,Web1.0是只读的、去中心化的。Web2.0和Web2.0在2005年左右兴起,Web2.0的大意是用户可以在网页上创建和发布自己的内容,主动参与互联网,不再是简单地被动阅读网页。整个网页的最终资金和控制权,还是被网页的主人占有。Facebook、Twitter、YouTube等社交媒体也是这个时代的产物。当然,这种用户生成内容的泛滥也造成了天然的垄断,这也会带来几个问题:1、用户数据集中;2、用户数据不可移植;3、用户数据出卖总而言之,Web2.0是读写并存的Web3.0Web3.0是一个去中心化的网络,通过将权力和数据集中在用户手中,而不是专属于某个公司。将数据分发到网络包括去中心化的区块链技术。Web3.0一词已经存在多年,直到去年才开始流行起来。使用Web3,网络是去中心化的,因此没有任何权威可以控制它,并且构建在网络之上的去中心化应用程序(dapps)是开放的。去中心化网络的开放性意味着任何一方都无法控制数据或限制访问。任何人都可以在没有中央公司许可的情况下构建和连接不同的dapp。Web3.0的主要特点包括:语义Web——Web3.0的关键,让机器处理数据变得容易。AI——AI是影响Web3.0技术普及的主要关键因素之一。它通过大量网络数据来满足用户的需求,从而使机器变得更加智能。3D图形——Web3.0已经超越了传统互联网,因为它的三维技术,提供了比2D更逼真的三维网络世界。无处不在-同时存在或无处不在的概念,移动设备的兴??起正在增加,许多人可以随时随地更轻松地访问互联网。开放互通,是指在应用程序接口、数据格式、协议以及设备与平台之间的互通性方面的开放性。全球数据存储库,这是跨程序和跨网络访问信息的能力。总结:Web3.0是读取、写入、拥有网络的一切。前言对于我们前端开发者来说,我们应该掌握哪些技术或者应该知道哪些?简而言之,web3开发人员创建去中心化的全栈应用程序,这些应用程序存在于区块链上并与之交互。让我们简单地谈谈它。让我们先了解一下技术术语是什么:Web3:它是以太坊区块链和您的智能合约SmartContracts之间的连接。以太坊:一个去中心化的开源区块链区块链,允许用户通过创建智能合约与网络进行交互。它的原生加密货币是以太币。就市值而言,以太币是仅次于比特币的第二大加密货币。它由VitalikButerin于2013年创建。智能合约智能合约:它们是存储在区块链上的计算机程序,在满足预定条件时运行。智能合约是用Solidity语言编写的。去中心化:数据状态不是由中央实体、平台或单个区块链收集的:区块链网络是一种点对点连接,信息在多个设备之间共享,几乎不可能被黑客入侵。它是一种以难以或不可能更改存储在网络上的信息的方式记录信息的系统。Solidity:一种用于编写智能合约的面向对象的编程语言。它用于在各种区块链平台上实施智能合约,最著名的是以太坊。Solidity的语法类似于javascript。要了解Solidity,最好有javascript等编程语言的背景。直接进入Solidity是个坏主意Dapp:代表去中心化应用程序。它们是在去中心化网络或区块链上运行后端代码(主要用Solidity编写的智能合约)的应用程序。Dapp可以使用前端框架构建,例如React、Vue或Angular。比特币比特币:世界上第一个广泛使用的加密货币。Crypto:又称Cryptocurrency,加密货币,一种去中心化的数字货币。NFT:Non-FungibleToken,一种所有权记录在链上的数字资产。DAO:DecentralizedAutonomousOrganization,去中心化自治组织。Metaverse:通过技术手段创建的虚拟世界的概念。DeFiDecentralizedFinance:去中心化金融系统。Token:可以理解为加密货币、NFT等数字资产的统称。GameFi:Game+DeFi,中文说链游,游戏中的金融系统可以通过加密货币和NFT映射到现实中。介绍完以上,我们来说说区块链对于开发者的分类。主要是核心区块链开发(核心区块链工程师负责区块链系统的架构和安全协议)和区块链软件开发(这些区块链开发者使用核心区块链开发者提供的设计架构来创建Dapp)。让我们开始吧。对于我们的前端开发来说,如果我们想要开发驻留在区块链上并与之交互的去中心化应用程序,我们必须使用web3.js和Ethers.js库。web3.jsweb3.js是一个JavaScriptAPI库。要让DApp在以太坊上运行,我们可以使用web3.js库提供的web3对象。web3.js通过RPC调用与本地节点通信,它可以在任何暴露RPC层的以太坊节点上使用。web3包含eth对象——web3.eth(专门和以太坊区块链交互)和shh对象——web3.shh(用来和Whisper交互)添加web3,把web3引入你的项目,其实和我们现有的类似参考方法基本相同npm:npminstallweb3bower:bowerinstallweb3metor:meteoraddethereum:web3vanilla:dist./web3.min.js使用然后需要创建一个web3实例并设置一个provider。为了确保不会覆盖现有的提供者,例如在使用Mist时,需要检查web3实例是否已经存在if(!web3){web3=newWeb3(web3.currentProvider);}else{web3=newWeb3(newWeb3.providers.HttpProvider("http://localhost:8545"));}由于这个API是为了与本地RPC节点交互而设计的,所有的功能默认使用同步HTTP请求。如果你想发出一个异步请求。大多数函数允许在参数列表之后传递可选的回调函数以支持异步web3.eth.getBlock(48,function(error,result){if(!error)console.log(result)elseconsole.error(error);})更通用的库可以点击查看复制代码API的具体目录。功能和web3.js基本类似。特点如下:客户端保存私钥,安全可靠支持JSON钱包文件的导入导出(Geth、Parity和crowdsale)从任意合约ABI创建JavaScript元类对象,包括ABIv2和可读ABI支持通过JSON-RPC、INFURA、Etherscan或MetaMask连接到以太坊节点。该库非常小(压缩后~88kb;未压缩284kb)。工具当然,除了上面这些,我们还会用到很多工具来完善我们的开发。Truffle:提供使用以太坊虚拟机编译和测试智能合约的开发环境。在项目中构建依赖项RemixIDE:编写和使用智能合约的完美环境,我们可以使用它直接从浏览器创建、修改和执行智能合约。它更像是一个编辑器MetaMask:一个Chrome扩展,可以让你从浏览器连接到以太坊区块链网络作为项目的接口,react.js、vue.js或angular.js是很好的javascript前端框架,因为它们可以使用ethers.js或web3.js轻松地与区块链网络集成。有多种平台可以让您无需编写代码即可创建完整的Dapp,例如:Bunz、Dappbuilder、Atraio、Bubbleio结论总的来说,Web3.0不是一种技术,而是一种概念。我们前端开发者不用恐慌,不管技术发展到什么程度,我们都会用到前端。我们可以使用我们的react.js,vue.js或者angular.js搭建我们自己的Dapp应用平台,也可以通过以太坊提供的工具包web3.js,使用nodejs来完成合约的全过程编译、发布、合约方法调用。
