👨‍💻Web3.0开发者构建Web3程序最佳学习手册

🔶TY DAO认为:投资是认知变现,学习是认知提升唯一途径。

牛市一起赚钱,熊市抱团取暖,和愿意付出的伙伴一起构建Web3学习社区通过系统化内容分享减少认知差、通过付费社区聚合减少信息差 培养洞察力,通过系统化Web3知识库搭建对Web3信息降噪,提升自己的认知能力,构建自己的投研体系和交易体系,让投资更简单和可持续。

与有价值的朋友同行,通过付费获得信息差,构建适合自己的交易体系,彻底摆脱韭菜思维,让投资可持续收益更可观。

🧭导航:𝕏 推特 🚫核心会员群 📒Web3学习知识库

英文学习Link:https://web3.university/article/20-blockchain-development-tools…

一、编程语言

要开发Web3应用程序,就需要学习一种编程语言。这些语言可以让我们创建智能合约,以作为程序的后端模块。

1、Solidity

目前,Solidity是最流行的编程语言之一。它是一种高级语言,从C++等语言中借鉴了一些元素,ETH是用它写出来的。 Solidity 也可以在其他链上运行,只要与EVM 兼容。这就意味着我们可以在兼容 EVM 的链上部署项目,如BSC、Avalanche、Polygon、Matic Network等。

来自@WTFAcademy_的学习Link:https://wtf.academy/solidity-start/

2、Vyper

Solidity 并不是创建合约的唯一语言。一种流行的替代方案是 Vyper——一种基于 Python 且兼容 EVM 的语言 虽然 Vyper 的功能和流行不如 Solidity,但对于熟悉 Python 的开发者来说,它也不错。此外,Vyper 的简单架构减少了软件错误,简化了智能合同审计 。

学习Link:https://vyper-by-example.org

3、Rust

Rust 是一种多范式语言,它在Web3开发社区中越来越受欢迎,特点是更安全,存储/并发处理更好。标准的Rust性能与标准C++性能相比 缺点是Rust 不兼容 EVM,所以我们不能在ETH和EVM 兼容链上部署项目。但是像 Solana, Terra, NEAR等较新的链可以使用 Rust 。

学习Link:https://zhulg.github.io/posts/658f0ea2.html

二、框架

从头构建去中心化应用程序 (dApp) 可能是一项困难的任务,特别是如果我们必须自己处理每一个微小的细节。幸运的是,我们可以受益于「即插即用」基础设施的软件框架,以便轻松创建 dapp。 框架附带了用于创建、测试和部署代码的资源 (库和工具)。从头开始编写 dApp 是没有必要的,因为我们可以使用现成模块,然后添加额外的功能。此外,大多数框架都是由经验丰富的工程师开发和优化的,所以它们都是强大、高效和通用的。

1、Truffle

在我们的开发框架列表中,第一个就是 Truffle。Truffle 是一个基于 javascript 的框架,用于开发测试和部署合约。它是区块链行业中最常用的框架之一。

Truffle 提供了创建功能齐全的DApp 所需的资源,它可以提供从内置的智能合约创建工具到测试区块链的环境。它还具有现成的库,使得构建ETH,DApp 的前端更容易。

学习Link:https://truffle.tryblockchain.org

2、Hardhat

Hardhat 是第二被强烈推荐给合约开发者的框架。与 Truffle 一样,Hardhat 是一个基于 javascript 的框架,用于ETH上测试/部署/调试/等。 Hardhat 是一个全面的平台,它聚合Web3开发的底层功能。可以专注于更重要的任务,比如为 DApp 构建基础设施。

学习Link:https://learnblockchain.cn/article/1356

3、Embark

Embark 是一个完整的栈开发框架,它允许我们同时构建 dApp 的前端和后端,Embark 与其余列出的其他框架一样好。 Embark 为 dApp 数据存储、实时代码测试和智能合约部署提供资源。此外,我们还可以访问重要的插件,如 Etherscan、Solc、Solium 等。

学习Link:https://learnblockchain.cn/article/566

三、 集成开发环境 ( IDE )

集成开发环境 (IDE) 通过将核心开发工具组合成一个图形用户界面 (GUI) 来帮助应用程序开发。大多数 IDE 都具有代码编译、编辑、语法高亮显示、构建自动化和调试等功能。

1 、Remix IDE Remix

被许多区块链开发人员认为是 IDE 的行业标准。使用 Remix IDE,我们可以编译、测试和调试智能合约—所有操作都可以通过一个直观的界面完成。 Remix IDE 是用 JavaScript 编写的,我们可以在任何浏览器上使用它,我们也可以在自己的计算机上本地运行它 (作为桌面应用程序)。它提供了一套全面的库、插件和其他功能,以推动智能合约开发。

学习LINK:https://juejin.cn/post/7046041881913851912

2 、EthFiddle

EthFiddle 是一个基于浏览器的 IDE,用于编写和调试 Solidity 代码。如果我们在一个项目上与他人合作,那么 Loom Network 开发的 EthFiddle 是一个很好的工具,有了这个软件,我们可以轻松地编辑、查找代码片段,并与他人共享代码片段以获得反馈。

EthFiddle 不像 Remix IDE 那样功能丰富,但它能在演示文稿中共享代码这一点却很有用。它提供了设计良好的测试和原型功能,使其成为了所有区块链开发人员的好工具。

学习LINK:https://ethfiddle.com

3 、Ethcode

我们也推荐 Ethcode,一个用于开发以太坊智能合约的 Visual Studio Code 插件。Ethcode 为编写、调试和单元测试合约代码提供了一个初学者友好的开发环境。 代码是开源的,新的开发人员可以在需要时寻求支持。Ethcode 适用于 Vyper 和 Solidity,可以将智能合约部署到以太坊主网和 Goerli 测试网等。

四、 API 和 SDK

除了框架和 IDE 之外,API 和 SDK 也是 Web3 开发者最重要的工具之一。帮助区块链工程师解决开发过程中遇到的具体问题,并帮助 dApp 的创建。 为了简化不同软件之间的交互,设计了一个 API (Application Programming Interface)。通过使用 API 请求数据来改进 dApp,我们可以在现有功能的基础上进行构建。 SDK 是「软件开发工具包」(Software Development Kit)的简称,是针对特定平台构建应用程序的软件产品集合。区块链开发 SDK 降低了构建特定于平台的 dapp 的复杂性。

1 、Alchemy NFT API

随着 NFT 价值的飙升,许多开发人员开始将注意力转向这个行业。如果打算创建一个 NFT 应用,Alchemy 的 NFT API 是一个完美的工具。

Alchemy NFT API 允许开发人员在用户友好的界面中显示不同 NFT 的元数据。它跨多个链 (以太坊、Polygon,、Flow 等) 工作,所以买家在选择 NFT 方面有更大的灵活性。

NFT API 抽象了 NFT 交互所涉及的大多数技术任务。通过将 NFT API 集成到我们的平台中,买家在验证和购买 NFT 之前不需要阅读智能合约。

NFT API:https://www.alchemy.com/

2、 Thirdweb SDK

Thirdweb SDK 对于构建 Web3 应用程序或将 Web3 特性集成到现有应用程序非常有用。例如,我们可以在我们的应用程序中添加「连接钱包」特性,而不需要编写代码。 Thirdweb 可以用于以下方面: - 创建 NFT 市场 - 在不编写代码的情况下启动 NFT - 为治理、社区成员资格和其他目的创建Token - 编程版税分成 NFT Thirdweb 目前支持 Fantom, Avalanche, Ethereum 和 Polygon,并承诺在未来支持更多的链。虽然智能合约可以免费使用,但 Thirdweb 通过收取 Token 合约未来版税的 5% 来赚钱。

学习Link:https://thirdweb.com

3 Moralis API 和 SDK

Moralis 是一个 Web3 开发平台,提供 API 和 SDK,以加快区块链开发周期。Moralis SDK 通过提供现成的功能降低了构建全功能 dApp 的复杂性,例如: - 用户身份验证 - 发送和获取交易 - 监听智能合约事件 - 与智能合约互动 Moralis 的跨链 Web3 API 还可以聚合关于账户余额、 Token 、链上交易等的全面信息。它支持最流行的链,包括 Avalanche, Polygon, Ethereum 和币安智能链。

学习Link:https://moralis.io

五 、测试区块链网络

默认情况下,大多数智能合约是不可变的,一旦代码部署到区块链上,就无法做出任何修改。因此,不鼓励在以太坊主网上测试,因为我们不能在部署后进行更改。 为了解决这个问题,以太坊开发人员可以使用测试区块链网络 (testnet) 来测试 dapp。测试网络可以让我们看到智能合约在区块链上如何工作,允许我们在启动它之前找到缺陷。

本地区块链 ( Ganache) Ganache 是用于以太坊开发的本地区块链,可以作为命令行工具或桌面应用程序使用。区块链开发人员可以使用 Ganache 部署智能合约和执行测试。 Ganache 工具拥有用户友好的界面,可以访问调试信息和区块链数据 (帐户、区块、交易)。我们还可以配置其他元素,如区块时间,以满足我们的开发需求。

学习Link:https://juejin.cn/post/7070702860618432548

Last updated

Was this helpful?