赞
踩
随着新一波的区块链热潮,许多同学怀着巨大的热情进入了这个领域,同时也会遇到不少疑惑,区块链开发需要哪些知识?怎么学习?从哪里学习?遇到问题怎么办?本文将试图给区块链领域新人一个快速实用的指引。
区块链堪称“黑科技”,本身具有大量的技术元素,有志于从技术角度切入区块链的人,应该具备或掌握基本的IT技能,达到至少是常规级别“程序员”或“系统管理员”的技能水平。
首先需要熟练的Linux操作系统知识。
大多数区块链系统是可以跑在Linux上的,包括CentOS和Ubuntu等,你至少要会一些基本的Linux操作指令,比如ls查看目录、ps或top查看进程、find查找文件、netstat查看网络、ulimit检查系统参数限制、df/du查看磁盘空间、用apt/yum安装软件等等,如果这些基本命令都不掌握,在Linux上操作肯定是举步维艰的。
这方面的书和资料都很多,相信一星期就能上手。另外,善于Linux的man指令,可以获得每个命令的详细帮助。如果学会写shell脚本,那更如虎添翼,可以把大量的繁琐操作给自动化了。
要有清晰的网络概念。
区块链本来是分布式系统,节点之间一定是通过网络相连的,只是跑起来的话,不需要多高深的网络知识,只需要了解什么是TCP/IP;公网、内网、本地地址的区别;端口如何配置;节点和节点、SDK和节点之间的互联是否会被防火墙和网络策略挡住;采用ifconfig、telnet、ping、netstat等命令检查网络信息和进行探测、定位网络问题。一般来说,Linux书籍也都会介绍这部分内容。
区块链周边的支持,如浏览器、中间件、业务应用,会依赖一些第三方基础软件,如MySQL/MariaDB数据库、Nginx服务、Tomcat服务等,至少懂得怎么去安装指定版本的软件,掌握修改这些软件的配置文件并使之生效的基本操作,了解各款软件的密码、权限配置和网络安全策略,以保护自身安全。
如果是基于云、docker或者k8s等容器环境构建,需要了解使用的服务商或容器的功能、性能、配置方式,包括对资源的分配:CPU、内存、带宽、存储等,以及安全和权限的配置、网络策略配置、运维方式,达到轻松分发构建的同时,还能保持其稳定性和可用性。
各种云服务商和容器解决方案都有周全的文档和客服服务渠道,可以帮助用户顺畅地使用。
到编程语言阶段,可以根据自己的学习路径,选择不同的语言。
如果是使用Java语言,那就应该熟练掌握Eclipse、IntelliJ IDEA等集成IDE,熟悉Gradle为主的工程管理软件,熟悉Spring、Springboot等java的基础开发组件,熟悉在IDE或命令行下对资源路径如ApplicationContext等路径的定义,或许还有myBatis等流行的组件,这些都可以在java相关的社区和网站找到资料和书籍。
在熟练使用Java语言的情况下,采用Java SDK接入到区块链,跑起一个Demo Sample,将是非常轻松写意的事情。
如果是采用其他语言,我们也提供了Python、Node.js、Golang等语言的区块链SDK。
不同的语言,其安装包有不同的稳定版本,会采用不同的环境和依赖安装配置方法,会有不同的IDE和调试方法ÿ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。