首页 > 区块问答

学习区块链要学哪些相关知识?区块链学什么专业

发布时间:2024-04-03 12:02:47
OK欧意app

OK欧意app

欧意交易app是全球排名第一的虚拟货币交易所。

APP下载  官网地址

学习区块链要学哪些相关知识?

学习区块链技术,我个人建议从以下书籍和以下方式入手:

一、基础阶段:

1.《区块链开发指南》

作者多余比特币底层的研究可谓是非常深入,讲解的也非常通俗易懂。

2.《区块链技术指南》

作为国内第一本从技术角度讲解区块链的书籍,值得一读,2016年出版以来一致评价不错。

3.《区块链 原理、设计与应用》

陈昌前辈作为纸贵的CTO、记得之前的墨链就是基于Hyperledger Fabric的,所以这本书对于Hyperledger 相关开源产品的讲解很透彻。

二、以太坊部分:

1.以太坊介绍:

官网:Ethereum Project

中文学习社区:EthFans | 以太坊爱好者

GitHub:ethereu

2.以太坊白皮书:

中文版:EthFans | 以太坊爱好者

3.Solidity语言(以太坊开发推荐语言):

官网:Solidity - Solidity 0.4.19 documentation

4.web3.js(与以太坊交互的js api):

网址:https://github.com/ethereum/web3.js

论坛:web3-js

5.truffle框架:

官网:TruffleFramework.com - Truffle Suite

以太坊开发的瑞士军刀,几乎是一站式解决方案。

6.Open-zeppelin合约审查:

官网:OpenZeppelin

7.《Ethereum: Blockchains, Digital Assets, Smart Contracts, Decentralized Autonomous Organizations》:

没有中文版,只有亚马逊有卖

三、Hyperledger 开源项目学习:

1.Hyperledger 基本信息:

官网:Home

2.Fabric 学习:

官网:Hyperledger Fabric

四、其他:

1.BigchainDB:

官网:BigchainDB • • The scalable blockchain database powering IPDB.

2.IPFS:

官网:IPFS is the Distributed Web

这个据说是一个取代http的价值传输协议。

3.国内的布比:

官网:布比区块链,让数字资产自由流动起来

个人认为值得研究

《区块链技术原理与底层架构》这本书有详细讲解布比的技术实现。

首先我们需要了解区块链的概念:

区块链是由包含交易信息的区块从后向前有序链接起来的数据结构。它可以被存储为flat file(⼀种包含没有相对关系记录的 ⽂件),或是存储在⼀个简单数据库中。⽐特币核⼼客⼾端使⽤Google的LevelDB数据库存储区块链元数据。区块被从后向 前有序地链接在这个链条⾥,每个区块都指向前⼀个区块。区块链经常被视为⼀个垂直的栈,第⼀个区块作为栈底的⾸区 块,随后每个区块都被放置在其他区块之上。⽤栈来形象化表⽰区块依次堆叠这⼀概念后,我们便可以使⽤⼀些术语,例 如:“⾼度”来表⽰区块与⾸区块之间的距离;以及“顶部”或“顶端”来表⽰最新添加的区块。

在这推荐下面这本《精通比特币》:

智能合约:

智能合约是以太坊重要组成部分,以太坊有两种账户类型:一是普通转账的账户,利用密钥控制账户上的代币。另一种账户类型是合约类型账户。该类型账户可以部署逻辑代码,这样你可以在区块链上开发自己的应用。一般该类型应用成为Dapp,去中心化应用。

Solidity:

Solidity是一种语法类似JavaScript的高级语言。它被设计成以编译的方式生成以太坊虚拟机代码。在后续内容中你将会发现,使用它很容易创建用于投票、众筹、封闭拍卖、多重签名钱包等等的合约。目前所有智能合约都是由Solidity进行编写。

了解这三块基本可以编写区块链应用了。

首先区块链是比较新意的名词,区块链现在在互联网技术比较火爆。要学习这门技术你要先弄懂的理论知识,这个技术与比特币有关联,可以看一下《精通比特币》这本书。

笔者说一下学习这门技术的方法吧

基础阶段 学习区块链开发指南,这个是由比特币底层研究的,也非常深入,讲得也很清楚。还有学习区块链的原理和设计与应用,是基于hyperledger fabric的来讲述的。

以太坊部分 学习和掌握Solidity语言,web3.js技术,truffle框架,Open—zeppelin合约审查技术,Hyperledger开源技术,IPFS等技术,这些技术在网上都可以搜的到的这是笔者简单作答。

区块链主流语言:Go语言

1、Go语言介绍及开发环境搭建

2、基础类型

3、运算符

4、流程控制

5、函数

6、工程管理

7、复合类型

8、面向对象编程

9、异常处理

10、文本文件处理

前端开发

1、html与css

2、JavaScript

3、jQuery

Golang面试强化与脚本编程

1、前端框架

2、Node.js开发

3、Solidity语言

区块链公链开发

1、常用密码算法

2、常用密码协议

3、区块链概念(链与币、通证)

4、Golang区块链公链开发

区块链框架编程

1、Unix Shell脚本开发

2、HyperLedger Fabric的环境部署与搭建

3、HyperLedger Fabric框架

4、HyperLedger Fabric核心模块

5、智能合约与链代码

6、Solo多机多节点部署

7、Kafka集群

掌握Bitcoin,Ethereum,HyperLedger Fabric的

区块链相关机制与原理

JAVA开发语言Java是一种面向对象的编程语言,不仅吸收了c 语言的优点,也抛弃了在c 、指针等概念中难以理解多重继承的困难,因此Java语言具有强大且易于使用的两个特性。Java的特点是简单、面向对象、分布式、健壮、安全、平台独立性和可移植性、多线程和动态。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序。C 开发语言c 是C语言的继承,它可以是C语言程序设计的过程,也可以是抽象的数据类型,作为基于对象的编程的特征,也可以承担面向对象编程的继承和多态性。c 擅长面向对象编程,它也可以执行基于流程的编程,所以c 是问题大小的大小。GO开发语言Go是一种编译语言,它结合了解释语言的灵活性、动态类型语言的开发效率和静态类型的安全性。它还打算成为一种支持网络和多核计算的现代语言。为了实现这些目标,需要解决一些语言问题:一个具有表达性但轻量级的类型系统、并发和垃圾收集机制、严格的依赖规则等等。这些不能通过库或工具来解决,所以创建。Solidity开发语言Solidity是在Ethereum虚拟机(EVM)上运行的智能契约的高级语言。它的语法接近于Javascript,是一种面向对象的语言。但是当涉及到把网络作为一个真正的东西的时候,这是非常不同的。

到此,以上就是小编对于区块链 学什么的问题就介绍到这了,希望介绍关于区块链 学什么的1点解答对大家有用。

(责编: LR)

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

如有疑问请发送邮件至:goldenhorseconnect@gmail.com