本发明涉及区块链技术领域,特别是一种基于钱包账本的区块链节点创建方法。
背景技术:
钱包服务应用是用户行使权益的必备工具。在绝大多数区块链的设计中,钱包一直被当做一个外部应用,而钱包在这个移动互联网普及的当下,在大多数情况下是在移动端使用的,而大多数区块链的设计并不允许移动端的直接访问,所以在落地时一般使用一个中心化的服务提供钱包接入才能访问,如此做法有利有弊,好处在于:一是链上逻辑简单,应用于服务彻底分离;二是减少终端钱包逻辑,对终端设备计算能力要求小;三是节省终端网络流量,终端钱包只需要向服务器申请获取最终数据即可。这样做好处明显,但是缺点也很突出:一是钱包服务是中心服务,引入中心服务就会存在一系列隐患;二是钱包逻辑与区块链逻辑分离,无法保证在任何情况下钱包服务的一致性;三是钱包没有真正接入区块链网络,无法行驶共识权益。
因此,在结合区块链与钱包服务两者问题上,如何设计可以做到既保留中心化钱包服务的优点,又不违背区块链去中心初衷,还能让所有参与者行使共识权益是当下以及未来值得深思的问题以及研究方向。
技术实现要素:
本发明旨在提出一种基于钱包账本的区块链节点创建方法,搭建以钱包应用为基础的移动区块链节点,从而为基于钱包应用的上层应用可以直接通过移动端访问区块链获得区块链的服务,从而构建真正意义上的分布式去中心的钱包服务。具体内容如下所示:
一种基于钱包账本的区块链节点创建方法,包括分布式节点、区块链网络、终端设备以及安装在设备上的钱包应用,其特征在于,所述钱包服务机制是通过在终端设备上创建以钱包应用为基础的分布式节点实现的,具体包括以下步骤:
a、在终端设备上创建以钱包应用为基础的分布式节点;
b、终端设备钱包应用通过分布式节点直接访问区块链
c、分布式节点进行数据中转与数据记录处理,并与其它节点进行数据交互。
进一步的,所述分布式节点创建方法有两类,一类是在非移动设备上创建以钱包应用为基础的分布式节点;另一类是在移动设备上创建以钱包应用为基础的分布式节点。
进一步的,所述在非移动设备上创建以钱包应用为基础的分布式节点包括以下步骤:
a、在非移动设备上先使用docker创建虚拟机,在虚拟机中部署node环境,并初始化节点所需要的运行组件;
b设置节点网络访问参数,重启非移动设备;
c、节点在启动时自动扫描网络,并将可用网络自动更新到本地节点;
d、节点将网络中的最新数据同步到本地,完成启动;
e、以钱包应用为基础的区块链节点创建完成。
进一步的,所述在移动设备上创建以钱包应用为基础的分布式节点过程是自动创建过程。
进一步的,所述在移动设备上创建以钱包应用为基础的分布式节点包括以下步骤:
a、检查本地设备空间是否足够;
b、节点尝试探测本地网络;
c、若探测成功,开始从本地网络下载最新的数据,并加载到本地节点;
d、以钱包应用为基础的区块链节点创建完成。
进一步的,所述节点创建基础包括非移动设备钱包服务应用和移动设备钱包服务应用。
进一步的,所述移动设备包括ios系统移动设备和adroid系统移动设备。
相比现有的技术方案,本发明具有以下有益效果:
(1)将钱包应用抽象为钱包服务,将钱包逻辑集成在区块链上,保证终端无论何时何地都可以连接区块链平台,获得一致的钱包体验;
(2)通过本技术方案,用户不需要通过任何第三方中介机构,保证去中心化环境中用户钱包的可靠与安全;
(3)为基于钱包应用的上层应用可以直接通过移动端访问区块链获得区块链的服务,从而构建真正意义上的分布式去中心的钱包服务。
附图说明
图1是本发明方案机制建立流程示意图;
图2是本发明方案当中创建方法分类示意图;
图3是本发明方案在非移动设备上创建流程示意图;
图4是本发明方案在移动设备上创建流程示意图;
图5-图18是本发明方案包含的编码内容。
具体实施方式
下面结合附图和具体实施例对本发明作进一步详述。在此需要说明的是,下面所描述的本发明各个实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
对本发明做进一步说明之前,先对本发明当中涉及到的一些专有名词稍作说明:
虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(parallelsdesktop,vmware,virtualbox,virtualpc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。
node环境:一个运行环境。它是一个轻内核的东西,它本身没有什么功能,所有的功能都是由功能包提供,我们可以node环境中运行js代码。
以下结合具体实施例讲述一种基于钱包账本的区块链节点创建方法:
如图1所示,一种基于钱包账本的区块链节点创建方法,包括分布式节点、区块链网络、终端设备以及安装在设备上的钱包应用,钱包服务机制是通过在终端设备上创建以钱包应用为基础的分布式节点实现的,具体包括以下步骤:
step1——a、在终端设备上创建以钱包应用为基础的分布式节点;
step2——b、终端设备钱包应用通过分布式节点直接访问区块链;
step3——c、分布式节点进行数据中转与数据记录处理,并与其它节点进行数据交互。如图2所示,在step1中基于钱包应用的区块链节点创建方法分两种,一种是在非移动设备上创建以钱包应用为基础的区块链节点(w1);另一中是在移动设备上创建以钱包应用为基础的区块链节点(w2)。
其中,如图3所示,在非移动设备上创建以钱包应用为基础的区块链节点(step11)包括以下步骤:
步骤1——a、在非移动设备上先使用docker创建虚拟机,在虚拟机中部署node环境,并初始化节点所需要的运行组件;
步骤2——b设置节点网络访问参数,重启非移动设备;
步骤3——c、节点在启动时自动扫描网络,并将可用网络自动更新到本地节点;
步骤4——d、节点将网络中的最新数据同步到本地,完成启动;
步骤5——e、以钱包应用为基础的区块链节点创建完成。
不同于非移动设备节点创建方法,在移动设备节点创建方法(step12)当中,包括ios系统移动设备和adroid系统移动设备上均可通过安装节点程序实现自动节点创建,如图4所示,具体创建过程如下:
s1——a、检查本地设备空间是否足够;
s2——b、节点尝试探测本地网络;
s3——c、若探测成功,开始从本地网络下载最新的数据,并加载到本地节点;
s4——d、以钱包应用为基础的区块链节点创建完成。
进一步的,一种基于钱包账本的区块链节点创建方法的编码过程包括:
(1)connecttoifmchainnet
(2)creatasecret
(3)getuserinformation
(4)getblockhightfromifmchain
(5)getblockid
(6)gettransactionbyid
(7)gettransactions
(8)transactionsoftransferibt
(9)transactionofsetpaymentpassword
(10)transactionofrigisterdelegate
(11)transactionofvote
(12)transactionofcancelingvoting
(13)transactionofsetusername
(14)transactionofaddcontact
以上所述,仅是本发明的较佳实施例而已,并非对本发明的技术范围作任何限制,故但凡依本发明的权利要求和说明书所做的变化或修饰,皆应属于本发明专利涵盖的范围之内。