你想参与建设web3项目吗?本文带你快速了解web3领域最流行的技术栈和开发环境。当然,由于Web3生态的广泛性,本文只能简单介绍一部分技术栈。
伴随着去年元宇宙概念的走红,Web3已经成为了今年的火热领域,受到了越来越多投资者和企业的关注,引起了很多的热议。也有很多人放弃了大厂和独角兽企业的工作机会,转而投向了web3领域的创业公司,来寻求未来更广阔的的职业前景。
如果你也感受到了一丝心动,希望尝试去了解更多web3的知识,那么,从哪里开始呢? 当然首先推荐你关注我文末的公众号,或者我的个人网站
https://hicoldcat.com/。这篇文章完全是为那些希望直接进入Web3开发的人准备的。我们的重点将放在各种不同类型的技术栈上,每一个类别都包含了有价值的一些资源,让你的web3之旅可以顺利开始。
为了便于查阅,我将把这些资源分为不同的部分。他们是:
- Layers:在开发中使用到的最流行的区块链
- Dev environment:帮助你部署到这些Layer上的工具
- Identity:如何围绕钱包身份建立并使用加密签名
- Storage:利用P2P技术创建永久性数据存储。
- API:直接访问主网来获取信息
- Front-end:前端流程框架
技术栈是一个术语,用于定义和实现特定目标的特定技术组合。就像无论是全栈开发,还是Web3技术栈一样。值得注意的是,构建Web3应用程序和产品所涉及的技术是相当 "不稳定"的。
从某种意义上说,随着越来越多的人开始在区块链上构建软件,很多事情都在发生着很多的变化。因此,我们这个参考资料的目标仅仅是那些已经在实际项目中使用的技术。
1、Layers任何Web3项目的基础都是从一个Layer开始的,也就是你的应用或者产品将要部署和运行的特定的区块链网络。
1.Ethereumhttps://pic1.zhimg.com/80/v2-deb76ae11a66d6ec9a1c4bdd2150e674_720w.webp从那时候开始,开发人员将其作为构建下一代Web3应用程序的首选区块链层。它也是很多NFT项目的首选层,所以如果您想开发NFT相关的应用程序,以太坊可以提供很多现成的功能。
2.Polygonhttps://pic3.zhimg.com/80/v2-a8c6b0aa76de8dcdd85ad049bbbc80b6_720w.webpPolygon[1]是以太坊的侧链,提供更复杂的安全实践,同时保持较低的交易(gas)费用。对于交易数量极高但交易价格较低的项目来说,这是一种流行的选择。
由于Polygon是一个侧链,它也经常被称为Layer 2区块链。然而,Polygon的快速发展使其不仅成为NFT应用程序的热门选择,而且也是dApps和支付系统的首选。
其他值得注意的Web3 Layer:
- Solana[2]:为大规模构建DeFi应用而构建的区块链
- NEAR Protocol[3]:拥有巨大开发者资源的智能合约区块链
- Polkadot[4]:建立治理项目的跨区块链协议。
- Tezos[5]: 一个专注于能源的平台,用于建立分散的创意平台。
- Fantom[6]:用于构建dApp的开源智能合约平台。
2、Dev Environment开发环境让你跳过整个 "从头开始 "的部分。这些暂时大部分是基于以太坊的。
1. Hardhathttps://pic3.zhimg.com/80/v2-57d240a04ba8205dd65aaec38d6f493a_720w.webpHardhat[7]是一个为Ethereum开发者提供的开发环境。它的工作原理是帮助开发者自动构建和组合去中心化的应用程序,也包括智能合约。它的受欢迎程度源于内置的一个以太坊网络1比1复制还原的Hardhat网络,你可以用它来测试你的应用程序。
2. Trufflehttps://pic1.zhimg.com/80/v2-79e259dd9bf5148fdf8cddcb976c0e10_720w.webpTruffle[8]是一个基于JavaScript的用于构建智能合约的框架。它假设你使用EVM(以太坊虚拟机),并给你提供一些工具包括自动测试、合约编译器以及直接从控制台访问你的联系人的单独工具,来加速开发过程。
其他值得注意的Web3开发环境:
- Foundry[9]:基于Rust的工具包,用于在Ethereum上构建应用程序。
- Brownie[10]:基于Python的框架,用于构建和测试智能合约。
- Anchor[11]:一个与Solana合作的框架,用Rust编写。
- Embark[12]:构建在以太坊之上的多合一框架。
- Waffle[13]:定制的框架来测试智能合约。
3、Identity与传统的用户名和密码认证不同,在Web3中,开发者既实现了钱包的使用,也实现了公钥的使用。
1. WalletConnecthttps://pic1.zhimg.com/80/v2-e310538e7ee1a41a2367922c94113948_720w.webpWalletConnect[14]是一个开源协议,用于通过移动钱包连接到dApps。使用WalletConnect的主要概念是围绕扫描二维码,然后用户可以用它来验证他们的身份并批准与Web3应用程序的新连接。
如果你知道Pillar或MetaMask等钱包--它们都直接与WalletConnect整合。这也意味着你可以获得大量的开发者资源。最后但并非最不重要的一点是,该协议与所有主要的区块链合作,更多的区块链正在被频繁添加。
2. Sprucehttps://pic1.zhimg.com/80/v2-ad0b7e24711bd322d8dfcb351e26b708_720w.webpSpruce[15]是一家Y Combinator支持的创业公司,旨在将去中心化的身份概念带到区块链之外的领域。这个工具包旨在帮助用户在各种媒介上验证其数字身份:社交媒体、个人网站和区块链网络。
4、 Storage如何在Web3上存储媒体(视频、照片等)?这主要是通过P2P文件存储协议实现的。
1. IPFShttps://pic1.zhimg.com/80/v2-1dde1718d9bde42c5e4e7e4578f67788_720w.webpIPFS[16]是世界领先的P2P(对等)存储协议。一旦你上传一个文件到IPFS,这个文件就会被调整大小,通过一个自定义的散列来保护,并分配一个指纹作为它的唯一标识符。
之后,属于该网络的其他节点(系统或人)可以访问该文件,对其进行验证,并将其存储在其缓存中。一旦被缓存,该文件就可以被任何拥有正确访问方法的人访问。
最终,IPFS的目标不仅仅是提供一个分散的存储系统。但也要确保内容的跨度是几十年,而不是几年。例如,一个网站在一段时间后消失了,其所有的内容,包括媒体,都会丢失。IPFS为此提供了一个真正的解决方案。
2. Skynethttps://pic4.zhimg.com/80/v2-1257b393eeea9aaa2e37d6b22caf6e0f_720w.webpSkynet[17]利用Sia(去中心化)云网络提供无障碍文件共享。实际上,你可以直接从主页上使用它。只要上传一个文件,就会给你一个链接。除非您注册API密钥,否则它将持续90天。不过,在开发环境中,Skynet使您可以轻松地在自己的分散应用程序中复制相同的用例。
3. Filebasehttps://pic3.zhimg.com/80/v2-27e3212f199663ab9c020f335889965e_720w.webpFilebase[18]是一家SaaS初创公司,提供与Amazon S3 API的直接链接。您可以使用此API从S3存储桶中提取数据,然后让它们跨各种分散的存储选项重新分布。
目前,Filebase支持基于Web3的存储选项,如Skynet、IPFS、Sia和Storj等。作为开发人员,这意味着您可以简化为客户机提供分散文件存储服务的过程。
作为新用户,您还可以免费获得5GB的存储空间,尽管即使是付费计划,价格也是合理的。
其他值得注意的Web3存储解决方案:
- Arweave[19]: Arweave是一个协议,它允许你用一笔预付费用永久和可持续地存储数据。
- Filecoin[20]:在一个分散的云环境中存储任何种类的媒体。
- Swarm[21]:以太坊智能合约激励的自我维持P2P存储节点。
- Aleph[22]:构建DAPP并让Aleph为您管理基于云的存储。
5、 API与传统的基于数据库的技术栈不同,开发者使用API与区块链进行互动,并在上面请求或存储数据。API有时也被称为客户端。
1. The Graphhttps://pic3.zhimg.com/80/v2-a05eba4d17cc36108e0c63a93f9cd0ee_720w.webpThe Graph[23]是一个多合一的API解决方案,用于连接各种区块链。这个API的目标是帮助开发者访问数据,否则就需要建立单独的算法。例如,区块链中的数据点源于简单的地址到基于智能合约的复杂交易。
这方面的一个例子是跟踪NFT的历史。
虽然个人购买历史可能相当容易追踪,但当你试图了解与不同购买的关系时,它就会逐渐变得困难。在这种情况下,The Graph API提供了预制的调用和索引目录,以帮助你快速实现特定用例的可视化。
2. Web3.jshttps://pic3.zhimg.com/80/v2-358ffdf7a52a0d964bfb6b9a438bb21e_720w.webpWeb3.js[24]是最流行的JavaScript API,可直接与以太坊互动。它主要用于开发与以太坊链互动的客户端应用程序。Web3.js中包含的子库集合提供了诸如转账、智能合约管理等功能。
3. Alchemyhttps://pic1.zhimg.com/80/v2-b6505d08fb34b5527434039330df8e54_720w.webpAlchemy[25]已经迅速崛起,成为最受尊敬的Web3平台之一。他们的方法是教育开发者如何快速建立和扩展Web3应用程序。他们能够通过提供复杂的区块链API和一套开发者工具来做到这一点。
4. useDApphttps://pic2.zhimg.com/80/v2-d95f2febca25a8c29c6cec3bbdacea21_720w.webpuseDApp[26]是一个基于React的框架,用于与以太坊区块链交互。它包括React.js、 Ethers.js库、Waffle和Web3 React组件。它通常用于构建易于访问的网站前端,可以根据项目需要显示各种数据查询。
6、Front-end开发人员使用什么样的框架来构建Web3项目的前端界面?
1. Reacthttps://pic3.zhimg.com/80/v2-e45430250af9a623faaa6ba9f6f78612_720w.webpReact[27]的受欢迎程度是无可比拟的。当得知它也是Web3网站最受欢迎的前端库时,我们并不感到惊讶。组件驱动的架构意味着开发者可以在不影响核心设计的情况下,对前端的多个部分进行处理。
你可以在GitHub上查看Web3-React库[28],这是一个坚实的起点。
2. Nexthttps://pic1.zhimg.com/80/v2-9bc58059bba58d33c9f1c1e8dcc77338_720w.webpNext.js[29]是React的继任者,尽管两者都没有直接关联。大规模的Web3项目需要巨大的资源管理,Next.js捆绑了用于静态和动态项目的本地工具,并被Binance、Bitscreener、Hashnode等公司使用。
要想快速入门,请看Next Web3 Boilerplate[30]。
开始使用Web3开发开发web3需要相当多的技术,特别是如果你现在才开始学习的话。事实是,这一领域的情况变化很快。尽管最初的项目都与NFT相关,但如今,人们更强调去中心化的网络和个人区块链平台。
就开始接触Web3项目而言,这个参考资料应该足够入门了。其他的可以查找一些web3社区和github上关于web3的项目来持续学习。
引用链接