原文标题:“区块链工程师**正在进行中,我该如何进入这个行业?》
作者:亚历克斯·罗恩
翻译:核能可乐
关键是,你想去这个碗吗。
近日,中国人民银行数字货币研究院发布“未来在期待”**信息,这也是该院半年来第三次公开**相关人才。职位包括但不限于“前端研发工程师”、“大数据工程师”、“区块链工程师”。工作地点位于深圳、北京和苏州。
此外,中国银联正在**区块链研究的中**工程师。根据**信息,中级工程师的职责包括区块链场景实施的技术实施,**工程师的职责包括区块链各种业务产品的系统分析和规划,并承担系统架构设计、核心功能代码编写等相关工作。
区块链开发人才已成为产业发展的重要支撑。无论你以前写过代码,还是有多年的软件开发经验,你都需要一系列新技能才能成长为区块链开发者。但如果你不熟悉这个行业,很难确定具体的技能组合。
为了解决这个问题,本文就为大家介绍一些通用的区块链技能要求。
从头开始
对于那些很少或没有编码经验的人,请从以下技能开始,然后学习更多**技能。如果您已经熟悉编码,请跳过本节。
命令行
“命令行界面以文本行的形式处理指向计算机程序的命令。”
-****
适应命令行是新软件开发人员的第一课。一开始,命令行看起来枯燥无味,但一旦你习惯了,你肯定会觉得你离不开它。
当然,**的起点是学习UNIX或Linux命令行界面。大多数开发活动都是在类UNIX的系统上完成的。如果您使用的是Mac,那么内置终端(cli)是基于UNIX的,功能相当强大。如果只有windows计算机,请尝试cygwin Linux模拟器。
这里的重点是学习如何使用命令,摆脱点击界面与计算机交互的习惯。
相关链接
Javascript
“JavaScript是一种脚本或编程语言,它允许您在网页上实现复杂的功能-无论何时网页需要执行静态呈现以外的操作,包括及时显示内容更新、交互式地图、动画2D/3D图形、滚动视频自动存储塔等,都可能涉及到JavaScript。”
-Mozilla公司
JavaScript主要是一种互联网语言。目前,每一个web浏览器都支持,大多数web页面都或多或少地运行代码。它是一种客户端脚本语言,因此代码被发布到执行计算的客户端(web浏览器)。这与使用PHP在服务器端完成计算,然后在处理后将结果标记发送给客户端的相反。
这里有一些关于W3Schools的**教程,供初学者、中级用户和**用户使用。
相关链接
节点
” 节点.是一套开源、跨平台、JavaScript运行环境,可以在web浏览器之外执行JavaScript代码。”
-****
Node使开发人员能够使用JavaScript编写服务器端应用程序。Node可以承载多种框架,帮助用户在node上创建和部署任何形式的应用程序。目前,很多区块链框架都是建立在node上的。
区块链基础
“从最简单的意义上讲,区块链是一系列带有时间戳且不可变的数据记录。这些记录由不属于任何单个实体的计算机群集管理。这些数据块(即块)受保护,并使用加密原理(即链)相互绑定。”
— Blockgeeks.com网站
什么是区块链?它是如何工作的?有什么共识机制?什么是节点?什么是智能合约?理解这些问题的基本答案对于开发实际区块链应用程序至关重要。Blockgeeks.com网站这是一个很好的平台,你可以在这里开发任何级别的学习项目。我们强烈建议你亲自去试试。
相关链接
区块链特长
在这一点上,您应该有一些编码经验,但不知道从哪里开始。让我们来看看开发区块链解决方案所需的基本技能,主要针对以太坊生态系统。
坚固性
Solidness是一种面向对象的编程语言,用于编写智能合约。它被用于在各种区块链平台上实施智能合约,其中最**的就是以太坊。”
-****
如果您已经有JavaScript、C++或其他现代面向对象语言的经验,您一定会发现SOLidness的语法并不难掌握,因为它的设计很大程度上受这些语言的影响。
智能合约是不变的。所谓不可变对象,是指创建后状态不能修改的对象。智能合约部署完成后,您将无法更改它或使用新版本逐步改进您的智能合约。你可以把智能合约看作是需要经得起时间考验的纪念碑。
以太坊存储在智能合约中,就像其他以太坊地址(钱包)一样。它还可以发送和接收以太网到其他地址。通过创建智能合约,你就相当于在网络上部署了一套规则,任何选择使用它的人都会自愿同意遵守它。这是一个强大的功能,因为合同内容可能会被黑客利用,因为一个小小的错误。然而,由于智能合约涉及的每个人都需要同意条款(即代码或代码),这里的“黑客”可能并不准确。简而言之,即使智能合约被技术破解,恶意的人也必须遵守规则——只有规则本身才有问题。
ETHunm基金会提供的指导文件充分说明了如何用坚实的语言编写智能合同。
相关链接
网络3.
“Web3.是一组库,使您能够使用HTTP或IPC连接与本地或远程以太坊节点交互。”
-Web文档
Web3在传统的内部世界和去中心化的世界之间架起了桥梁。我们通常使用Web3通过metamask等浏览器扩展将以太坊块链接到客户端浏览器中。不幸的是,最常见的web浏览器不支持现成的Web3,因此必须使用metamask实现它。
网络3。库可以很容易地安装到任何JavaScript项目中,并允许您的DAPP从用户定义的区块链发送或检索信息。本地、测试网和以太坊主网可以通过metamask连接到web3.。
以下是Web3提供的一些常见实用功能。。Web3还有一个python实现。
相关链接
松露套房
“Truffle suite使开发人员能够以***的方式完成从概念到DAPP的开发过程。”
-松露套房
Truffle是一个有助于开发、测试和部署全栈去中心化应用程序的框架。松露含有许多奇妙的特征。
首先是框架本身。它提供了一个**的开发环境,您可以在几分钟内编写和部署智能合约,而且它的测试框架也易于使用。您可以选择SOLidness和JavaScript来测试智能合约,并且可以通过命令行轻松地将契约部署到任何测试网络或主网络。
下一个是本地RPC区块链或ganache。在一个区块链环境下,你可以在一个很快的开发一个区块链的环境中,用两次点击就可以很快地开始开发。
根据当前教程,您应该学习如何根据当前的建议部署区块链。
相关链接
文章标题:区块链工程师的自我培养:solidness、web3.js、truffle Suite
文章链接:https://www.btchangqing.cn/152462.html
更新时间:2020年12月02日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。