NEL区块链开发者小白升级指导手册
欢迎来到区块链世界。
在社区建设中我们发现很多开发者想学习区块链技术,但却不知道怎么开始,往往跟着一两个教程就开始做了,结果发现要么就是没走几步就一个坑,要么就是从教程转到自己想做的事情时突然之间难度激增,难度曲线就像城墙一样直上直下,将大部分人直接劝退。因此,我们根据自己的开发学习经验,总结了一条由基础到进阶的学习路线,将学习任务分解,可以有效分散难度,帮助各位前行。
总的来说建议各位先学习开发钱包(用NEL钱包也可以,但至少得弄明白原理),再学习合约(部署上链),最后在学习鉴权合约(不部署上链)。钱包是入口和基础。
另外NEO本身提供的东西都是很底层的,用起来比较复杂,NEL根据自己的开发需要开发出了很多工具,能帮助开发者快速开发。新入门的开发者建议先使用NEL的工具,可以有效降低学习难度,等这一套都熟了可以自己做一套。
本手册为NEO链开发者专用手册。开发者请根据等级描述,确定自己的等级,找对适合自己升级的副本地图。
注意:部分BOSS难度略高,可以升级后回头再打。
萌新(lv1~10)
描述:
刚进入区块链世界,对各条公链势力分布、门派武功仅有一知半解,面对基本操作也会站起来鼓掌。
能力要求:
熟练掌握一些基本编程语言,比如C#,JAVA,JS,PYTHON等。
升级路径:
多阅读项目白皮书、项目介绍文章,项目社区提问,参加课程讲座。
待学习技能:
² 了解钱包、区块链浏览器、DAPP的概念;
² 了解公钥、私钥、地址、转账等基本概念;
² 了解区块结构、非对称加密、哈希算法、共识算法等基础算法。
待挑战BOSS:
Ø 比特币POW、以太坊POW+POS、NEO DBFT、EOS DPOS共识协议差异及优缺点;
Ø 以太坊、NEO、EOS收费机制设计及其思想;
Ø 了解ECDH原理
↓可进阶
NEO入门开发者(lv11-20)
描述:
了解三四条公链以及对NEO的玩法规则、实现原理、底层支撑的基础技术都已经了解了,区块链在你面前已经基本失去了神秘感。
能力要求:
掌握全部新手技能。
升级路径:
从钱包深入学习,了解全节点钱包。
配置开发环境。
学会使用NEOCLI和NEOGUI开发者钱包。
待学习技能:
² 使用全节点钱包从其他节点同步交易数据
² 使用NEOGUI钱包发交易
² NEL的NEON开发者钱包使用
待挑战BOSS:
Ø 搭建一条NEO私链
已有工具:
NEO开发环境。(.NET环境配置)
NeoGUI开发者节点/钱包(https://github.com/neo-project/neo-gui)
NeoCLI(https://github.com/neo-project/neo-cli)
↓可进阶
NEO开发爱好者(lv21-lv30)
描述:
已了解NEOCLI和NEOGUI等基本工具的使用,对链上交互的数据结构已经比较熟悉。
能力要求:
掌握NEO入门开发者所有技能
升级路线:
学习UTXO资产类型和NEP5资产类型概念及交易方法。
学习交易的数据结构
学习余额查询
待学习技能:
² 了解UTXO及交易数据结构
² 能使用爬虫从节点数据中爬取交易信息
² 会计算帐户余额
待挑战BOSS:
Ø 自己写一个爬虫程序,能做到给定一个address,爬虫可以从NEOCLI爬到该address的UTXO资产余额。
Ø 了解NEP5代币,ERC20代币,ERC721代币概念
Ø 理解交易数据的序列化和反序列化
↓可进阶
兼职NEO开发者(lv31-40)
描述:
对交易数据构造、解析已经比较熟悉。可以独立做出一个钱包。
能力要求:
掌握NEO开发爱好者所有技能。
升级路线:
学习开源的钱包工程,尝试开发钱包
待学习技能:
² 能够生成钱包私钥。
² 能够使用密码从NEP2、NEP6的json文件中解出用户地址和私钥。
² 能够构造UTXO交易,使用私钥对交易数据签名,使用公钥验证签名结果。
待挑战BOSS:
Ø 独立开发一个钱包,能实现创建私钥、UTXO转账、广播交易功能,数据源使用自己的爬虫。
Ø 了解热钱包、冷钱包、硬件钱包、分层确定性钱包的原理及差异(BIP39,BIP44协议)
已有工具:
NELSDK工具集合(包括签名运算、钱包相关、交易解析、合约相关等工具)
↓可进阶
NEO钱包开发者 (lv41-50)
描述:
已经掌握钱包、转账等代币相关的开发,开始涉猎智能合约的调用和发布。
能力要求:
已掌握兼职NEO开发者全部技能。
升级路线:
继续开发钱包,完成NEP5余额查询、转账(需要调用合约)。
使用钱包将现成合约发布至网络上。
待学习技能:
² 了解钱包与虚拟机、智能合约进行交互的方式
² 能够使用现成钱包发布合约。
² 了解NEOGUI发布合约的流程,能够在编写的钱包程序中实现调用智能合约
² 能够使用NEL提供的thinsdk和公共爬虫数据源开发程序(打包一些常用底层方法,有兴趣可以深入研究)
待挑战BOSS:
Ø 完成奔奔智能合约例子三连(调用合约)
Ø 能够使用自己的钱包构造出合约发布交易,将合约发至链上
Ø 了解NEO上常用合约
可用工具:
DEMO:奔奔三连.rar
NEL提供的Thinsdk(cs版和ts版)
NeoThinSDK_CS(https://github.com/NewEconoLab/neo-thinsdk-cs)
NeoThinSDK_TS(https://github.com/NewEconoLab/neo-thinsdk-ts)
↓可进阶
NEO合约开发者(lv51-60)
描述:
对钱包端已经非常熟悉,开始转入链上开发,能够独立编写应用合约。
能力要求:
已掌握NEO钱包开发者全部技能。
升级路线:
编写合约代码,使用NEOcomplie或其他社区共建编译后,发布到链上。
调用合约代码,获得NEOVM执行结果。
使用NEL提供的调试工具调试合约代码。
待学习技能:
² 熟悉虚拟机NEOVM,了解合约从编写、翻译到NEOVM执行的流程与NEOVM的计费方法。
² 学会使用NEOcomplier或NEL提供的NEONdebug工具,将代码编译为NEOVM执行语言。
² 编写智能合约,了解合约代码中常用的方法。
² 发布合约,并能够使用调试工具进行调试。
待挑战BOSS:
Ø 使用智能合约完成who am I 功能
Ø 发行一个nep5代币
Ø 能够看懂NNS合约
可用工具:
NEL提供的neondebug合约调试工具
NEL提供的开发者专用钱包(代替NEOGUI)
↓可进阶
NEO全栈工程师(lv61-70)
描述:
能够编写鉴权合约,能够对交易、调用合约等行为进行控制。
能力要求:
已掌握NEO合约开发者全部技能,熟悉NEO钱包开发技能。
升级路线:
深入研究构造交易的细节,了解交易构造的每一个参数作用、及合约添加配置的方法。
学习锁仓、多签等控制交易的方法。
待学习技能:
² 学会在构造交易时添加鉴权合约,理解鉴权合约无需部署
待挑战BOSS:
Ø 编写一个多方签名共管账户
Ø 编写一个密码提取帐户
Ø 编写一个NEP5代币的ICO合约
公链开发者(LV71——)
转向公链底层开发,探索虚拟机、共识协议等的开发,提高公链处理效率,创造新的利益分配机制与组织结构,与V神、BM等人肩并肩。。。
如果你已经升级为NEO全栈工程师并且已经基本打完全部BOSS,那么恭喜你,你已经超越了区块链世界中99%的人,基本上可以接手任何商业化项目。再进一步,便是区块链世界最前沿的技术:bancor协议、分片技术、闪电网络、零知识证明等等。这些都需要你自己研究国内外项目进行探索,我们正在这里砥砺前行。
期待与你相遇,一同探索区块链的未来发展之路。
<手册持续编辑中……>
最后于 2018-11-6
被naoye编辑
,原因: