写点什么

区块链工程师招聘进行时,我该如何入行?

  • 2020-12-01
  • 本文字数:2643 字

    阅读完需:约 9 分钟

区块链工程师招聘进行时,我该如何入行?

近日,中国人民银行数字货币研究所发布了一则“未来可期”招聘信息,这也是近半年以来数研所第三次对外公开招聘相关人才,岗位包括但不限于“前端研发工程师”、“大数据工程师”、“区块链工程师”等,工作地点则分布在深圳、北京、苏州三地。


此外,中国银联总公司正在招聘区块链研究方向的中级工程师和高级工程师。招聘信息显示,中级工程师的职责包括负责区块链场景落地的技术实施,高级工程师的职责包括负责区块链各业务产品的系统分析和规划,承担系统架构设计、核心功能代码编写等相关工作。


区块链开发人才已经成为行业发展的重要支撑。无论您之前已经编写过代码,还是拥有多年的软件开发经验,要成长为区块链开发者都需要一系列新的技能。但如果不熟悉这个行业,大家恐怕很难明确其中的具体技能组合。


为了解决这个问题,本文希望为大家介绍一点普适性的区块链技能需求。


从零开始


对于几乎或者完全没有编码经验的朋友,请先从以下技能开始,之后再进行更高级的学习。如果您已经熟悉编码知识,请跳过本节。


命令行


“命令行界面以文本行的形式,处理指向计算机程序的命令。” — 维基百科


适应命令行可以说是新晋软件开发人员的第一堂课。刚开始时,命令行看起来呆头呆脑、没什么精神,但只要习惯之后,您绝对会觉得离不开它。


最好的起点自然是在 Unix 或者 Linux 命令行界面上学习。大多数开发活动都是在 Unix 类系统上完成的。如果您使用的是 Mac,那么内置的终端或者说 CLI 就是基于 Unix,而且相当强大。如果只有 Windows 计算机,请尝试 Cygwin Linux 仿真器。


这里的重点,在于学习如何使用命令,从以点击界面与计算机交互的习惯中解放出来。


相关链接:https://www.cygwin.com/


Javascript


“JavaScript 是一种脚本或编程语言,允许您在网页上实现复杂的功能——每当网页需要完成静态呈现之外的操作,包括及时显示内容更新、交互式地图、动画 2D/3D 图形、滚动视频点唱机等,那么其中很可能要涉及到 JavaScript。” —Mozilla


JavaScript 主要是一种互联网语言。目前每一款网络浏览器都支持 JS,而且大多数网页上或多或少运行着一部分 JS 代码。它是一种客户端脚本语言,因此代码会被发磅至执行计算的客户端(网络浏览器)。这就与使用 PHP 在服务器端完成计算,再将处理完成后的结果标记发送至客户端完全相反。


这里向初学者、中级以及高级用户推荐W3Schools 上的精彩教程


相关链接https://www.w3schools.com/js/


NodeJS


“Node.js 是一套开源、跨平台、JavaScript 运行时环境,能够在网络浏览器之外执行 JavaScript 代码。” — 维基百科


NodeJS 使开发人员能够使用 JavaScript 编写服务器端应用程序。NodeJS 能够承载广泛的框架,帮助用户在 Node 之上创建及部署任何形式的应用程序。目前有很多区块链框架都建立在 NodeJS 之上。


区块链基础


“从最简单的意义上讲,区块链是一系列带有时间戳且不可变的数据记录。这些记录由不属于任何单一实体的计算机集群负责管理。这些数据块(即区块)均使用加密原理(即链)进行保护并相互绑定。” — Blockgeeks.com


区块链是什么?它是如何工作的?有哪些共识机制?节点是什么?智能合约又是什么?了解这些问题的基本答案,对于开发具有实用意义的区块链应用程序至关重要。Blockgeeks.com 就是一个绝佳平台,您可以在这里随意开发任何层级的学习项目,强烈建议大家亲自尝试。


相关链接https://courses.blockgeeks.com/?ref=637


区块链专项技能


到这里,您应该是拥有一定的编码经验,但不知道从哪里开始。下面来看在区块链上开发解决方案所需要的基础技能,而且主要针对以太坊生态系统。


Solidity


“Solidity 是一种用于编写智能合约的面向对象的编程语言。它用于在各种区块链平台上实施智能合约,其中最著名的当数以太坊。” — 维基百科


如果您已经拥有使用 JavaScript、C++或者其他现代面向对象语言的经验,那么肯定会发现 Solidity 的语法并不难掌握,因为它的设计受到这些语言的巨大影响。


智能合约具有不可变性。所谓不可变对象,是指在创建之后无法对其状态做出修改的对象。一旦智能合约部署完成,您将无法对其更改,也无法通过新版本逐步改进您的智能合约。大家可以将智能合约理解为需要经受住时间考验的“纪念碑”。


智能合约中存放有以太币,就像其他以太坊地址(钱包)一样。它也可以向其他地址发送和接收以太币。通过创建智能合约,您相当于在网络上部署一套规则,任何选择使用的人都自愿表示遵守。这是一种强大的功能,因为稍有不慎引发错误,合约内容就可能被黑客所利用。但是,由于参与智能合约的每个人都需要同意条款(即代码或法典),所以这里的“黑客”可能并不准确。总之,即使智能合约遭到技术破解,恶意人士也必须遵守规则——只是规则本身存在问题。


以太坊基金会提供的说明文档全面解释了如何使用 Solidity 语言编写智能合约。


相关链接https://solidity.readthedocs.io/en/v0.6.4/


Web3.js


“web3.js 是一组库,这些库使您可以使用 HTTP 或 IPC 连接与本地或远程以太坊节点进行交互。” —Web3.js说明文档


Web3 弥合了传统内部世界与去中心化世界之间的鸿沟。我们通常使用 Web3 通过Metamask等浏览器扩展将以太坊区块链接入客户端浏览器。遗憾的是,最常见的网络浏览器并不支持开箱即用 Web3,因此必须配合 Metamask 方可实现。


Web3.js 库可被轻松安装到任何 JavaScript 项目当中,并允许您的 DApp 向用户定义的区块链发送信息或从中获取信息。本地、Testnet 以及以太坊主网都可以通过 Metamask 与 web3.js 进行连接。


这里是 web3.js 提供的一些常用的实用性功能。Web3 同样拥有 Python实现。


相关链接:https://web3js.readthedocs.io/en/v1.2.6/


Truffle Suite


“Truffle Suite 使开发人员以尽可能舒适的方式完成从构思到 DApp 的开发流程。” —Truffle Suite


Truffle 是一套框架,能够促进全栈去中心化应用程序的开发、测试与部署。Truffle 当中包含不少精彩的功能。


首先是框架本身。它提供一个出色的开发环境,您可以在几分钟内编写并部署智能合约,其测试框架同样易于使用,可以选择 Solidity 与 JavaScript 来测试您的智能合约,并可以轻松通过命令行将合约部署到任何测试网络或者主网络当中。


接下来是本地 RPC 区块链,即Ganache。Ganache 允许您通过两次单击,快速在开发环境中启动本地区块链,这就大大降低了在计算机上开发 DApp 的难度。


这里推荐大家阅读说明文档,您将透彻了解应如何根据当前环境调整配置,并按照教程自行开发、测试并部署区块链解决方案。


相关链接https://www.trufflesuite.com/


延伸阅读:


https://medium.com/swlh/the-skills-you-need-to-be-a-blockchain-developer-9c8f6d3372c8


2020-12-01 14:572203

评论

发布
暂无评论
发现更多内容

openGauss社区十一月运作报告

提升企业管理效率 从权限控制开始

力软低代码开发平台

妙啊,空结构体还能这么用?Go语言的结构体看这篇就够了

王中阳Go

Go golang 高效工作 学习方法

openGauss开源社区2022年度运营报告

如何制作可视化报表?

XxinQi

易点天下基于 StarRocks 全面构建实时离线一体的湖仓方案

StarRocks

数据库 大数据 开源

数据库掌门人论坛回顾,激辩技术和行业发展趋势

镜舟科技

数据库 数据库、

【观察】汇聚中国开源数据库创新力量,openGauss驶入发展“快车道”

实用指南:如何在Anolis OS上轻松使用 Kata 安全容器?

OpenAnolis小助手

容器 安全 操作系统 龙蜥社区 kata

【我和openGauss的故事】openGauss的WDR报告解读

openGauss获2022年度创新产品奖!

openGauss正式推出资源池化架构,全新升级社区工具DataKit

openGauss数据库荣获中国计算机学会(CCF)科技成果特等奖

Geek_2d6073

行业大咖云集 多元观点碰撞 OpenHarmony技术峰会与你相约深圳

叶落便知秋

OpenHarmony

TiDB Serverless 和技术生态全景

PingCAP

TiDB

移卡AI Lab占懿:AIGC让AI从幕后走向台前,将带来产业颠覆变革!

科技热闻

要想随时编码即刻创新,这个工具你需要一个

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

openGauss内核分析(四):查询重写

3D与Blender:开源的3D计算机图形软件集

Finovy Cloud

blender 3D软件

软件测试 | 接口测试的价值与体系

测吧(北京)科技有限公司

测试

软件测试/测试开发 | 一文带你了解测试流程体系

测试人

软件测试 自动化测试 测试开发 测试流程

基于图数据库 NebulaGraph 实现的欺诈检测方案及代码示例

NebulaGraph

图数据库 反欺诈 安全风控

赛意信息荣获2022年深信服优秀ISV合作伙伴奖 强强联手赋能企业再升级

科技热闻

openGauss内核分析(五):统计信息与行数估计

基于深度学习的表格检测与识别技术的优势

合合技术团队

人工智能 深度学习 模型 自动学习

openGauss 年终成绩单出炉,聚开发者之力,建繁荣生态

2023年2月中国数据库排行榜:OTO新格局持续三月,人大金仓、AnalyticDB排名创新高

墨天轮

数据库 华为云 TiDB oceanbase 国产数据库

广袤乡村气象新丨烟台有了新模式

乡村振兴

ForkJoinPool实践

FunTester

区块链工程师招聘进行时,我该如何入行?_区块链_Alex Roan_InfoQ精选文章