# 区块链开发学习笔记

By [Crazygit](https://paragraph.com/@crazygit) · 2022-01-28

---

本系列主要用于记录个人在学习区块链开发中的学习笔记，心得体会，以及学习资源分享。

区块链涉及的东西非常广，从事区块链开发的方向也很多。

> 从事区块链开发有很多方向，如: 区块链应用开发人员、区块链架构师、底层核心开发、共识算法研究等等。方向不同，需要学习的内容就不一样，如果基于区块链应用开发，只需要了解一门编程语言（nodejs, Go, Python, C++ 等）, 大概了解区块链的原理，不一定要深入，当然理解越深入开发就越顺。如果做区块链基础开发，就需要了解加密算法，P2P 通信，共识算法等等。由于区块链涉及的技术很多，可以先对各个技术有一个概念了解，再逐步深入原理。

因此首先要做的就是明确自己要选择的方向，然后根据选择去学习相关内容，避免在学习的过程中迷失方向。这里推荐一篇不错的文章[如何系统学习区块链技术](https://segmentfault.com/a/1190000020837340)(前面的引用的段落也来自这篇文章)。读完有个大概了解之后，才能有目的地去学习。

本人主要关注区块链应用开发，因此这个系统主要涉及区块链应用开发的相关知识。根据我目前粗浅的认知，个人感觉区块链应用开发和web2上的应用开发架构上基本大同小异，主要分前端开发和后端开发:

前端开发与web2上的前端开发基本是一样的，除了需要掌握基本的前端开发技术外，额外添加了以太坊协议的了解(比如需要熟悉web3.js类似的库)，以及与数据货币钱包的交互(读取账户信息，发起交易等)。

后端开发主要是指指智能合约的开发，首先需要掌握的是一门合约开发语言，比如Solidity。另外由于部署环境是EVM，没有了传统后端开发中常用的文件系统和数据库，以及各种后台组件服务，因此开发思路上也略有不同。

所以，我的笔记主要包含以太坊为介绍，web3.js， 数字货币钱包，Dapp， 智能合约等内容。根据自身的学习情况，会不断更新。

目录
--

[以太坊简介](https://mirror.xyz/0x42B44E52b4Fd2dc199048B61c94E19EBec7DBD14/f6Wy1g73l92ZhI9TDDtI55aGUNaCmE_n_q03cn1qdzY)

以太坊开发

web3.js

metamask

solidity

truffle

---

*Originally published on [Crazygit](https://paragraph.com/@crazygit/2l0b9RytVRlO5yigqE7t)*
