本文共 3510 字,大约阅读时间需要 11 分钟。
如何成为一个区块链开发人员
在过去的十年中,去中心化技术的发展非常有趣。 在2009年之前,进展缓慢,没有任何明确的方向,直到中本聪创建并部署了比特币。 这使区块链(比特币背后的记录保持技术)备受关注。
从那时起,我们已经看到区块链彻底改变了我们过去认为理所当然的各种概念,例如监视供应链, 和 IBM和三星等公司处于区块链的最前沿,作为下一波技术创新浪潮的基础架构。 毫无疑问,区块链的作用将在未来几年内增长。
因此,对区块链开发人员的需求很高就不足为奇了。 LinkedIn将“区块链开发人员”放在其2018年的首位,预计增长33倍。 自由职业者网站Upwork还发布了一份报告,显示在其5,000多个索引中,区块链是之一。
( 在2003年描述互联网时 :“我们正处于1908年赫利洗衣机时代。” 今天对于区块链也可以这样说。 该行业正忙于建立基础。 如果您一直在考虑从事区块链开发人员的职业,那么现在该踏上大门了。
但是,您可能不知道从哪里开始。 试图找到立足之地时,浏览无数的博客文章和白皮书或凌乱的Slack渠道可能会令人沮丧。 本文是关于我在考虑是否应该成为区块链开发人员时学到的东西的报告。 我将从基础知识入手,并为您准备好行业所需的每个主题的资源。
尽管不会指望您从头开始构建区块链,但是您需要足够熟练以处理区块链开发的职责。 需要计算机科学或信息安全学士学位。 您还需要在数据结构,密码学以及网络和分布式系统方面具有一些基础知识。
区块链的复杂性要求对数据结构有深入的了解。 从本质上讲,分布式分类帐就像复制数据库的网络一样,只是它以块而不是表的形式存储信息。 块也受到密码保护,以确保每次添加块时其完整性。
因此,您必须知道常见的数据结构(例如二进制搜索树,哈希图,图和链接列表)如何工作。 如果您可以从头开始构建它们,那就更好了。
该包含新手学习数据结构和算法所需的所有信息。 特色语言包括Python,Java,Scala,C,C-Sharp和C ++。
密码学是区块链的基础; 这就是使加密货币起作用的原因。 比特币区块链采用公钥加密技术创建数字签名和哈希函数。 如果您没有很强的数学背景,您可能会灰心,但是斯坦福大学提供 ,非常适合新手。 您将了解有关经过身份验证的加密,消息完整性和分组密码的信息。
您还应该学习 ,它不需要很强的数学背景,并研究 (椭圆曲线密码学)。
并且不要忘记 。 它们是使Internet上大多数形式的加密成为可能的方程式。 它们可确保电子商务网站上的付款安全,并且是HTTPS协议背后的核心机制。 区块链中广泛使用加密哈希函数。
为了解分布式分类帐的工作方式奠定良好的基础。 还了解对等网络的工作方式,从网络拓扑到路由,这为计算机网络奠定了良好的基础。
在区块链中,处理能力是通过连接的计算机来利用的。 为了在这些设备之间无缝记录和交换信息,您需要了解 ,这是区块链中的关键安全功能。 您不需要了解所有信息。 对分布式系统如何工作的理解就足够了。
如果您需要从头开始,斯坦福大学会提供免费的自学 。 您也可以查阅此列表。
我们已经介绍了一些最重要的技术知识。 现在该谈论这个行业的经济学了。 尽管加密货币没有中央银行来监控货币供应量或使加密公司受到控制,但了解它们周围的经济结构至关重要。
您需要了解博弈论,这是用于建模场景的理想数学框架,其中涉及各方之间存在利益冲突。 看看Michael Karnjanaprakorn的 。 这很清楚,也有很好的解释。
您还需要了解影响货币估值的因素以及影响加密货币的各种货币政策。 您可以参考以下几本书:
根据您的熟练程度,您无需阅读所有这些材料。 但是一旦完成,您将了解区块链的基础知识。 然后,您可以深入研究好东西。
是一旦交易完成就可以在区块链上运行的程序,以增强区块链的功能。
与传统的司法系统不同,智能合约是自动,公正地执行的。 也没有中间人,因此您不需要律师来监督交易。
随着智能合约变得越来越复杂,它们变得越来越难以保护。 您需要了解执行智能合约的所有可能方式,并确保它能够完成预期的工作。 目前,没有多少开发人员可以适当地优化和审核智能合约。
去中心化应用程序(DApp)是基于区块链构建的软件。 作为区块链开发人员,您可以在多个平台上构建DApp。 这里是其中的一些:
以太坊是Vitalik Buterin的创意。 它于2015年上线,是最受欢迎的开发平台之一。 以太是为以太坊加油的加密货币。
它有自己的语言,称为Solidity,类似于C ++和JavaScript。 如果您有任何经验,就可以轻松选择。
使Solidity独特的一件事是它是面向智能合约的。
NEO最初称为Antshares,由2014年的Erik Zhang和Da Hongfei创立。在2017年成为NEO。与以太坊不同,它不仅限于一种语言。 您可以使用不同的编程语言在NEO上构建DApp,包括C#和Java。 经验丰富的用户可以轻松地在NEO上开始构建DApp。 它专注于为未来的数字业务提供平台。
如果您的应用程序每秒需要处理大量事务,请考虑使用NEO。 但是,它与中国政府密切合作并遵守中国的商业法规。
EOS区块链旨在成为可支持工业规模应用程序的分散式操作系统。 它基本上类似于以太坊,但是具有更快的交易速度和更大的可扩展性。
Hyperledger是创建用于开发跨行业区块链技术的开源协作平台。 Linux基金会将Hyperledger托管为开放式工业区块链开发的枢纽。
这里有一些课程和其他资源,可以帮助您成为行业就绪的区块链开发人员。
区块链开发者真正做什么? 它不涉及从头开始构建区块链。 根据您工作的组织,这是区块链开发人员的一些类别。
在这种情况下,开发人员负责:
区块链开发人员和项目经理属于此类。 它们的主要作用包括:
要求这类开发人员知道诸如Solidity,Python或Go之类的智能合约语言。 它们的主要作用包括:
有广泛的知识基础可以帮助您成为区块链开发人员。 如果您有兴趣加入该领域,这是您通过开拓下一波技术创新而有所作为的机会。 它的价格非常高,需求量很大。 您还可以加入一个广泛的社区,以帮助您成为一名实际的开发人员,包括和全球聚会活动。
银行业,保险业,政府和零售业是区块链开发商可以工作的一些领域。 如果您愿意为此工作,那么成为区块链开发人员是一个绝佳的职业选择。 目前,需求远远超过了可用人才。
翻译自:
如何成为一个区块链开发人员
转载地址:http://zqczd.baihongyu.com/