百科问答小站 logo
百科问答小站 font logo



大一学生对区块链感兴趣,应该打好哪些基础? 第1页

  

user avatar   luo-jia-hao-34-25 网友的相关建议: 
      

我现在大二上册,大一上学期接触区块链,完成了简单的DApp开发,现在准备在以太坊上插桩,研究合约的执行和交易的安全性,本质上也是软件分析。

一、明白区块链是什么

如何入门呢?首先,区分自己是想炒币还是想学技术。我个人认为,科班的人,应该先学好技术,同时可承受的范围内去接触资本市场。

区块链有许多分类,需要老师方向引领,不要看见什么项目火就去学什么,而是应该对这个技术框架有个整体的认识。建议找一找学校内做区块链相关的老师。

区块链的学习,应该从应用层逐渐走向底层。而应用层最好的学习方法是做一个DApp。熟悉交易的各个参数的含义,基本的web3库,相关生态,如openzeppelin合约库、truffle、hardhat开发框架,remix在线IDE,geth客户端,然后可以了解一下一些项目,如layer2,NFT,DeFi,swap,代理合约。

深入技术之前,需要对区块链系统有个基本认识。

例如难度、target、P2P,最长链原则等等,可以参考之前的文章。

对行业认知,可以看这个仓库

二、必备基础

需要的基础比较多:

Linux操作系统,这是你主要的开发环境,需要学会使用,基本的命令,权限管理,软件的apt安装、dpki或者RPM安装、源码安装,npm、snap这些安装。由于是虚拟机,科学上网、设置代理也是必会的内容。可以参考我曾经写过的文章,后面还会继续更新。

智能合约是区块链2.0的核心功能之一,也是很多项目生存的土壤,是必须学习的内容。建议直接看官方文档,视频太老了。可以看我写过的最新的Solidity语言的笔记,可能可读性和教学性不够,等寒假会温习和更新的。


这是一个系列,基本涵盖了所有内容。建议学完基础再去看合约。

练习是必要的,学一学前端、web3.js,在本地私链搭建一个应用。可以跟着这个视频做。这是是油管视频,大部分教程其实都来自国外。


密码学部分可以暂时跳过,但是对于采用了什么算法,比如ECC、RSA、SHA256这些,要简单看看功能。比如哈希函数是什么,单向陷门。

三、通用基础

Go语言是区块链主流语言,尤其是以太坊最主要的版本用Go写的。因此,如果想要深入原理,或者单纯想做一个服务端,Go都是很好的选择。

网上教程和书都很多,而且比较成熟,可以在Bilibili看视频。到了接口、通道、互斥锁部分可能需要额外的花功夫,但是这些都是值得的。

数据结构是基础,也是理解区块链数据结构的基础。链表、栈、树相关的应该随手能写。递归、分治、for的迭代也要能很快写出来。特别是树那一章可以多花精力,学会递归、学会手写栈去迭代、学会用双指针配合。

欢迎补充。

四、做研究

在学校的人,尽量不要完全去跟风项目,业务导向,而是去学习那些有挑战性的,需要老师指导师兄师姐连带帮助才能顺利学习的知识。

如果,希望尽快出一点成果,应该选择一个方向。如何选择方向和你个人的环境很相关。但是无论如何,不要闭门造车,可以进群和其他人交流,了解第一线的行业状况和机会。

看过的部分书




  

相关话题

  关于二本专业进重庆师范大学,发放的毕业证是否有区别? 
  在大学经常一个人怎么办? 
  C# 这么优秀的语言,现在到底出了什么问题? 
  科创板对于个人投资者和各类高科技企业而言,有哪些机会? 
  如何看待大学生花 11 万买火车票旅行,毕业后仍攒下15 万零花钱? 
  文科专业学生如何创业? 
  内存为啥要分堆栈在编程里,要是全部只用堆或者全部只用栈,行不行? 
  python如何将变量名转化为同名字符串? 
  为什么互联网行业会出现35岁中年危机,而金融和医疗行业越老越吃香? 
  如何看待 2018 年 4 月 17 日央行的定向降准政策?将会带来哪些影响? 

前一个讨论
R 语言的优劣势是什么?
下一个讨论
各位币圈大佬是从哪里了解到各种币的消息的呀?





© 2024-05-03 - tinynew.org. All Rights Reserved.
© 2024-05-03 - tinynew.org. 保留所有权利