以太坊的入门学习路线

以太坊的入门学习路线

一、了解什么是区块链?

区块链是借由密码学串接并保护内容的串连文字记录(又称区块)。

特点:

  1. 去中心化、不可伪造、不可虚构、不可篡改。
  2. 每个区块的块头包含了前一区块的交易信息的压缩值。

学习途径

mooc视频

区块链技术与应用

看完后会对区块链是什么,能干什么,用来解决哪方面的问题有一定的认知。

区块链中的密码学

密码学作为网络空间安全的重要基石之一,由于在区块链中的综合运用而大放异彩。通过区块链学习相关密码学技术的原理,在掌握密码学原理的基础上深入理解区块链的原理和应用机制。

进一步了解偏向于区块链底层的知识。

书籍

Netkiller手扎

论文

读大量的论文,可以了解到区块链的发展史和一定的底层知识,如层级架构、共识机制等,以及论文作者用区块链去解决某一实际问题的思想。

文档

官网

学习文档

二、如何学习区块链?

确定开发技术

在了解了一定区块链方面的知识后,就要进行区块链开发方面的学习了。

首先得确定开发使用的技术,如:区块链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库,用于与以太坊区块链进行交互。

项目开发选择的是以太坊,之后搭建以太坊开发环境,用到的技术或组件GanacheTruffle框架、Solidity语言、Web3.js、前端技术等。具体搭建步骤可参考这篇文章。

搭建完环境,进行实例测试(照猫画虎),随便跑通一个官方给出的实例。

实例在这里

学习相关技术

  1. Solidity合约编程学习

    Solidity0.5.0官方文档

    非官方文档

  2. Javascript学习

    JavaScript学习教程

    学习基础语法即可,为Truffle和Web3.js打基础。

  3. Truffle框架学习

    truffle调试智能合约

    truffle官方教程

    truffle非官方教程1

    truffle非官方教程2

  4. Web3.js学习

    Web3.js1.2.0官方文档

    非官方文档

  5. 前端技术

    html、css基础

    React、Vue等框架学习

实践场地

视频教学

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bx8QSlqD-1593677270722)(https://i.loli.net/2020/07/02/8OT5mCZ62eAuWcD.png)]

唯一缺点,听不太懂人家说啥

Loom

  1. Solidity Path: Beginner to Intermediate Smart Contracts(6课时)

    练习Solidity合约的编写。

  2. Advanced Solidity Path: Get In-depth Knowledge(5课时)

o Intermediate Smart Contracts(6课时)

练习Solidity合约的编写。

  1. Advanced Solidity Path: Get In-depth Knowledge(5课时)

    前两课时是Truffle的相关知识。


想要阅读更多博客请点击这里查看–>https://lisongbai.top/

你可能感兴趣的:(以太坊学习路线)