如何学习区块链开发?

  欧陆资讯     |      2023-08-21 18:06

准备一颗心扑在区块链上面了,自学了go语言和solidity但是不知道能干什么

我算接触区块链比较晚的了,主要还是在联盟链方向。

18年年初在18M开始接触Fabric,java sdk做的区块链应用层项目,之后Baas项目。

目前我了解到区块链的现状:

公链方向

比如说 钱包,交易所都是蓬勃发展的时候。从事的公司也有很多,不过要擦亮眼睛,确保资金充足。

另外推荐一个讲比特币和以太坊比较好的视频,北大肖臻老师讲的,B站有,特别透彻,适合入门及复习,1.5倍速多撸几遍。

联盟链方向

也是目前zf支持的方向,各种落地场景,主要包括两个方向:

应用层方向:银行的福费廷、各种存证、出版社等版权、目前比较火的商品溯源(家乐福、阿里、京东…)等等一系列吧。

另外还有区块链快速部署平台:Baas平台,阿里,京东,IBM,各大公司都在做,这个方向对区块链底层实现原理、K8S、Docker、golang、etcd,kafka等共识算法、grpc、ca等等等要求比较高。京东和阿里的Baas平台有说明文档,可以去官网了解一下。

(吐槽一下,阿里的区块链是真的强,不服不行,实力变态)

学习方面

公链的白皮书一定要看,联盟链的官方文档,涉及的算法,该敲的代码,交易流程,msp,k8s,Docker等等吧。

基本上毒鸡汤就一句话:

能动手就别bibi!!!

不知道能干啥就先看看书吧,哈哈。


这本书里边没有晦涩的代码,但是读这本书要理解书中提到的一些区块链术语。

总的来讲,还是很通俗易懂的,很薄但是内容完备。

《区块链基础知识25讲》([英],丹尼尔·德雷舍(Daniel,Drescher))【摘要 书评 试读】- 京东图书

很多做过分布式技术开发的同学开始学习区块链技术的时候,往往对共识算法感到迷糊。这本书从分布式一致性讲起,可谓由浅入深。

《区块链核心算法解析》([美]Roger,Wattenhofer(罗格.瓦唐霍费尔))【摘要 书评 试读】- 京东图书

数字货币领域世界著名布道师 AndreasM.Antonopoulos 撰写,区块链技术入门经典。全书以比特币为解析对象,剖析了比特币网络的方方面面,区块链技术人员必读的“圣经”。

《精通区块链编程:加密货币原理、方法和应用开发(原书第2版)》([希]安德烈亚斯,M.安东诺普洛斯(Andreas,M.,Antonopoulos))【摘要 书评 试读】- 京东图书

以太坊联合创始人和数字货币领域世界著名布道师联袂撰写,以太坊入门经典。

《精通以太坊:开发智能合约和去中心化应用》([希]安德烈亚斯,M.安东波罗斯(Andreas,M.,Antonopoulos),,等)【摘要 书评 试读】- 京东图书

如果想自己写写智能合约,这本书是不错的入门书。

《精通以太坊智能合约开发》(熊丽兵)【摘要 书评 试读】- 京东图书

更多入门书:

扯淡兄:区块链入门书单[2020]

先看你的目的是什么,再决定接下来做什么。

闲话少说,这篇将告诉你一个完整的 Web3.0 开发路线图,让你成为一个合格的区块链开发者
  1. 最基础的部分
  2. 前后端开发知识
  3. 去中心化应用 DApp
  4. 智能合约开发知识
  5. 一些重要的工具

要想成为一个区块链开发者,首先要成为一个开发者,这就需要理解计算机科学(Computer Science)。

《哈佛大学 CS50 公开课》能帮助你理解最基础的计算机及数据处理。

当你对计算机基础有了一定了解后,就可以开始学习区块链基础了,因为你必须要理解什么是区块链,它如何工作以及它为什么能打破交易方式。目前区块链技术已经不局限于数字货币,它越来越多地多的具备了分布式云计算的能力,使之能够运行各种去中心化的应用程序(DApp)

学习区块链基础技术,可以参考我的另一篇文章《区块链学习资源(基础篇)》


在学习开发 DApp 之前,我们需要了解一定的前后端的知识,前端方面需要掌握 HTML、CSS、纯 JavaScript 语言以及 React 或 Vue 之类的框架。

这里推荐免费的《FreeCodeCamp 课程》,可以从零开始学习前端知识。

而去中心化应用的后端,与一般应用的后端不太一样,主要区别在于区块链技术使用的是去中心化存储,而普通应用往往使用中心化的数据库或对象存储。

尽管如此,但他们背后的技术思想是类似的,因此不太建议直接跳过普通 Web 应用的基础开发原理而投身于 Web 3.0 的开发,你依然需要明白如何连接数据库、如何创建 RESTful API 以及编写各种业务逻辑等。因此学习下 NodeJS、Express、各种数据库(MySQL、PostgreSQL等),练习编写应用接口等是最佳路径。


在学习完最基础的区块链、节点、共识等一系列知识后,就是时候来学习如何在此之上构建应用程序了,而构建在区块链之上的应用程序我们通常称为去中心化应用(DApp),它包括:

  • 应用的前端页面:使用 JavaScript 或 React、Vue 等框架构建的前端应用程序
  • 应用的后端系统:使用 Solidity 或者 Rust 构建在区块链上的智能合约系统

学习开发 DApp 之前,建议了解一下以太坊的知识,如果把区块链比做计算机,那以太坊可视为操作系统,任何应用程序都需要运行在操作系统上,以太坊就是其中一种,也是最为人所知的一种。

《以太坊官网中文版》有助于了解以太坊的知识


所谓智能合约,就是跑在以太坊网络上的小程序。每个 Web 3.0 开发者都必须了解以太坊的工作原理。智能合约通常是自动执行的,它可以使用 Solidity 或者 Rust 等语言编写,通过编写业务逻辑把信息存储到区块链上,就像普通应用把数据存到数据库中一样。

以下是一些学习 Solidity 合约的资源:

CryptoZombies (极力推荐)

FreeCodeCamp 的 16 小时智能合约课程


工欲善其事,必先利其器,学习完智能合约的课程手边总要经常使用一些工具:

开发语言的工具

重要框架

高级概念

  • NFT
  • DAO
  • DeFi
  • Upgradeability

其他工具

找个老师

先避坑,再学习。坑中王者,老谈趋势,碰到此类,一律拉黑。

老话说,事在人为,未来不可知,所谓趋势预测,都特娘扯淡,大部分是冲着割你韭菜去的,远离即可。

当年的STO(通证经济),后来的元宇宙,数字藏品,有一个成功的吗?包括当下火热的Web3都是一堆概念机而已。

如果还有人跟你讨论什么联盟链,公链,拉黑,无论什么链,都得有具体应用才能产生价值,否则都是扯犊子。

这个圈子坑多如毛,想发展,必先学会避坑:区块链避坑指南【2022年版】

正儿八经想入门,推荐阅读:?区块链入门108个知识点

任何人别信,用常识跟逻辑武装自己大脑,这是最好的趋势,没有之一!