什么是dappdapp 是以太坊发明的词汇 decentralized application.
目前基于区块链技术开发的应用程序广泛的接受使用了这一名称。
nel将为开发dapp提供全面的服务
什么是nelnel是 “neweconolab新经济实验室”的简称,成立于2017.11.9日,是一个年轻的社区型组织。
致力于
培养社区开发人才,推动项目落地,发展neo社区生态
主要活动区域是:https://github.com/neweconolab/
nel会为neo的dapp开发提供全面的支持,欢迎学习、交流、参与。
dapp开发的几种模式目前dapp开发有几种模式
之前做了一次基于全节2点开发dapp的培训,效果不太好。去的人都太帅了,颜值超越了程序员太多。
所以这里补上说明,退一步,更加系统的来说一下dapp的开发。
很多时候,很多事情,并不是只差一个程序员的状态。往往,你差好几个程序员。
我们将分这几种模式来讨论一下。下文列出的需要程序员都可以一人身兼n职。
模式一、基于全节点客户端开发dapp基于全节点客户端开发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.有例子可以参考
模式二、快速全节点客户端开发dapp这个模式是在同步区块链时有所选择,只同步和自己的钱包有关的,所以同步速度较快。
但还是要同步。neo官方有用ts实现一版,代码比较复杂。
官方已放弃此项目,这个模式 nel也不会提供支持。
模式三、轻钱包前后台模式开发dapp首先很多介入dapp开发的爱好者们基本上都低估了轻钱包前后台模式的开发难度。如果一头扎进来,基本上几个月的时间扔进去还是一头雾水。
蓝鲸淘或者区块链浏览器或者别的什么采用这种模式的项目开发,都不是一个小工程。
他们基本的系统结构是这样
看了这个系统结构,我相信dapp的开发者能够更清醒的认识到开发一个这种模式的dapp,并非一件轻松愉快的事情。
虽然这种开发模式体验最好,但是还没有形成标准,所以后台几层需要自行开发。
有一些浏览器开放了他们的api出来,但对整个系统缺乏说明。
采用这种模式你需要如下程序员
1.能修改或者部署neo-cli节点的程序员或者网管
2.能开发爬虫之类程序的程序员,会写数据库
3.能开发网页api的程序员
4.前端程序员
5.智能合约程序员,推荐c#
很不幸 2 3 4 很难列出推荐的语言或者技术,因为实现这类功能的方案实在太多了。
nel将会为这种开发模式提供一整套的方案,助力dapp开发。
很多项目还在开发中,后文会有介绍
dapp开发的基础理解区块链区块链是分布式的账本。
需要了解区块链的共识过程,每一个区块都是在每一个节点上被执行。
和传统的服务器不一样,每一个节点都要逐一执行区块链上的每一笔交易。
而所有的dapp,最终也体现为一笔笔的交易。
理解neo智能合约调用neo智能合约也是一笔交易。
智能合约主要的输出方式是写入storage。
这些我们以后会专门开一篇来说
调试neo智能合约如何编写合约见neo文档
如何发布合约见neo文档
如何调用合约neogui 有提供调用合约的测试功能,见neo文档
如何调试合约
鉴于neo智能合约的执行是在链上,而发布调用交易和交易被执行的过程是分离的,而且还不是本机执行。所以智能合约的调试一直缺乏良好的方法
nel为此专门开设了区块链浏览器项目
可以分析已经执行过的智能合约交易,对其执行的过程完全复盘,并对应到源码
智能合约浏览器还在开发中,目前已经可以使用,欢迎开发者入坑。以后我们会专门撰文来说这个话题。
nel的一些支持工作neo-gui nel 版本源码 ,https://github.com/neweconolab/neo-gui-nel
(neo-gui项目)
目标 简化开发基于neo-gui的dapp
状态 已完成,将关注neo 官方 neo项目 neovm项目 neo gui项目,随时升级同步。
neo-cli nel版本 源码 https://github.com/neweconolab/neo-gui-nel
(neo-cli项目,和上面的在同一个仓库)
目标 在neocil的基础上提供智能合约调试的数据。
状态 已完成,随时升级同步
nel 节点统计入库程序 目标 开发一个通用化、容易插件化扩展的节点数据统计入库程序。
状态 计划中
nel 查询api 目标 为轻钱包前后台模式的dapp 或一个者neo浏览器 提供查询功能支持
状态 计划中
nel 智能合约交易浏览器 源码 https://github.com/neweconolab/smartcontractbrowser
目标 提供已经完成的智能合约交易中精确的交易执行情况的检查,作为一个非常有效的智能合约调测程序,补充智能合约开发环境。
状态 开发中,完成50%,已经可以配合neo-gui nel版本 或者neo-cil nel版本 进行本地化调测。
等nel 查询api上线,就可以开发online版本。
nel 浏览器插件钱包 目标 解决各个浏览器dapp 各自实现各自钱包导致的各种问题。
用户的私钥转来转去都在浏览器缓存中,风险较大的问题。插件钱包加密保存,dapp 找插件要地址就行了
私钥加密保存在浏览器插件中,永远不会给dapp。需要对数据块签名时,dapp 发送数据给浏览器插件进行签名。签名后返还给dapp。dapp 不会得到私钥,降低私钥泄露风险
每次签名插件会弹出提示,让用户确认,避免dapp在用户不知情的情况下发送交易。
对接硬件钱包只需要插件支持,所有dapp无需额外工作即可得到硬件钱包的保护。
状态 计划中
作者:李剑英
原文链接:https://www.cnblogs.com/crazylights/p/8016653.html
智慧工地园区厂区广播对讲解决方案
温湿度监测系统在化妆品监测中的应用
基于SSM的学生管理系统
mos管的箭头表示什么?mos管电流方向与箭头
刹车液位传感器-斯丹麦德为您保驾护航
NEO区块链-DAPP开发直通车-第零篇
多核处理器的挑战,多核处理器结构与分类
水利无线视频监控系统的功能特点及方案设计
离子交换柱橡胶层渗漏如何及时修补
电梯大数据平台:行业变革的助推器
提升用户体验:OLED透明屏触摸技术在智能手表中的应用
区块链可以帮助汽车企业确认其可持续性
OpenCV中的图像的计算
斯拉正和博通合作开发超大型高性能芯片
Maxim高集成度IO-Link 温度传感器,较分立方案更灵活、可靠
华硕电竞主板TUFB450M-Plus高清图赏
AT89C51单片机数字逻辑无环流可逆调速系统设计
微软在AR领域的杀手锏HoloLens,能否赢过谷歌和苹果
PCB行业大公司财报分析
蚂蚁金服在上海举办支付宝开放日,并推出刷脸支付新品“蜻蜓”