WEB:Web 3堆栈:解读Web 2开发者需要做好哪些准备?_以太坊

尽管Web3的开发者生态系统在更大的网络开发者生态系统中只占很小的比例,但它似乎在快速增长——因此,尝试并确定Web3技术堆栈的组成部分很有意义。我们知道它包括用于去中心化的区块链,以及作为身份形式的加密货币钱包。您可能还听说过名称华丽的分布式存储解决方案,如星际文件系统(IPFS)。但是开发者还需要学习什么才能进入Web3的世界呢?另外,传统的网络技术如JavaScript,如何适应Web3环境呢?

到目前为止,我所遇到的关于Web3堆栈的最佳定义是由NaderDabit写的,他是一家名为Edge&Node的Web3公司的开发者关系工程师。我第一次采访Dabit是在2020年8月,当时他在亚马逊网络服务公司担任无服务器专家。那时,他刚刚在O'ReillyMedia出版了一本名为《全栈无服务器:使用React、AWS和GraphQL的现代应用程序开发》的书。2021年4月,他将这些技能带入了新生的Web3世界。他在Edge&Node的部分工作是帮助构建TheGraph,“一个用于用GraphQL索引和查询区块链数据的Web3协议。”

动态 | 道富银行:到2020年 38%的客户将把更多资金投入数字资产:据CoinDesk 12月6日消息,道富银行旗下的多数资产管理公司都对比特币等数字资产感兴趣,但目前还没有哪家公司要求道富存储这些资产。道富银行数字产品开发与创新董事总经理Jay Biancamano表示,在托管之后,道富银行有兴趣研究数字资产的基金管理、私募、发行和交易。牛津经济学院(Oxford Economics)定量分析公司今年为道富银行进行的调查显示,94%的道富银行客户持有数字资产或相关产品(如比特币期货),38%的客户表示,他们将在2020年增加数字资产的配置。45%的受访者表示,他们的资产配置将保持不变。[2019/12/7]

我联系了Dabit,问他做Web3开发人员与他以前在web2.0公司工作有什么不同。但首先,让我们仔细看看他的Web3参考文章。他将Web3堆栈分类如下:

区块链区块链开发环境文件存储P2P数据库API(索引和查询)身份客户端(框架和库)其他协议正如他所指出的,这个堆栈与传统的网络架构“在许多方面完全不同”——区块链和基于加密货币的身份是两个最明显的区别。Dabit还提醒说,“Web3工具、技术和生态系统不如Web2成熟。”

声音 | 道富银行高管:未来五年内平均投资组合可能会转向数字资产功能:托管银行道富银行(State Street)数字产品与开发董事总经理Jay Biancamano表示,典型的投资组合模式将会改变。这要归功于资产的数字化。他表示,最快五年后投资组合就会有明显的不同。目前大多数基金都是用股票、债券和现金构建投资组合模型。随着时间的推移,这可能会转变为持有房地产、艺术和知识产权等资产。(The Block)[2019/10/26]

“从网络基础设施的角度来看,”Dabit告诉我,“主要的区别实际上是围绕着我们所认为的‘后端’技术,但在Web3中,它们通常被称为‘协议’。”

前端

让我们先从简单的部分开始。根据Dabit的说法,Web3的客户端技术(框架和库)本质上与Web2.0相同。在前端应用中大量使用JavaScript,而且就目前Web2.0的状态而言,React是一个领先的JavaScript框架。Dabit指出:“绝大多数的Web3项目和例子都是由React构建的。”

动态 | 火币聘用美国道富银行中国分公司前负责人为合规总监:据Coindesk消息,美国道富银行中国分公司前负责人Elaine Sun Ye Lin上个月加入火币,担任合规总监。[2019/1/15]

Dabit向我解释说:“除了实际的HTTP客户端库之外,前端技术并没有太大区别。”因此,要通过HTTP协议与服务器通信,"你可以使用web3.js或ethers.js与rpc,或者使用graphql客户端与TheGraph对话,而不是使用fetch或axios。"Web3.js和Ethers.js都是JavaScript库,使开发者能够与以太坊区块链交互。

“此外,身份以及我们处理身份的方式在前端也是不同的,”Dabit说。“要读取数据,你不需要了解用户的任何信息,因为几乎所有的数据都是公开的。但要写入数据,通常需要连接到用户的钱包。有几种方法可以做到这一点。在桌面应用程序中,用户通常会为他们的钱包添加一个浏览器扩展,它会自动为网络注入一个全局窗口对象(例如Solana、Ethereum、Arweave)。或者在移动端,它将允许你在钱包应用程序中进行认证,并在签署交易后重定向。”

Zilliqa将于2023年初推出带有内置挖矿功能和钱包的Web3游戏硬件设备:9月22日消息,Zilliqa准备推出集成加密货币钱包、挖矿软件、区块链技术的Web3游戏硬件设备,它包括HDMI、以太网和USB-C和USB 3.0连接。目前该设备的全部规格仍处于保密状态。

据悉,玩家将能够通过使用设备完成游戏中的 \"技能赚取 \"任务来赚取ZIL代币。这些代币可以被视为类似于传统游戏中的硬币或奖励,但增加了区块链技术的功能。 (decrypt)[2022/9/22 7:14:52]

如果你尝试过购买加密货币或NFT,或尝试过dapp(去中心化应用程序),那么你很有可能已经使用过MetaMask——它有一个浏览器扩展,可用于Chrome、Firefox和基于Chrome的浏览器,如Brave。MetaMask由ConsenSys所有,该公司有理由称自己为“领先的以太坊软件公司”。

ConsenSys还在Web3中拥有领先的IDE之一。Truffle是一个“使用以太坊虚拟机(EVM)的区块链开发环境、测试框架和资产管道”。除此之外,它还提供了“智能合同生命周期管理”和“自动化合同测试”。

Web3虚拟宠物游戏Tiny Rebel Games完成700万美元融资:3月3日消息,Web3 虚拟宠物游戏 Tiny Rebel Games 宣布完成 700 万美元融资,本轮融资由 Fabric Ventures 领投,Animoca Brands、Dapper Labs、SkyVision Capital、CMT Digital、Sfermion、Spin Master、分布式资本、a41 Ventures、Fourth Revolution Capital、6th Man Ventures、ReadyPlayerDAO、Double Peak Group、Pirata Capital Management、Triangle Capital 等参投,天使投资人包括 EA 执行副总裁 kristian segerstrale 等。

Web3 虚拟宠物游戏 Tiny Rebel Games 由 Petaverse Network 制作,本轮融资资金将用于加速其宠物元宇宙「Petaverse」计划,支持更多种类的数字宠物、建立更多品牌合作伙伴关系,并打造更好的游戏体验。[2022/3/4 13:36:00]

学习以太坊

现在我们来看看Web3堆栈更复杂的方面。到目前为止,大多数开发人员都熟悉区块链的概念——基本上,它是一个分布式的数据分类账本。但有许多不同类型的区块链。最重要的两种是比特币和以太坊(并非巧合的是,与这些区块链相关的加密货币是两个市场领导者)。但比特币的可编程性就像计算器一样——正如以太坊研究员JustinDrake在播客《Web3Breakdowns》的一集中所说的那样,以太坊是一个完全可编程的“图灵完备”计算机。

以太坊的可编程特性导致了以区块链为重点的网络开发堆栈的新模式——也就是“Web3”。以太坊的原则之一是,理论上你可以在它上面构建任何东西。用web2.0的说法,它是一个网络平台。以太坊是最大的Web3平台,它也兼容其他一些区块链。因此,成为Web3开发人员的主要途径就是学习如何使用以太坊。

你可能听说过Solidity,一种用于以太坊区块链的编程语言,有点类似于JavaScript。虽然这是事实,但Solidity仅用于为区块链编写“智能合约”——将数据和数据的任何指令放在区块链上。

“在区块链世界中,学习Solidity和EVM(或以太坊虚拟机)可能是作为区块链开发人员入门的最佳选择,”Dabit在他的文章中解释道。“使用这个技能组合(和技术堆栈),你不仅可以为以太坊,还可以为其他以太坊二层、侧链,甚至其他区块链,如Avalanche、Fantom和Celo构建。”

然而,作为对Web2.0世界的另一种认可,Rust也正在成为智能合约开发人员的必备技能。Dabit将Solana、NEAR和Polkadot列为具有“一流的Rust支持”的三个区块链示例。

Dabit告诉我:“我认为Solidity和Rust是智能合约开发中使用最多、需求量最大的语言。他补充说,由于经验丰富的智能合约程序员相对较少,他们可以轻松地获得“每年数十万美元左右的薪水,我甚至看到过一些经验最丰富的程序员年薪在100万美元左右。”

如何存储和查询数据

Web3开发中最棘手的部分之一是数据的存储和使用。虽然区块链擅长成为不可变数据的“去信任”链,但它们在存储和处理大量数据方面也非常低效——尤其是对于dapps。这就是IPFS、Arweave和Filecoin等文件存储协议的用武之地。

Arweave是一个开源项目,它将自己描述为“一个允许你永久、可持续地存储数据的协议,只需要预付一笔费用。”它本质上是一个点对点(P2P)网络,但有自己的一套加密术语——它的采矿机制被称为“"随机访问的简洁证明",开发人员可以将应用程序部署到"permaweb"("一个建立在Arweave之上的永久的去中心化网络”)。

更复杂的是,dapp开发者可以选择使用“链外”解决方案,即数据存储在主区块链之外的其他地方。两种常见的形式是“侧链”(二级区块链)和所谓的“第二层”(L2)解决方案,如比特币闪电网络和以太坊Plasma。更多关于如何在Web3中进行数据管理的信息,请查看数据API公司Fauna的ShashankGolla最近在TheNewStack上发表的文章。

至于如何在区块链上索引和查询数据,这是一个相对较新的开发领域。但如上所述,Dabit正在开发一种解决方案——由GraphQL驱动的TheGraph。除此之外,它还允许开发人员在应用程序中使用GraphQL直接从L1或L2链进行查询。

去中心化:Web3开发者的窘境

基于Dabit所描述的Web3堆栈,很明显,传统的网络编程技能——从JavaScript到Rust——将在Web3开发中为你提供良好的帮助。但你还必须学会如何使用智能合约编程区块链,并适应加密文件存储和链下解决方案的陌生世界。

从开发者的角度来看,Web3目前似乎处于过渡时期,试图找到摆脱对Coinbase、OpenSea和Alchemy等中心化服务依赖的方法。但这样做是所有复杂性的来源,因为真正的去中心化对于dapps来说是很难实现的。

我很好奇Web3堆栈在2022年以后会如何发展,因为它正在寻找方法来实现自己的去中心化宣传。与此同时,如果你想了解更多,请查看NaderDabit的Web3开发者指南。去年10月,他在Next.jsConf上做了演讲,他在其中解释了堆栈。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-4:407ms