quentangle

Posted on Jan 07, 2022Read on Mirror.xyz

Zero to Hero: Web3.0 和 Solidity 开发路线图 2021

1.在Web3.0和区块链之前:CS的基础知识

一座摩天大楼需要坚实的地基才能稳固。

恕我直言区块链开发它是一个艰难的课题。在深入挖掘节点和区块并开始路线图之前,最好学习一下计算机科学的基础知识:

著名的CS50 — 计算机科学的基础知识 — 由哈佛大学发行的免费课程会教你了解计算机和数据处理的基础知识的所有知识。

在你对CS有了一定的了解之后,现在是时候学习区块链如何工作,为什么它是有用的,以及它的局限性。

2. 学习区块链的基本原理

作为一个Web3.0的开发者,你需要了解什么是区块链,它是如何工作的,以及为什么它可能颠覆我们交换货物和支付的方式。

区块链技术不再仅仅与加密货币有关,而是成为一个真正的分布式云计算系统,能够运行完整的后端,为尖端的去中心化应用(DApps)提供动力。

在Coursera上免费学习区块链的基础知识,学习区块链101

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

当你了解了区块链、节点、共识,以及这项技术的所有主要组成部分后,你会开始想:

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

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

  1. 一个使用JavaScript或框架/库(如React、Vue、Svelte等)构建的标准前端
  2. 一个建立在区块链之上的Solidity/Solana/Rust后端。

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

DApp Radar,看看DeFi(去中心化金融)和其他基于区块链的应用程序的真实案例

要了解DApp的前端和后端如何一起工作:通信和交换数据,你需要学习前端开发和标准后端开发、API和设计模式的基本原则。

4. 在2021年学习前端开发

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

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

完整的2021年前端开发路线图,包括15个以上的免费资源,开启你的学习之旅并用这个技能赚钱。

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

是的,而且是现在。

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

不过,大多数技术原则仍然是相同的。

5.1 在2021年学习后端开发

了解前端和后端如何交换数据。

学习:Node, Express, DBs, HTTP, 如何开发API,并开始部署应用程序。

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

6.学习以太坊

一个web3.0开发者需要了解以太坊的工作原理。

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

这个视频中了解更多关于以太坊的信息,以太坊区块链的发明人之一Vitalik Buterin谈到了这项技术。

如果你想进一步探索什么是以太坊,我不建议你去查看文件和以太坊的原始网站。

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

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

智能合约是存储在基于区块链的平台上的软件,它可以自动执行一个协议。它是用Solidity、Rust或Vyper(类Python语言)编写的。

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

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

现在你知道如何创建智能合约,你需要一种方法来连接你的前端和你的本地或远程Solidity(或类似的)后端,使用HTTP或Websockets的任何东西。要做到这一点,你可以选择两个JavaScript库。

  • Web3.js
  • Ethers.js

10.1 学习Web3.js

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

下面是DApp大学的web3.js速成课程全文

10.2 学习Ethers.js

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

通过Nader Dabit学习用Ethers.js开发前端DApp

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

通过实践和解决问题来学习非常重要,这简直是我们的大脑保留信息的最佳方式。

开始建立你的第一个DApps,加强你对区块链开发的理解。

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

其他DApps项目的灵感

在区块链开发者组合中寻找项目创意来展示,可能不是那么直观。

分享6个项目的想法来练习web3.0知识

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

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

区块链的特殊之处在于不可逆转性:一旦添加了智能合约,它就不能被编辑或召回,其部署也要花费真金白银(GAS费用)。

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

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

有4种类型的测试来测试你的智能合约。

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

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

13. 学习Truffle和Ganache

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

它配备了:

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

另一方面,Ganache包含在Truffle套件中,用于测试Ethereum合约。它本质上创建了一个带有账户的模拟区块链,以测试你的交易,并避免设置无用的样板来启动DApp开发。

在这个初学者教程中开始探索Truffle

从官方文档中学习Ganache

结论

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

使用从计算机科学的基础知识开始,到JavaScript,从solidity到DeFi应用,一步步学习。

你不会在1周内学会区块链开发,但你可以在1年内全力以赴。


翻译:团长(https://twitter.com/quentangle_)