怎样成为一名区块链架构师
扫描二维码
随时随地手机看文章
有大量关于区块链的信息和宣传,如果不这样做,随着生态系统以惊人的速度发展,区块链很快就会过时。在这篇文章中,我详细描述了我正在进行的成为区块链架构师的旅程,这对任何想要沿着这条路走下去的人都有好处。
我不害怕风暴,因为我正在学习如何驾驶我的船。这篇文章是写给谁的?
这篇文章是为那些想进入区块链的人准备的。特别强调那些想要进入架构师角色的人,因此需要理解所有的理论,但是实际上不需要对任何东西有深入的了解。作为架构师,您应该知道如何在需要时从专家那里获得正确的知识。
我花了84小时来执行本文中的步骤,这是关于AWS解决方案架构师助理认证所需的承诺。您可以将此作为您自己培训的起点,然后深入您自己的角色需要的主题。
这是谁写的?
我的背景是:作为一名金融公司高性能计算方面的专家。最近,我去了一些国家,发现自己相对于当地需求为零的技术堆栈而言,我还是拥有高度专业的知识的。我认为最简单的方法是在纯管理或售前岗位上增加一倍的软技能。然而,一些人提出让我放弃过安全而无聊的生活的想法,并把我叫上了区块链的火车。
我最初的任务是训练自己使用区块链技术,这样我以后就可以为开发人员和业务干系人提供建议——就像我在高性能计算方面所做的那样。
不用说,我上了这条船了。我从TechHQ的新同事那里得到了很好的指导,现在我正在打算把它传递出去。
那我应该学什么呢?
考虑到这个领域的发展速度,区块链的文章在三个月左右就会过时,但是我仍然推荐Haseeb Qureshi的权威区块链开发指南作为起点。这篇文章是一篇真正的力作,塞尔吉奥·佩雷拉(Sergio Pereira)指出这是开始的最佳方式。您可以忽略我文章的其余部分,直接跳到Haseeb,这样就可以了。
如果你继续阅读(谢谢!)我将给出我所遵循的10个步骤,并估计每一个步骤花费的所需时间。
实现一个python区块链:20小时。这是一个有趣的练习,我想说的是,如果以后你想理解和应用区块链与数据库的不同之处,那么了解区块链在数据结构层次上如何工作是很重要的。我只是做了数据结构和工作量证明挖掘过程来创建块。向区块链添加应用程序数据很简单,在此阶段不需要实现共识算法。
Cryptozombies.io: 8小时。很好的介绍了坚实的编码和最佳实践方式。与JavaScript非常相似,您可能会开始怀疑是否要立即编写可靠的任务关键型软件。
Remix / remixd / git: 4小时。Remix是一个很好的入门IDE,特别是如果您打算更多地停留在后端,并且不愿意学习javascript。我发现将remix与笔记本电脑中的本地文件夹连接起来比较容易,这样我就可以使用Git了。
以太坊众筹教程: 4小时。此时,我觉得我可以在没有帮助的情况下稳定地编写代码,即使知道它的质量不高。
阅读ICO白皮书:8小时。作为一种消遣,我阅读了一堆基于区块链应用程序的白皮书,以了解用例和社区中正在发生的事情。我有一种感觉,有些人想要解决现实世界的问题,有些人想要一大笔钱,有些人想要摧毁资本主义,进行革命。我确实看到了一些实际的用例。
最佳实践:4小时。此时,我已经意识到智能合约是不可变的、公开的,所以我决定学习一些最佳实践,以避免自己在未来陷入尴尬境地,同时又不会从客户那里损失数百万美元。Cryptozombies.iotutorial提供了很多很好的建议,OpenZeppelin审计非常值得一读,而来自consensus sys的最佳实践文档是相当的经典。
crowdfund单元测试:12小时。Truffle 允许进行单元测试,我对此很感兴趣。通过创建它们,我确实学到了很多有用的东西,足以减轻我的开发培训,并继续研究存在哪些区块链实现,以及它们之间如何进行比较。
创建 parity校验环境:12小时。以太坊是目前领先的区块链平台,我被指示使用 parity校验来创建联盟网络,我们计划在TechHQ中进行广泛使用。安装 parity校验使我更好地理解了以太坊的生态系统,而且即使现在你得到的都是Docker的图片,你也不能期望它的用户友好性。感觉就像在世纪之交安装Linux一样。
阅读关于区块链实现的文章: 8小时。此时,我清楚地理解了区块链实现(比特币、以太坊、EOS)之间的区别。IO, Hyperledger, Corda,等等),它运行在一个较低的层次,比你在ICO白皮书中看到的所有其他应用都要低。通过对区块链平台的比较,我了解了公共实现和联合实现的不同用例、如何确保隐私、什么是最终结果、性能如何取决于所选择的共识算法以及用于构建解决方案的不同选项的成熟度。
如果你看到了这里,恭喜你!现在你对区块链有了足够的了解,知道自己几乎一无所知,也不要难过。
一些最后的想法
区块链技术领域还很不成熟,学习曲线很短。几个月坚持不懈的努力就足以达到顶峰,即使在技术稳定下来的时候,你也必须进行快速学习。
您应该集中学习区块链数据结构的特殊之处,如何编写智能合约,以及协商共识算法对您区块链网络的影响,以便为您的客户提供有价值的建议。
一个使用区块链的架构良好的解决方案将有90%的代码用一个普通的技术栈完成,并且智能合约的复杂性将是最小的。目前的区块链版本是非常不成熟的,目前还不清楚从现在开始的两年内将使用哪种语言来编写智能合约。如果可以的话,我希望能用python来做。
在区块链实现之间有一场激烈的争夺。现在还没有一家企业足够成熟,但如果你打算拥有先发优势,你就需要关注于这一点。
我非常高兴我选择了这条道路,能够成为这样一个充满活力的环境的一部分,能够解决基本问题,这真的很令人兴奋。
来源: 区块网