DAPP 是以太坊发明的词汇 Decentralized Application. 前端
目前基于区块链技术开发的应用程序普遍的接受使用了这一名称。 git
NEL将为开发DAPP提供全面的服务 程序员
NEL是 "NewEconoLab新经济实验室"的简称,成立于2017.11.9日,是一个年轻的社区型组织。 github
致力于 数据库
培养社区开发人才,推进项目落地,发展NEO社区生态 c#
主要活动区域是 浏览器
https://github.com/NewEconoLab/ 缓存
NEL会为NEO的DAPP开发提供全面的支持,欢迎学习、交流、参与。 服务器
目前DAPP开发有几种模式 app
以前作了一次基于全节2点开发DAPP的培训,效果不太好。去的人都太帅了,颜值超越了程序员太多。
因此这里补上说明,退一步,更加系统的来讲一下DAPP的开发。
不少时候,不少事情,并非只差一个程序员的状态。每每,你差好几个程序员。
咱们将分这几种模式来讨论一下。下文列出的须要程序员均可以一人身兼N职。
基于全节点客户端开发DAPP是工做量最少的模式,你只须要修改NEO GUI 源码,加上你的DAPP专属的代码.
若是你是要测试一个DAPP的概念,这种方式比较适合,快。
须要程序员:
1.winform 程序员,会c#的程序员多半能够用几个小时掌握winform开发。
2.智能合约程序员,基于NEO区块链开发智能合约,目前用c#开发智能合约是最成熟的。
NEL 已经为此提供了项目NEO-GUI NEL版。
源码 https://github.com/NewEconoLab/neo-gui-nel
这个版本增长了插件机制。
1.你不须要去阅读neo-gui源码了,关键部分经过插件接口能够知道。
2.项目更加可控,多个dapp也不用整合代码了
3.有例子能够参考
这个模式是在同步区块链时有所选择,只同步和本身的钱包有关的,因此同步速度较快。
但仍是要同步。NEO官方有用ts实现一版,代码比较复杂。
官方已放弃此项目,这个模式 NEL也不会提供支持。
首先不少介入DAPP开发的爱好者们基本上都低估了轻钱包先后台模式的开发难度。若是一头扎进来,基本上几个月的时间扔进去仍是一头雾水。
蓝鲸淘或者区块链浏览器或者别的什么采用这种模式的项目开发,都不是一个小工程。
他们基本的系统结构是这样
看了这个系统结构,我相信DAPP的开发者可以更清醒的认识到开发一个这种模式的DAPP,并不是一件轻松愉快的事情。
虽然这种开发模式体验最好,可是尚未造成标准,因此后台几层须要自行开发。
有一些浏览器开放了他们的API出来,但对整个系统缺少说明。
采用这种模式你须要以下程序员
1.能修改或者部署neo-cli节点的程序员或者网管
2.能开发爬虫之类程序的程序员,会写数据库
3.能开发网页API的程序员
4.前端程序员
5.智能合约程序员,推荐c#
很不幸 2 3 4 很难列出推荐的语言或者技术,由于实现这类功能的方案实在太多了。
NEL将会为这种开发模式提供一整套的方案,助力DAPP开发。
不少项目还在开发中,后文会有介绍
区块链是分布式的帐本。
须要了解区块链的共识过程,每个区块都是在每个节点上被执行。
和传统的服务器不同,每个节点都要逐一执行区块链上的每一笔交易。
而全部的DAPP,最终也体现为一笔笔的交易。
调用NEO智能合约也是一笔交易。
智能合约主要的输出方式是写入storage。
这些咱们之后会专门开一篇来讲
见NEO文档
见NEO文档
NEOGUI 有提供调用合约的测试功能,见NEO文档
鉴于NEO智能合约的执行是在链上,而发布调用交易和交易被执行的过程是分离的,并且还不是本机执行。因此智能合约的调试一直缺少良好的方法
NEL为此专门开设了区块链浏览器项目
能够分析已经执行过的智能合约交易,对其执行的过程彻底复盘,并对应到源码
智能合约浏览器还在开发中,目前已经可使用,欢迎开发者入坑。之后咱们会专门撰文来讲这个话题。
源码 ,https://github.com/NewEconoLab/neo-gui-nel
(neo-gui项目)
目标 简化开发基于neo-gui的dapp
状态 已完成,将关注neo 官方 neo项目 neovm项目 neo gui项目,随时升级同步。
源码 https://github.com/NewEconoLab/neo-gui-nel
(neo-cli项目,和上面的在同一个仓库)
目标 在NEOCIL的基础上提供智能合约调试的数据。
状态 已完成,随时升级同步
目标 开发一个通用化、容易插件化扩展的节点数据统计入库程序。
状态 计划中
目标 为轻钱包先后台模式的DAPP 或一个者neo浏览器 提供查询功能支持
状态 计划中
源码 https://github.com/NewEconoLab/SmartContractBrowser
目标 提供已经完成的智能合约交易中精确的交易执行状况的检查,做为一个很是有效的智能合约调测程序,补充智能合约开发环境。
状态 开发中,完成50%,已经能够配合Neo-gui nel版本 或者neo-cil nel版本 进行本地化调测。
等NEL 查询API上线,就能够开发online版本。
目标 解决各个浏览器DAPP 各自实现各自钱包致使的各类问题。
状态 计划中