问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

2024年 Web3开发学习路线全指南

创作时间:
作者:
@小白创作中心

2024年 Web3开发学习路线全指南

引用
CSDN
1.
https://blog.csdn.net/Luckyy_D/article/details/128905732

Web3开发是一个涵盖多个领域的技术领域,包括Defi、NFT、Game等基于区块链的Dapp应用开发,以及VR、AR等XR相关领域的开发。本文将重点介绍Dapp应用开发的学习路线,特别是基于以太坊的开发。

企业需要什么样的Web3开发者?

了解企业对Web3开发者的需求,可以帮助我们更有针对性地学习相关技能。以下是一些关键的技术要点:

  • 区块链基础原理
  • Ethereum技术,特别是EVM(以太坊虚拟机)
  • Solidity编程
  • 智能合约的设计、开发、测试、上线和维护
  • 智能合约的跨链交易
  • Truffle开发框架
  • web3js、ethers.js、OpenZeppelin等库

对于有Web开发经验的程序员来说,Dapp开发的范式基本一致。以下是学习时需要重点关注的技术点:

  1. 区块链的基础原理和Ethereum技术
  2. 智能合约开发
  3. Solidity语言
  4. Truffle框架
  5. web3js、ethers.js、OpenZeppelin等库

区块链基础

在学习应用开发前,了解区块链基础知识非常重要。虽然不了解区块链也能开发Dapp,但缺乏基础知识的开发者在遇到深入问题时会很快遇到瓶颈。

推荐资料

  1. 《陈浩:深入浅出区块链-极客时间》(专栏)
  2. 《自游:说透区块链 - 极客时间》(专栏)
  3. 北京大学肖臻老师《区块链技术与应用》公开课(B站)
  4. 《区块链从数字货币到信用社会》(中信出版社)

基础学习目标

学习区块链基础知识时,建议重点关注以下问题:

  1. 区块链是什么?有什么特点?
  2. 区块链的技术实现原理
  3. 共识机制及其作用
  4. 区块链存储规则与传统数据库的区别
  5. PoW、PoS、DPoS等共识机制的原理和特点
  6. 区块链的应用场景

了解区块链应用生态

在学习区块链基础知识的同时,了解当前的区块链应用生态也很重要。一些知名的Dapp包括:

  • MetaMask(区块链钱包)
  • Stepn(跑步赚钱游戏)
  • Axie Infinity(区块链游戏)
  • NBA TopShot(NBA官方NFT平台)
  • OpenSea(NFT交易市场)

推荐使用DappRadar探索Dapp生态,这是一个类似于Apple Store的区块链应用商店,同时提供高质量的区块链博客和研究报告。

以太坊相关技术

对于新手开发者来说,从以太坊入手是最佳选择。以下是学习以太坊生态所需掌握的关键技术栈。

以太坊基础知识

以太坊官网提供了全面的开发者文档,涵盖了账户、区块、EVM、Gas、智能合约、共识机制等核心概念。其中,EVM、Gas、智能合约等部分需要重点掌握。

MetaMask

在编写智能合约前,建议先使用MetaMask完成一笔交易,以直观感受区块链交易和Gas费用。可以使用以下测试网络获取ETH:

  • Sepolia Faucet
  • Rinkeby Faucet
  • MetaMask Faucet

Solidity语言与智能合约

智能合约是Dapp开发的核心,Solidity是最常用的智能合约编程语言。以下是学习资源:

  • Solidity官方文档
  • Solidity中文文档(登链社区)
  • 基于以太坊的智能合约开发教程(千峰教育)
  • Solidity-workshop(GitHub)
  • CryptoZombies(通过游戏学习Solidity和Dapp)

推荐使用Remix作为开发环境,它提供了代码高亮、调试、编译、日志输出、钱包连接等功能。

web3.js & ethers.js

这两个库用于与以太坊节点通信,功能相似但ethers.js更简洁。以下是相关文档:

  • web3.js官方文档
  • web3.js中文文档(登链社区)
  • ethers.js官方文档
  • ethers.js中文文档(登链社区)

Truffle框架

Truffle是一个功能全面的Dapp开发框架,支持智能合约编译、测试、部署等。以下是其主要功能:

  • 内置智能合约编译、链接和部署
  • 自动化测试框架
  • 可扩展的部署和迁移框架
  • 支持多个以太坊网络
  • 使用EthPM和NPM进行包管理
  • 命令控制台交互
  • 可配置的构建管道
  • 外部脚本运行器支持

Ganache是Truffle套件中的一个应用,可以一键创建区块链网络,方便开发和测试。HardHat是另一个流行的Dapp开发框架,可以作为Truffle的替代选择。

ERC-20标准

如果Dapp需要创建加密货币,需要了解ERC-20标准,它定义了可替换通证的智能合约技术标准。以下是其主要功能:

  • 代币转账
  • 查询余额
  • 获取总供应量
  • 授权第三方消费

智能合约库

开发复杂智能合约时,可以复用社区提供的库以节省时间和确保安全性。推荐使用OpenZeppelin等头部库。

智能合约安全

智能合约的安全性至关重要,因为部署后无法修改。以下是相关工具和资源:

  • Slither:Solidity静态分析框架
  • MythX:智能合约安全分析API
  • Mythril:EVM字节码安全分析工具
  • Manticore:符号执行工具
  • Verifier:ERC20标准验证工具
  • 安全性建议和最佳实践

完成上述学习后,你将能够编写安全、规范的智能合约,并通过web3.js或ethers.js实现Dapp与智能合约的交互。如果想进一步深入,可以研究Gas优化、Layer2扩展方案等高级主题。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号