Go语言与区块链——阶段性学习建议

2019年Go语言与区块链

链接: https://pan.baidu.com/s/1rtstZKws3t9L8bcFZmUd3Q 提取码: gx1r

阶段一:区块链主流语言:Go语言开发实战

本阶段需要掌握Linux和Windows双系统开发环境,建立面向对象思维,能对问题进行抽象归类。掌握基础的并发理论。

主要内容包括有:Go语言介绍及开发环境搭、基础类型、运算符、流程控制、函数、工程管理、复合类型、面向对象编程、异常处理、文本文件处理、案例:开发实战。

阶段二:区块链后端技术体系:Go语言高并发服务器开发

区块链知识体系,是后端编程的知识体系。以太坊,瑞波币,比特币目前主流的区块链成型项目多数都是选择Go语言和C++语言实现,所以搭建后端服务编程知识体系才是打好区块链开发的首选基石,对于今后发展至为重要。

本阶段主要内容包括:Linux命令、linux开发与调试工具、系统I/O操作、进程与IPC通信、线程与同步、goroutine协程与调度器、channel管道与CSP同步机制、网络协议与网路编程、案例:Go高并发服务器开发实战、案例:Go并发的爬虫系统开发实战。

阶段三:去中心化前端开发与web服务器开发

去中心化Dapp的页面开发还是基于传统的Web2.0的技术,html/css/javascript是整个互联网页面的基石,学好他们,打好基础非常重要。

Beego是目前大型互联网公司主流的web服务器框架,由于Go先天性支持高并发,所以很多大型互联网公司都在web服务框架做Go语言的转型,这样可以轻松实现亿万级别的高并发,更加节约企业运营成本。

本阶段的主要内容是:关系型数据库-mysql、no-sql缓存型数据库-redis、分布式文件系统fastDFS、前端开发、git、beego框架、大项目。

阶段四:区块链密码学安全理论与开发
区块链技术实际上是一种对数据安全更加完善和抗风险技术,所以密码学是区块链技术的必备知识。本阶段课程中会包括区块链底层实现中常见的密码学和安全密码协议。

阶段五:区块链与智能合约开发
了解区块链系统基本原理,基于Go语言能够给企业定制区块链系统。
掌握主流区块链(Bitcoin,Ethereum)相关机制与原理,理解各类主流的共识算法(PoW,PoS,DPoS),熟练掌握区块链系统Go开发语言,能基于以太坊编写智能合约,能编写和发布代币。

阶段六:分布式微服务开发
区块链实际上是一种分布式的记账本,分布式的概念对于区块链开发很重要,该阶段课程主要解决企业常见虚拟化部署及微服务相关分布式主流技能,Go语言作为Docker的开发语言,更是捧红了分布式的生态,所以分布式助于理解区块链的去中心化。本阶段的主要内容包括:虚拟化VS容器化、Docker与Kubernetes(k8s)实战、分布式编程理论、Go语言与微服务;

阶段七:区块链系统框架开发

hyperledger是IBM公司支持,linux基金会孵化的区块链商业级开发平台。hyperledger Fabric是完全用Go语言实现的,hyperledger是可以广泛运用在私有链和联盟链上,国内有众多的大公司都加入了hyperledger联盟。本阶段的主要内容包括:区块链Hyperledger Fabric联盟链框架、Hyperledger Fabric智能合约的开发与部署、Hyperledger Fabric + Go/Node.js 链码开发、华为BCS区块链平台开发实战。

原文地址:https://blog.51cto.com/aino007/2399306

时间: 2024-10-09 01:40:24

Go语言与区块链——阶段性学习建议的相关文章

基于Go语言构建区块链:part1

Golang语言和区块链理论学习完毕后,快速入门方法无疑是项目实战.本文将参考https://jeiwan.cc/tags/blockchain/教程,学习如何基于Go语言构建区块链. 1.编程环境设置 编程工具使用GoLand,前文已介绍软件安装经验.软件安装完成后,还需要设置工作路径"GOPATH".在电脑上新建一个空白目录,然后点击点击Goland菜单按钮:"File"->"Settings"->"GO"-&

基于Java语言构建区块链(一)—— 基本原型

引言 区块链技术是一项比人工智能更具革命性的技术,人工智能只是提高了人类的生产力,而区块链则将改变人类社会的生产关系,它将会颠覆我们人类社会现有的协作方式.了解和掌握区块链相关知识和技术,是我们每位开发人员必须要去做的事情,这样我们才能把握住这波时代趋势的红利. 本文将基于Java语言构建简化版的blockchain,来实现数字货币. 创建区块区块链是由包含交易信息的区块从后向前有序链接起来的数据结构.区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块.以比特币为例,每个区块主要包含

为什么要用golang语言进行区块链编程开发?

Go语言现在常常被用来做去中心化系统(decentralised system).其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地. 我们在决定做Karachain的时候,考量(benchmark)了C,C++, Java, 甚至NodeJs,我们也试着用一些算法来作为考量标准.而现在,我表示我们正在用Go来实现此目标,并且感觉不错. 啊,现在建造一个区块链,恰如当时建造一个操作系统! 我们在建造像区块链平台这样复杂的东西时,把注意力放在了那些核心问题上.经过差不

区块链入门学习资源

众所周知去年比特币大涨,很多人都投入到挖矿或者投资比特币上,而比特币的底层技术是区块链.所以导致最近区块链技术火热,区块链声称能够改变未来的互联网,让其能够成为一个能够传递价值的互联网.很多小伙伴也纷纷想投入到区块链的学习,虽然这是一项08年就提出的技术,可是到近年来才开始被广泛受到关注.所以网络上的学习资源也参差不齐,我这里就介绍一些我看到过的,而且还不错的入门学习资源.后续如果看到一些好的学习资源也会在这里更新. 如果英文好的话还可以不局限于国内的资源,国外的学习资源更丰富,还有教学视频啥的

基于Java语言构建区块链(三)—— 持久化 & 命令行

引言上一篇 文章我们实现了区块链的工作量证明机制(Pow),尽可能地实现了挖矿.但是距离真正的区块链应用还有很多重要的特性没有实现.今天我们来实现区块链数据的存储机制,将每次生成的区块链数据保存下来.有一点需要注意,区块链本质上是一款分布式的数据库,我们这里不实现"分布式",只聚焦于数据存储部分. 给大家推荐一个java内部学习群:725633148,进群找管理免费领取学习资料和视频.没有错就是免费领取!大佬小白都欢迎,大家一起学习共同进步! 数据库选择 到目前为止,我们的实现机制中还

小蚁区块链非主流学习笔记(一)

走进区块链,小蚁区块链学习笔记 ? 因为对虚拟机技术有一些了解,我受邀成为了小蚁的核心开发者. https://www.antshares.org ? 帮助开发了小蚁虚拟机的c#编译模块,以此为契机,让我走近了本来和一个游戏人没啥关系的金融开发领域. ? 立此存照,开始学习区块链技术.

比特币以及区块链原理学习

2018年春节过后区块链技术一下子火爆起来了,本人也对该技术十分感兴趣,因此想研究下区块链技术的原理,看看区块链背后那些技术值得去研究.由于自己缺乏实际的开发经验和使用经验,文中难免会有些理解不到位,本文主要的目的还是想将最近的学习梳理总结一下. 一.概述 比特币是存储在计算机里一枚货币,计算机存储的本质就是一串数字,那么存储比特币的这串数字为什么就可以等同于真正的货币呢?而且比特币让人感觉很像黄金,不管这黄金从什么渠道获取(从沙子里掏的,还是自己购买的),人类都会认同它的财富价值. 说到比特币

001/Go语言构建区块链(mooc)

1.区块链发展与现状 视频地址:https://www.imooc.com/video/17452 注意: 比特币与以太坊最大的区别在于: 以太坊引入了对图灵完美智能合约的支持,人们可以将任何业务逻辑以合约的形式写入区块链,在以太坊前,发行自己的数字货币,就需要搭建一个独立的区块链网络. 比较稳定,被拿来研究的区块链系统: [1].超级账本 本身不是一个完整的区块链系统,而是方便企业搭建自己的区块链框架.各个组件,如数据存储,共识算法等,都可以灵活替换与组装.对智能合约也有很好的支持. 因此常被

零基础学习区块链技术?去哪里比较好?

首先不要把区块链想的过于高深,他是一个分布在全球各地.能够协同运转的数据库存储系统,区别于传统数据库运作--读写权限掌握在一个公司或者一个集权手上(中心化的特征),区块链认为,任何有能力架设服务器的人都可以参与其中.来自全球各地的掘金者在当地部署了自己的服务器,并连接到区块链网络中,成为这个分布式数据库存储系统中的一个节点;一旦加入,该节点享有同其他所有节点完全一样的权利与义务(去中心化.分布式的特征).与此同时,对于在区块链上开展服务的人,可以往这个系统中的任意的节点进行读写操作,最后全世界所