BLOCK CHAIN PROJECT ONE-STOP PLANNING SERVICE
目前区块链开发分为两种,一种是底层的开发,简单说就是造轮子;另一种是上层应用开发,类比现在IOS和安卓相当于开发APP。现在的区块链行业就像是上个世纪软件生态之争,做底层的不少,也很火热,需求很高。但是对于未来而言不做底层,而选择做上层应用更好。底层的开发需要的技能点特别多,一般区块链底层语言会选择高性能的编译性语言,如比特币用的C++,以太坊有C++和Golang的实现,而Hyperledger全部使用的Golang,这些都在Github上开源,你可以看看他们的底层语言。一般很少特别少几乎没有使用Java,如果你的技术栈是Java,建议可以学习一下Golang。
区块链本质上是一个分布式的数据库,所以说对于分布式网络以及数据库知识也是必要的,数据库方面所有的区块链为了性能上的考量都是用的NoSQL,也就是key-value数据库,一般都是使用的google的levelDB。而分布式网络,学习P2P,再进一步深入TCP/IP学习也是很重要的。加密算法都是现有的库,直接import就可以了,密码学的知识不深入做底层太难太难。
共识算法,很学究的事情,这个一般都是学习已有的,国内的小蚁以及超级账本使用的拜占庭容错算法,比特币的PoW算法,比特股的PoS算法等,算法层面造轮子不是这么简单。超级账本算是区块链金融领域的Linux,很多金融机构都是基于Fabric进行业务的,如果不想造轮子,我建议学习Fabric。
再者,区块链和现有的技术还不一样,有必要的时候必须学习什么叫区块链、区块链是什么和区块链金融方面的知识,如果区块链底层有代币,而你不懂金融方面的内容,做得会很懵。想要从其他行业转型过来,一定要先把区块链这门学问吃透、搞懂,花点心思,吃点苦头或许将来就会在区块链这行业找到自己的出路。
YOUR REQUIREMENTS