{"content":{"title":"成为 Web3 开发者需要掌握哪些知识","body":"## 1.写在前面的话\r\n\r\n[Web3](https://learnblockchain.cn/openspace/1) 发展到今天，随着行业项目市值的攀升，越来越多的开发者挤入了这个行业，那么，身为 web2 的开发者，如何挤入这个行业，进入这个行业又能干什么呢？\r\n\r\n我想这个问题是大多数想进入 Web3 的 Web2 开发者的困惑。\r\n\r\n今天我们就针对这个问题分析一波。\r\n\r\n经历了 10 多年的发展，Web3 各项基础设施发展得很成熟了，也延伸出了很多细分方向。那么，做为 Web3 开发者，有那些可以选择的方向，这些方向有需要一些什么技能呢？\r\n\r\n## 2. 开发者细分方向\r\n\r\n下面分别从公链开发，钱包开发，交易所开发，智能合约开发， 区块链数据处理，前端开发和运维角度出发进行开发细分。\r\n* 💡公链方向\r\n   * L1 公链开发\r\n   * L2 公链开发\r\n* 💡AppChain 开发\r\n* 💡联盟链方向(这个方向 Web3 圈子不屑于讨论哈)\r\n* 💡钱包方向\r\n   * 交易所钱包\r\n   * 去中心化钱包\r\n   * 硬件钱包\r\n* 💡交易所方向\r\n   * 中心化交易所\r\n   * 去中心化交易\r\n* 💡智能合约开发\r\n   * 质押借贷协议\r\n   * 重新质押协议\r\n   * 多重质押协议\r\n   * NFT\r\n   * xxxFi\r\n* 💡区块链数据处理方向\r\n   * 浏览器开发\r\n   * 区块链大数据处理\r\n* 💡协议研究员\r\n* 💡密码学研究员\r\n* 💡密码学工程师\r\n* 💡Web3 前端开发\r\n* 💡Web3 运维\r\n* 💡开发者关系工程师\r\n\r\n上面是从业多年的经验中总结出来，不敢说 100% 覆盖，但 90% 以上的覆盖率是能达到的。下面我们来分析一下各个方向的开发者需要掌握什么样的知识技能才是合格的。\r\n\r\n## 3. 成为一名合格的 Web3 开发者\r\n\r\n*以下所有分析只从技术角度进行展开，不包括抗压能力和人品等的分析。*\r\n\r\n### 💡合格的公链开发者\r\n\r\n* 项目角度：从长远来看，公链开发者一定要熟悉 [Bitcoin](https://learnblockchain.cn/column/32), [Ethereum](https://learnblockchain.cn/article/2226) 和 [Cosmos](https://learnblockchain.cn/2019/05/21/what-is-cosmos) 项目的设计方案和源码。做为不同时间段的开发者，需要熟悉该时间段的热点项目，例如当前阶段，需要熟悉火爆的 [Solona](https://learnblockchain.cn/article/3155), 各种 [Layer2](https://learnblockchain.cn/article/2737), 数据可用层和 [L3 AppChain](https://learnblockchain.cn/article/7879)。\r\n\r\n* 公链配套工具角度：公链开发者还需要熟悉各种支撑公链生态的工具，浏览器的设计开发，桥的设计开发，密钥的管理机制等。\r\n\r\n* 协议和算法角度：p2p 网络协议，主流密码学算法和主流共识算法。\r\n\r\n* 编程语言角度：C/C++, [go](https://learnblockchain.cn/article/6218), [rust](https://learnblockchain.cn/article/5485), [solidity]((https://learnblockchain.cn/column/1) ), node 等\r\n\r\n\r\n### 💡合格的钱包开发者\r\n\r\n* 项目角度：熟悉 top 100 公链的钱包的扫块入账，交易回滚，离线签名实现逻辑；L1 到 L2 和 L2 到 L1 的[跨链](https://learnblockchain.cn/article/5558)。\r\n\r\n* 协议和算法角度：[BIP](https://learnblockchain.cn/2018/09/28/hdwallet) 钱包协议簇，主流[密码学](https://learnblockchain.cn/article/2450)算法\r\n\r\n* 编程语言角度：C/C++, go, [rust](https://learnblockchain.cn/article/5382), Jave, [Python](https://learnblockchain.cn/article/3669), Solidity, [Move](https://learnblockchain.cn/column/42) 等\r\n\r\n### 💡合格的交易所开发者\r\n\r\n* 项目角度：熟悉中心化交易所现货，期货合约，撮合引擎，做市策略，带单返佣和量化策略等业务系统的设计开发，熟悉去中心化交易 [uniswap](https://learnblockchain.cn/article/274)，DYDX 等去中心化交易所的底层实现原理和代码；去中心化交易所方向，需精通智能合约开发语言和[智能合约审计](https://learnblockchain.cn/article/2861)。\r\n\r\n* 编程语言角度：C/C++, go, rust, Jave, Python, Solidity, Move 等\r\n\r\n### 💡 合格的智能合约开发者\r\n\r\n* 项目角度：熟悉主流的去中心化交易所 uniswap, dydx, [sushiswap](https://learnblockchain.cn/article/2740), 1inch  原理及源码，熟悉 [Compound](https://learnblockchain.cn/article/3167), Cure 等项目原理及源码，熟悉 lsd 项目 [lido](https://learnblockchain.cn/article/5718) 原理及源码，熟悉重新质押协议 [eigenlayer](https://learnblockchain.cn/article/5732) 项目原理及源码，熟悉多重质押协议 [LinkLayer](https://learnblockchain.cn/article/7870) 项目原理及源码。\r\n\r\n* 编程语言角度：精通[Solidity](https://decert.me/tutorial/solidity/intro/), [Move](https://decert.me/tutorial/sui-move-intro-course-zh/), Node 等编程语言\r\n\r\n### 💡区块链数据处理方向\r\n\r\n* 项目角度：熟悉 top 20 公链扫块以及交易处理逻辑，熟悉 [EVM](https://learnblockchain.cn/column/22) 链的内部交易解析方式，拥有高并发程序设计，大数据处理经验。\r\n\r\n* 编程语言角度：C/C++, go, rust, Jave, Python, Solidity, Move 等\r\n\r\n### 💡密码学方向\r\n\r\n* 算法：公钥密码学，PKI 公钥体系，单向散列函数，数字证书与数字签名，MPC，[ZKP](https://learnblockchain.cn/article/5440)，同态加密，量子密码学等；下面列一下区块链里面常用的密码学算法\r\n\r\n* [ECDSA](https://learnblockchain.cn/article/4032)\r\n  * [Secp256k1](https://learnblockchain.cn/article/1526)\r\n  * Secp256r1\r\n\r\n* [EDDSA](https://learnblockchain.cn/article/1697)\r\n  * [Ed25519](https://learnblockchain.cn/article/1663)\r\n\r\n* HASH\r\n  * MD 系列\r\n  * SHA 系列\r\n  * Blake 系列\r\n  * Poseidon\r\n\r\n* [BLS](https://learnblockchain.cn/article/1905)\r\n\r\n* MPC\r\n\r\n* ZKP\r\n  * Kzg\r\n  * [Groth16](https://learnblockchain.cn/2019/12/19/zkp-Groth16)\r\n  * Sonic\r\n  * Fractal\r\n  * [Halo2](https://learnblockchain.cn/article/3442)\r\n  * SuperSonic\r\n  * Marlin\r\n  * [Plonk](https://learnblockchain.cn/article/2180)\r\n\r\n* 编程语言角度：C/C++, Rust, Go, Python, Node, Solidity\r\n\r\n### 💡Web3 前端开发方向\r\n\r\n* 项目角度：熟悉去中心化钱包，交易所，质押借贷，公链配套工具的业务开发流程；\r\n\r\n* 智能合约：熟悉合约代码的开发，[部署](https://learnblockchain.cn/article/2469)和[升级](https://learnblockchain.cn/article/1933)流程，熟悉常用的合约审计工具。\r\n\r\n* 编程语言角度：Node, React, React Native, Vue, Uni-App"},"author":{"user":"https://learnblockchain.cn/people/17992","address":"0x72fFaA289993bcaDa2E01612995E5c75dD81cdBC"},"history":"bafkreida4fiz7slc2ifbf2yh4kcxuwypdnftqzftrovdjuac5vjtvfah3q","timestamp":1714270827,"version":1}