从完全零编程知识到 Solidity 和区块链专家,这就是我们将从计算机科学基础开始的原因。

1. Web3.0和区块链之前:计算机科学基础

摩天大楼需要坚实的基础才能不倒塌。

区块链开发这是一个艰难的主题,我不会撒谎。在深入研究节点和块并开始您的路线图之前,请更好地学习计算机科学的基础知识:哈佛大学自己发布的著名的 CS50(计算机科学基础)免费课程

将教您了解计算机和数据处理基础知识所需的一切。

一旦您对 计算机科学有了一定的了解,就该了解区块链的工作原理、为什么有用以及它的局限性。

image-20220611210053548

2. 学习区块链的基础知识

作为一名 Web3.0 开发人员,您需要了解区块链是什么、它是如何工作的,以及它为什么会扰乱我们交换商品和支付的方式。 区块链技术不再仅与加密货币相关,而是已成为真正的分布式云计算系统,能够运行完整的后端来为尖端的去中心化应用程序 (DApps) 提供动力。

Coursera 上通过 Blockchain 101 免费学习区块链的基础知识。

image-20220611210118586

3. 什么是去中心化应用程序?

当您了解了区块链、节点、共识以及该技术的所有主要组件时,您会开始怀疑:

“我可以使用区块链开发什么样的应用程序?”

建立在区块链之上的应用程序被称为去中心化应用程序或 DApps,并且具有:

  • 使用 JavaScript 或 React、Vue、Svelte 等框架/库构建的标准前端。
  • Solidity/Solana/Rust 后端,建立在区块链之上。

了解什么是去中心化应用程序:

了解什么是DApps

查看 DApp Radar 以查看 Defi(去中心化金融)和其他基于区块链的应用程序的真实示例

要了解 DApp 的前端和后端如何协同工作:通信和交换数据,您需要学习前端开发以及标准后端开发、API 和模式的基本原理。

展示以太坊钱包的去中心化应用程序

4. 2021年学习前端开发

如前所述**,去中心化应用程序有一个标准的原生 JavaScript 或 JavaScript 框架前端**,这就是为什么在深入开发你的第一个 DApp 之前,学习前端开发的基础知识和 Web 的工作原理是关键。

学习 HTML、CSS、HTTP、JavaScript,选择一个框架并开始构建静态网站。

完整的 2021 年前端开发路线图,包含 15 多种免费资源,可启动您的旅程并开始通过您的技能获利。

image-20220611210339205

5. 我应该学习后端开发吗?

是的,现在。

分散式应用程序后端与“标准”应用程序后端有很大不同,首先是区块链技术被用作分散式数据存储的主要来源,而标准后端通常使用数据库或对象存储。

但是,大多数技术原理保持不变。

5.1 2021 年学习后端开发

了解前端和后端如何交换数据。 学习:Node、Express、DB、HTTP,如何开发 API,并开始部署尖端应用程序。

2021 年免费资源后端开发路线图

image-20220611210600378

6. 了解什么是以太坊及其工作原理

web3.0 开发人员需要了解以太坊的工作原理。

以太坊是在计算机网络上运行的软件,可确保称为智能合约的小程序的复制和处理。

在这段视频中了解有关以太坊的更多信息,Vitalik Buterin是以太坊区块链的发明者之一,他谈到了这项技术。

如果您想进一步探索以太坊是什么,我几乎不建议您去查看文档和原始以太坊网站

image-20220611210629425

7. 区块链上的软件:智能合约

以太坊和智能合约就像面包和黄油,你需要了解两者。

智能合约是存储在基于区块链的平台上的软件,可自动执行协议。

它是用 Solidity、Rust 或 Vyper(Solidity 但在 Python 风格中)编写的。

在弗吉尼亚大学的这个免费课程中了解什么是智能合约。

image-20220611210648658

8. 学习 Solidity 来开发和部署智能合约

当然知道什么是智能合约是不够的,作为 Web3.0 或区块链开发者,你必须知道**如何编写自己的智能合约。**这是 Solidity 派上用场的时候。

Solidity 是一种用于编写智能合约的高级、面向合约的编程语言,允许程序员编写为区块链 DApp 提供动力的自执行代码。

不幸的是,正如我们所说,网络缺乏了解 Solidity 和区块链开发的良好资源。

这是我发现的最好的 2021 Solidity 免费课程:

image-20220611211857368

9. 通过创建僵尸来学习 Solidity

事实证明,学习Solidity 的最佳资源之一是游戏化编程课程,您将在其中学习如何开发智能合约,同时创建僵尸工厂以开始您的世界统治计划。

查看 CryptoZombies,完全免费。

image-20220611211909985

10. 连接你的 DApp 前端:学习 Web3.js 或 Ethers.js

现在您知道如何创建智能合约,您需要一种方法将前端与本地或远程 Solidity(或类似)后端连接起来,使用从HTTP 到 Websocket 的任何东西。

为此,您可以在两个 JavaScript 库之间进行选择:

  • Web3.js
  • 以太坊.js

10.1 学习 Web3.js

web3.js 是一个库集合,允许您直接从基于 JavaScript 的前端使用HTTPWebsockets和其他通信协议连接本地或远程以太坊节点。

这是 DApp University 的完整 web3.js 速成课程

image-20220611211929789

10.2 学习 Ethers.js

Ethers.js 是一个轻量级的JavaScript 库,用作 Web3.js 的替代品,用于连接 JavaScript 前端和智能联系人。

学习使用 Nader Dabit 的 Ethers.js 进行前端 DApp 开发。

image-20220611211945696

11. 开发你的第一个去中心化应用程序

通过练习和解决问题来学习是关键,这实际上是我们的大脑保留信息的最佳方式。

开始构建您的第一个 DApp,以加强您对区块链开发的理解。

在 freecodecamp 的这个免费课程中开发 5 个 DApp

其他 DApp 项目灵感

在您的区块链开发人员组合中寻找项目创意可能并不那么直观。

给大家分享6个项目思路来实践你的web3.0知识

12. 学习如何测试你的智能合约

测试您的区块链智能合约是关键。

区块链如此特别的原因在于其不可逆转性:一旦添加了智能合约,就无法对其进行编辑或调用,而且其部署也需要花费真金白银(GAS 费用)。

这就是为什么你应该学习如何在部署智能合约之前彻底测试它们的原因。

image-20220611212016244

如何测试我的去中心化应用程序?

有 4 种测试类型可以测试您的智能合约:

  • 节点测试。
  • 功能测试。
  • 性能测试。
  • API 测试。

在这个 1 小时免费的区块链测试介绍中了解更多关于测试您的去中心化应用程序和智能合约的信息。

13. 学习松露和甘纳许

使用 Truffle 加速您的开发:适用于任何 EVM 区块链的开发环境、测试框架和资产管道。

image-20220611212033115

它附带:

  • 内置智能合约编译
  • 可编写脚本的迁移框架
  • 和更多。

另一方面,Ganache包含在****Truffle套件中,用于测试以太坊联系人。它本质上创建了一个模拟区块链,其中包含帐户来测试您的交易并避免设置无用的样板来启动您的 DApp 开发。

开始在本教程中为初学者探索 Truffle

从官方文档中学习 Ganache。

结论

学习 Web3.0 和区块链开发一开始听起来可能会让人望而生畏,但每个人都可以做到。

从计算机科学的基础到 JavaScript,从 Solidity 到尖端的 DeFi 应用程序,逐步学习。