Skip to content

Latest commit

 

History

History
executable file
·
77 lines (64 loc) · 1.74 KB

basic_skills.md

File metadata and controls

executable file
·
77 lines (64 loc) · 1.74 KB

区块链程序员应当具有的基本素养

索引

  • 计算机开发语言
  • 沟通语言
  • 基础数据结构和算法
  • p2p网络技术
  • 加密、解密,数字签名算法
  • 共识算法 PoW PoS DPoS
  • 客户端技术,API接口,UI & UX
  • 数学
  • 经济学
  • 网络营销、心理学

开发语言

  • golang: 面向云计算的新一代开发语言,内置支持并发,学习曲线平滑,开发效率高
  • c/c++: bitcoin的开发语言,至少得能看懂c++代码
  • python: 快速原型开发,可以适应于各种场合
  • javascript/nodejs
  • java: android
  • objective c/swift: ios/mac

沟通语言

  • 英语
  • 汉语
  • 翻墙技巧

基础数据结构和算法

P2P网络技术

  • NAT穿越, 打洞穿墙(防火墙)
  • STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs), RFC 5389
  • STUN/TURN/ICE
  • DHT(分布式哈希表)
  • webrtc

加密学

  • 非对称加密学
  • 数字签名
  • SHA1/2/3/256/512算法
  • 椭圆曲线算法
  • 哈希算法,比特币地址

共识算法

  • 拜占庭将军问题
  • 分布式架构设计模式(POSA1/POSA2/POSA3/POSA4) - 可选
  • POW/POS/DPOS

客户端技术

  • json, protobuf, etc.
  • web service
  • UI: 界面开发技术
  • UX: 界面交互

数学

  • 概率论
  • 建模
  • 非欧几何,椭圆曲线,质因数分解

经济学

  • 通货膨胀产生的原因,现象

流行区块链实现

  • 比特币
  • 以太坊
  • �IBM Hyperledger
  • Intelledger