前言
学习区块链已经有一个多月了,现总结下我在学习区块链的过程中的学习记录,比较优秀的资料以及遇到的问题,希望能够帮助后面的人。(PS:下面的资料的整理,是对资料的分类整理。并不是让读者按照下面的资料的顺序进行学习。)此外,有些链接需要科学上网,如果无法打开,请自行检查网络。
1. 区块链白皮书相关
学习区块链首先要读白皮书,现在我把我读过的一些比较重要的白皮书及其解读贴出来。供读者参考。
1.1 比特币白皮书相关
1.2 以太坊白皮书相关
1.3 第三方白皮书
(说明,此部分白皮书等学习资料仅用于学习交流,请勿他用)
1.3.1 一些组织的白皮书
- 工信部白皮书2018版(密码:zom4)(建议读下)
- 布比区块链白皮书(密码:pybb)
- 腾讯区块链白皮书(密码:ih98)
- 京东区块链白皮书(密码:oruj)
1.3.2下面是一些存储相关的白皮书
storj相关
ipfs相关
2.一些比较好的区块链书籍
下面贴出一些比较好的区块链相关书籍。
- 以太坊技术详解与实战:本书深入剖析以太坊架构、核心部件、智能合约编写与开发案例等关键技术,并涵盖以太坊数据分析、性能优化、隐私与数据安全等前沿实践与进展。
- 区块链技术指南
- 区块链 从数字货币到信用社会(建议读下)
- 区块链原理、设计与应用
3.编程语言Solidity相关
solidity是基于Ethereum用来编写智能合约的语言。
文档
说明:不要看solidity的中文文档,比如极客学院的文档,以及solidity的官方中文文档,很多地方都有错误的地方。一些博客写的还是不错的,我上面读的两个博客都不错。
4.一些好用的编辑器
remix相关,适用于Ethereum智能合约的初学者
geth相关,Ethereum官方推荐的编辑器,采用go语言编写
Atom相关,轻量级的支持Solidity的编辑器
- Atom地址
- 代码自动补齐插件:autocomplete-solidity
- 代码错误检查插件:linter-solidity
- 代码高亮插件:language-ethereum
5.智能合约编译部署相关
Truffle是目前最流行的以太坊开发框架,采用JavaScript编写,支持智能合约的编译、部署和测试。其中,可以用ganache取代testRpc。
6.以太坊相关知识
7.以太坊名称管理ENS
ENS是以太坊名称服务,一种基于以太坊区块链的分布式,开放和可扩展的命名系统。ENS可以理解为以太坊为我们提供的免费的域名服务,我们只需要缴纳押金和执行智能合约的gas,等到不想用的时候,ENS会把钱退给我们。
8.以太坊建议和改进计划(EIP/ERC)
9.以太坊存储相关
不可能把用户的所有数据都存到链上,链上只用来保存主要的信息。
其中,IPFS用基于内容的寻址替代传统的基于域名的寻址,用户不需要关心服务器的位置,不用考虑文件存储的名字和路径。
uPort是一个数字身份平台
Linnai是一个区块链的协议,Linnia为了把分布式的数据与区块链网络上的一个真实的身份对应起来,并且可以为该身份的数据设定访问权限。
下面主要来源是Consensys项目,分别是ipfs.js项目,IPFS-Store项目,SensuiMod项目,Linnia-Smart-Contracts项目。