区块链入门须知
编程语言选择
学习编程应从基础开始,区块链开发涉及多种语言,应根据应用场景选择。
-
基础语言(必选):
- 任意一门主流编程语言(如 JavaScript、Python、Java 等)都是有益的入门选择。
- 编程语言之间互通性强,掌握一门后便能理解基本编程思路,再学习其他语言或边用边查都会很容易。
-
链上开发语言:
- Rust: 当前直接在区块链上开发应用的主流语言。它是一门高性能的通用语言,但因难度高、内存管理严格,不建议初学者直接学习。
- 入门教程:updraft.cyfrin.io
- 区块链 + Rust案例:blog.logrocket.com
- Solidity: 另一门主要的链上开发语言,上手较为简单。如果你有 Java 或 C++ 基础,可以轻松掌握,无需专门学习,建议在实践中边用边查。
- 官方文档:Solidity Programming Language
- 入门教程:alchemy.com
- Rust: 当前直接在区块链上开发应用的主流语言。它是一门高性能的通用语言,但因难度高、内存管理严格,不建议初学者直接学习。
-
前端开发语言:
- JavaScript: 是构建项目前端的主流和推荐语言,功能全面。由于前端界面是吸引用户的关键,因此掌握 JavaScript 或其相关框架是必要的。
框架、库与数据库
-
前端框架与库:
- 选择取决于具体开发方向,与常规互联网前端开发所需技能基本一致。
- 目前,AI 能极大辅助前端开发,开发者只需具备良好的审美和代码审查能力,即可利用 AI 生成所需界面。
-
链上开发与数据库:
- 库: 区块链执行代码能力有限,因此可用的库很少,大部分功能需开发者手动实现。
- 数据库:
- 掌握 SQL、MySQL、Docker 等传统数据库技术有用,但区块链项目使用不多。
- 因去中心化特性,数据通常直接存储在链上,这导致存储容量受限,且无法直接使用传统数据库。
- 不同主链提供各自的数据存储方案,开发时需查阅特定文档并调用对应接口,其学习模式与传统技术相似。
开发工具与环境
- Git: 是必须熟练掌握的版本控制工具。强烈建议不仅会使用,更要理解其背后的原理。
Git官方文档:https://git-scm.com/doc
-
Linux 环境:
- 许多区块链开发工具依赖 Linux 环境,这是生态特点,而非区块链本身要求。
- Windows 用户可使用 WSL (Windows Subsystem for Linux)。
- Mac 用户因系统基于 Unix,无需额外配置 Linux。
-
IDE (集成开发环境): 属于个人偏好,无强制要求。VSCode 是较好用的选择 VSCode官方网站:https://code.visualstudio.com/docs
学习路径与心态建议
-
两大知识领域:
- 了解文化与环境(重要):
- 关注行业动态,了解主要的组织与他们在做的事情。
- 善用网络(尤其需要访问外网的能力)进行信息检索,并甄别信源,推荐关注可靠的专业媒体。
- 培养技术栈:
- 聚焦开发,则需构建常规开发技术栈。
- 若方向迷茫,可参考 CSDIY 等网站的技术栈建议,或直接咨询AI获取学习清单。
- 了解文化与环境(重要):
-
保持学习动力:
- 兴趣驱动最佳。
- 成果驱动次之,可通过参与黑客松比赛,在实践中学习,快速看到成果以维持动力。
- 黑客松入门介绍:https://github.com/Web3-Club/Hello-hackathon
-
应对技术迭代:
- 区块链底层技术迭代速度并不快,程序员的基本功是通用的。
- 策略上,无需追求掌握每一项新技术,而应理解其原理,并培养指挥 AI 使用工具的能力,自身则保留审查与审美的核心能力。