以太坊的入门学习路线
一、了解什么是区块链?
区块链是借由密码学串接并保护内容的串连文字记录(又称区块)。
特点:
- 去中心化、不可伪造、不可虚构、不可篡改。
- 每个区块的块头包含了前一区块的交易信息的压缩值。
学习途径
mooc视频
看完后会对区块链是什么,能干什么,用来解决哪方面的问题有一定的认知。
密码学作为网络空间安全的重要基石之一,由于在区块链中的综合运用而大放异彩。通过区块链学习相关密码学技术的原理,在掌握密码学原理的基础上深入理解区块链的原理和应用机制。
进一步了解偏向于区块链底层的知识。
书籍
论文
读大量的论文,可以了解到区块链的发展史和一定的底层知识,如层级架构、共识机制等,以及论文作者用区块链去解决某一实际问题的思想。
文档
二、如何学习区块链?
确定开发技术
在了解了一定区块链方面的知识后,就要进行区块链开发方面的学习了。
首先得确定开发使用的技术,如:区块链2.0(以太坊(ethereum))、区块链3.0(超级账本(Hyperledger))。
以太坊(英语:Ethereum)是一个开源的有智能合约功能的公共区块链平台[1][2]。通过其专用加密货币以太币(Ether,又称“以太币”)提供去中心化的虚拟机(称为“以太虚拟机”Ethereum Virtual Machine)来处理点对点合约。
以太坊的概念首次在2013至2014年间由程序员维塔利克·布特林受比特币启发后提出,大意为“下一代加密货币与去中心化应用平台”,在2014年透过ICO众筹得以开始发展。
超级账本是一个开源软件社区,着力开发一套稳定的框架,工具和程序库,用于企业级区块链部署。
超级账本是各种分布式账本技术的一个中立的家,包括 Hyperledger Fabric, Sawtooth, Indy, 以及工具软件如 Hyperledger Caliper 和库程序如 Hyperledger Ursa.
搭建开发环境
Truffle是针对基于以太坊的Solidity语言的一套开发框架。本身基于Javascript。
Web3.js库是一个javascript库,用于与以太坊区块链进行交互。
项目开发选择的是以太坊,之后搭建以太坊开发环境,用到的技术或组件Ganache,Truffle框架、Solidity语言、Web3.js、前端技术等。具体搭建步骤可参考这篇文章。
搭建完环境,进行实例测试(照猫画虎),随便跑通一个官方给出的实例。
学习相关技术
-
Solidity合约编程学习
-
Javascript学习
学习基础语法即可,为Truffle和Web3.js打基础。
-
Truffle框架学习
-
Web3.js学习
-
前端技术
html、css基础
React、Vue等框架学习
实践场地
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bx8QSlqD-1593677270722)(https://i.loli.net/2020/07/02/8OT5mCZ62eAuWcD.png)]
唯一缺点,听不太懂人家说啥😢
-
Solidity Path: Beginner to Intermediate Smart Contracts(6课时)
练习Solidity合约的编写。
-
Advanced Solidity Path: Get In-depth Knowledge(5课时)
o Intermediate Smart Contracts(6课时)
练习Solidity合约的编写。
-
Advanced Solidity Path: Get In-depth Knowledge(5课时)
前两课时是Truffle的相关知识。
想要阅读更多博客请点击这里查看–>https://lisongbai.top/