WEB3:Web 3堆栈:解读Web 2开发者需要做好哪些准备?_CWEB价格

尽管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协议。”

Interlay创始人提议创建BRC-42标准,旨在将BRC-20代币桥接至以太坊等外部网络:5月12消息,Interlay创始人Alexei Zamyatin发推提议创建BRC-42标准,旨在以完全去中心化的方式将BRC-20代币桥接至以太坊、Solana、Polkadot、Interlay等外部智能合约链,从而解锁BRC-20代币的DeFi用例,比如闪兑、借贷等等。

此前,Alexei还曾提议过创建BRC-21标准,旨在以去中心化的方式将以太坊、Solana等外部区块链的代币桥接至比特币链上,BRC-42与BRC-21均作用于跨链领域,但方向相反。[2023/5/12 14:59:45]

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

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

Bitfly:若EIP-1559旨在改善用户体验和安全问题,就应该增加区块奖励和销毁费用:Ethermine矿池母公司Bitfly官方发推称:我们可以通过增加区块奖励来实现相同的安全性。如果EIP-1559旨在改善用户体验和安全问题,那么应该没有理由不增加区块奖励和销毁费用,对吗?

3天前Bitfly发推表示EIP-1559可以改善用户体验并消耗大部分交易费用,而不是将其支付给矿工以保护网络安全。另外Bitfly通过推特发起投票,9623人参与了投票,反对EIP-1559的占到了61.5%。[2021/1/18 16:27:54]

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

前端

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

大型清算机构OCC合作Axoni,旨在利用DLT技术革新现有基础设施:总部位于芝加哥的股票衍生品清算机构OCC已与金融科技初创公司Axoni达成合作,本次合作旨在构建一个新的分布式账本技术框架,以取代OCC现有的证券借贷基础设施。Axoni的分布式账本协议AxCore将分多个阶段进行部署,目标是为衍生品交易建立一个DLT网络,并在各家参与公司之间建立对等节点。新的解决方案有望简化、降低OCC及其客户在处理衍生品交易时的成本。(Finance Magnates)[2020/5/6]

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

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

衍生品交易所FTX推出旨在追踪隐含波动率的恐慌指数代币BVOL:加密衍生品交易所FTX推出追踪隐含波动率的BVOL恐慌指数代币。FTX在官方公告中表示,BVOL恐慌指数代币本质是拥有追踪数字资产隐含波动率功能的ERC20代币,该代币通过FTX MOVE波动率合约得到数字资产隐含波动率敞口,将推出两种BVOL代币:BVOL和iBVOL。其中,BVOL尝试追踪BTC每日的1x做多隐含波动率;iBVOL尝试追踪BTC每日的1x做空隐含波动率。FTX同时表示,“投资者在对BTC的走势无法做出具体判断,但可能对其可能的波动幅度有自己的判断的情况下可以运用BVOL恐慌指数代币,同时用户可以在现货市场上购买BVOL代币,用户无需考虑保证金或者其他类似的杠杆交易因素。”FTX首席执行官Sam Bankman-Fried表示,“BVOL代币与大多数现有的波动率交易产品不同,因为该代币试图代表总体市场预期,并将会在下周正式推出”。[2020/4/18]

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

金色相对论 | 币信熊越:闪电网络旨在提升比特币交易速度 而非将其用于支付:在本期金色相对论之“闪电网络:Hello,TPS”上,金色财经合伙人佟扬对话币信CMO熊越,针对闪电火炬传递活动,您认为其最大的意义在于什么,又怎么看待其法律合规问题?的提问,熊越表示:闪电网络火炬传递最近很火,也分出了很多不同版本。我觉得它最大的意义在于宣传,让大家知道闪电网络不只是停留在白皮书上,它已经可用了。其实比特币早期也经历过这个阶段;另外就是,闪电网络是为了提升比特币的(小额)交易速度,而不是“把比特币当成货币用于支付”。国内的政策应该是禁止用比特币做支付的。但只要你把这些做好了,也可以有很多应用场景。比如,跨境支付、打赏、视频流按秒支付等。[2019/3/7]

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

学习以太坊

现在我们来看看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:0ms0-3:828ms