区块链技术入门 | 区块链开发技术栈

如果你想要从事区块链行业,那么当前区块链技术开发划分必然值得一看。

大概我所了解的在区块链开发的分为区块链底层开发、区块链Dapp开发、区块链生态开发这三类。

如果想要从事与区块链底层开发,需要做以下三步:

1.Go语言基础,掌握流行区块链开发用到的Go库。

2.简单区块链搭建,掌握区块链基本概念与简单算法。

3.阅读商业级别区块链源码,了解区块链技术流行设计与最新技术。

 

最后要掌握的技能:

1.熟悉数据结构和算法,对密码学、安全协议和加密算法有研究;

区块链算法和密码学加密:这个需要了解看以下剑指offer或者leetcode,密码学也就是最基础的对称和非对称,加密算法包括RSA、ECC。至于安全协议不需要代码级别了解,只要了解概念即可。

2.理解各类主流的共识算法,包括不限于PoW,PoS,DPoS,PBFT,Paxos,Raft等;

区块链共识部分:这个很简单,只要会一些简单代码或者伪代码明确具体步骤即可,不需要和商业设计对接。

3.了解主流NoSQL数据库的原理与使用,尤其是KV型数据库,包括不限于LevelDB,RocksDB等;

区块链数据服务部分:这个需要掌握流行的数据库,即实现代码对数据库的增删改查即可。

4.了解HTTP/2协议,理解RPC框架,具备使用protobuf的开发实践经验;

区块链编码部分:这个需要对以太坊RLP进行了解,大公司可能需要代码级别操作,了解原理就会很简单了。RPC框架我推荐使用微服务,这个有造好的轮子,便于掌握。

5.有相关分布式系统架构和P2P网络系统开发经验者优先;

区块链P2P部分:这个最为重要,也就是这个是区分你和他人所在,需要完整的看一些区块链源码,了解P2P节点发现、区块交易数据同步、共识设置。

6.了解区块链技术(hyperledger、以太坊)者优先,有比特币或其他类似币类系统研究经验者优先;

区块链框架:这个是你和面试官侃大山时用的,这个最为基础,连这个都不会面试官会直接让你走人。

 

如果你想要从事区块链Dapp开发,这个目前招聘还比较少,需要做以下三步:

1.搭建以太坊网络、fabric网络,了解区块链基本概念。

2.了解最基本Go或者C++或者java,掌握solidity合约语言。

3.掌握nodejs开发,最基本JavaScript、html、css,了解前后端一些框架。

需要掌握以下技能:

1.熟悉WEB开发,了解前端开发流程

前端开发部分:这个掌握前端的流行框架,和基础前端语言。

2.熟悉Java、Nodejs

后台开发:掌握nodejs一些框架,譬如express、koa等,最好有自己的产品。

3.掌握常见的算法和数据结构,并拥有良好的编码能力;

算法能力:剑指offer。

4.合约语言

合约开发:这个比较简单,容易入门,去看一些流行和合约代码即可。

 

对于区块链生态开发部分,我不太了解,目前流行的有交易所和钱包开发,这个最好的掌握方式是查看源码。

我目前从事与区块链底层开发,也掌握区块链Dapp开发能力,如果想要了解具体技术的可以留言。

你可能感兴趣的:(区块链(Blockchain))