CN110308903B - 创建区块链网络的方法、电子设备及介质 - Google Patents

创建区块链网络的方法、电子设备及介质 Download PDF

Info

Publication number
CN110308903B
CN110308903B CN201910607556.XA CN201910607556A CN110308903B CN 110308903 B CN110308903 B CN 110308903B CN 201910607556 A CN201910607556 A CN 201910607556A CN 110308903 B CN110308903 B CN 110308903B
Authority
CN
China
Prior art keywords
node
blockchain network
graphical representation
user interface
user input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910607556.XA
Other languages
English (en)
Other versions
CN110308903A (zh
Inventor
李燕生
隆锦胜
刘博超
李晔
周广照
孟晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ming Chain Science And Technology Shenzhen Co ltd
Original Assignee
Ming Chain Science And Technology Shenzhen Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ming Chain Science And Technology Shenzhen Co ltd filed Critical Ming Chain Science And Technology Shenzhen Co ltd
Priority to CN201910607556.XA priority Critical patent/CN110308903B/zh
Publication of CN110308903A publication Critical patent/CN110308903A/zh
Application granted granted Critical
Publication of CN110308903B publication Critical patent/CN110308903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本公开涉及一种创建区块链网络的方法、电子设备及介质。所述创建区块链网络的方法包括:显示用于创建区块链网络的用户界面,所述用户界面包括区块链网络部署图标和一个或多个节点创建图标;响应于接收到针对所述一个或多个节点创建图标的第一用户输入,在所述用户界面中显示第一节点的图形表示;以及响应于接收到针对区块链网络部署图标的用户输入,部署区块链网络,所述区块链网络包括所述第一节点。

Description

创建区块链网络的方法、电子设备及介质
技术领域
本公开涉及区块链技术领域,特别涉及一种创建区块链网络的方法、电子设备及计算机可读存储介质。
背景技术
区块链技术是分布式账本技术、共识算法、加密算法等计算机技术的新型应用模式。区块链技术的特点是去中心化、公开透明、不可篡改。基于区块链技术构建的网络可以称之为区块链网络,在该区块链网络中可以包括节点。这些节点可以属于不同组织机构,这些节点中的一部分或全部节点也可以属于相同的组织机构。
虽然区块链技术具有多种优点,特别是不可篡改而很好地解决信任性的优点,而备受青睐,但是由于其集成了包括分布式技术、共识算法、加密算法等在内的多领域技术,对于开发人员的对区块链网络技术的掌握和编程能力的要求较高。并且,由于区块链技术是近几年才兴起的新型技术,具有开发区块链网络的能力的人才储备也很缺乏,需要大量的时间进行培训,这使得区块链网络的创建困难大、耗时长、耗资巨。
发明内容
为此,根据本公开的一个方面,提供一种创建区块链网络的方法,包括:显示用于创建区块链网络的用户界面,所述用户界面包括区块链网络部署图标和一个或多个节点创建图标;响应于接收到针对所述一个或多个节点创建图标的第一用户输入,在所述用户界面中显示第一节点的图形表示;以及响应于接收到针对区块链网络部署图标的用户输入,部署区块链网络,所述区块链网络包括所述第一节点。
根据本公开的另一个方面,提供一种电子设备,包括:处理器以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时,使所述处理器执行根据本公开中所述的方法。
根据本公开的又一个方面,提供一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,使所述电子设备执行根据本公开中所述的方法。
从下面结合附图描述的示例性实施例中,本公开的更多特征和优点将变得清晰。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的示例性实施例的用于创建区块链网络的示例性用户界面的示意图;
图2示出了根据本公开的示例性实施例的用于管理区块链网络的示例性第一用户界面的示意图;
图3示出了根据本公开的示例性实施例的用于管理区块链网络的示例性第二用户界面的示意图;
图4示出了根据本公开的示例性实施例的用于创建区块链网络的示例性方法的流程图;
图5示出了根据本公开的示例性实施例的用于管理区块链网络的示例性方法的流程图;
图6示出了能够应用于根据本公开的示例性实施例的示例性电子设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”、“第三”、“第四”、“第五”、“第六”、“第七”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
以下将结合图1至图3详细描述根据本公开的示例性实施例的用于创建区块链网络的示例性用户界面和用于管理区块链网络的示例性用户界面的示意图。
图1示出了根据本公开的示例性实施例的用于创建区块链网络的示例性用户界面的示意图。
参照图1,用户创建区块链网络的示例性用户界面100包括工具区110、设计区120和状态区130。
如图1所示,工具区110包括各种类型的节点创建图标。工具区包括用于创建组织机构节点的节点创建图标111、用于创建排序组织节点的节点创建图标112、用于创建对等节点的节点创建图标113、用户创建认证节点的节点创建图标114、用于创建SDK节点的节点创建图标115、以及用于创建排序节点的节点创建图标116。应当注意,以上仅作为示例了描述了工具区中的节点创建图标,工具区还可以仅包括一个节点创建图标,该一个节点创建图标可以创建节点,然后通过编辑所创建的节点来改变节点的类型,也可以在创建时指定所创建节点的类型。
设计区120的主要部分示出了基于Hyperledger的区块链网络的拓扑结构图。如图1所示,拓扑结构图的根节点是网络节点的图形表示。根据示例,四个组织机构节点的图形表示和一个排序组织节点的图形表示通过连线与网络节点的图形表示连接。在该示例中,四个组织机构节点的图形表示分别代表开发部门、后勤部门、IT部门和测试部门。用户可以根据需要调整组织机构的数量和名称。当然,用户也可以不设计网络节点,而是设计成各个组织机构节点的图形表示彼此通过连线连接。在该示例中,每个组织机构节点包括从属于其的对等节点、认证节点和SDK节点,排序组织节点包括从属于其的排序节点。在参照图1所示的示例中,对等节点peer1的图形表示、认证节点ca1的图形表示和SDK节点sdk1的图形表示通过连线连接到表示后勤部门的组织机构节点的图形表示,以表明这三个节点从属于后勤部门;对等节点peer2的图形表示、认证节点ca2的图形表示和SDK节点sdk2的图形表示通过连线连接到表示IT部门的组织机构节点的图形表示,以表明这三个节点从属于IT部门;对等节点peer3的图形表示、认证节点ca3的图形表示和SDK节点sdk3的图形表示通过连线连接到表示开发部门的组织机构节点的图形表示,以表明这三个节点从属于开发部门;对等节点peer4的图形表示、认证节点ca4的图形表示和SDK节点sdk4的图形表示通过连线连接到表示测试部门的组织机构节点的图形表示,以表明这三个节点从属于测试部门。
设计区120的左上角还示出有多个操作按钮121和缩放滑动条122。多个操作按钮121包括用于返回上一页面(例如可以是下文将结合图3描述的用于管理区块链网络的第二用户界面)的返回按钮、用于刷新设计区的刷新按钮、用于部署区块链网络的部署按钮以及保存按钮。缩放滑动条122可以实现滑动操作,从而放大或缩小设计区中的拓扑结构图。
状态区130用于示出当前区块链网络的信息和/或相应节点的信息。如图1所示,网络节点周围的方框表示用户当前选中网络节点,在网络节点被选中的情况下,在状态区130中示出当前区块链网络的信息。区块链网络的信息包括区块链网络的名称、业务名称、区块链网络的版本、区块链网络类型、运行环境类型、SDK版本号、区块链网络版本等。状态区130还包括描述该区块链网络的描述框,用户可以编辑该描述框中的内容。如果选中的节点是其他类型的节点,则信息可以包括节点的名称、业务名称、域名、部署环境等。
图2示出了根据本公开的示例性实施例的用于管理区块链网络的示例性第一用户界面的示意图。
参照图2,用户管理区块链网络的示例性第一用户界面200包括工具区210、监控区220、状态区230和详细信息显示区240。
图2中的工具区210与图1中的工具区110类似,在此不再赘述。
监控区220的主要部分示出了在图1的设计区120中设计的区块链网络经过部署之后的拓扑网络图。监控区220中示出的各种类型的节点以及节点之间的连线与图1的设计区120中的节点和连线中类似,在此不再赘述。
除了节点和节点之间的连线与图1相同以外,监控区220还包括网络节点、对等节点、认证节点和SDK节点的运行状态图示,其中运行状态图示是突出显示的。突出显示包括网络节点的图形表示的突出显示、对等节点的图形表示的突出显示、认证节点的图形表示的突出显示、以及SDK节点的图形表示的突出显示,以表明上述节点的运行状态均为已部署。如图2所示,突出表示指的是在上述节点外部还显示一个圆形,该圆形以实线方式示出。当然,该圆形也可以是虚线的,并且可以围绕相应的节点的图形表示旋转。监控区220中示出的对等节点peer1、peer2、peer3和peer4的上方各自还包括呈扇形布置的第一状态图示、第二状态图示、第三状态图示和第四状态图示,分别表示与各个对等节点相关联的通道、智能合约、区块链信息和交易信息。如图2所示,关于对等节点peer1的第三状态图示上方显示有数字“4”,表明区块链中的区块高度为4;关于对等节点peer1的第四状态图示上方显示有数字“6”,表明区块链中的发生的交易数量为6。
监控区220的左上角还示出有多个操作按钮221和缩放滑动条222。多个操作按钮221包括用于返回上一页面(例如可以是下文参照图3描述的用于管理区块链网络的第二用户界面)的返回按钮、用于刷新监控区的刷新按钮、以及用于编辑区块链网络的编辑按钮。缩放滑动条122可以实现滑动操作,从而放大或缩小监控区中的拓扑结构图。
状态区230包括通道区231、第一智能合约区232、以及第二智能合约区233。状态区230示出了区块链网络中的通道,一个通道即对应一个区块链。如图2所示,在通道区231中显示通道名称为“投诉”的一个通道,表明该区块链网络中存在一个“投诉”通道。该通道中部署一个智能合约,在第一智能合约区232中显示智能合约名称为“投诉”的一个智能合约。作为示例,该智能合约已经初始化,在第二智能合约区233中显示该名称为“投诉”的智能合约的“已初始化”的文字表示。
详细信息显示区240包括多个详细信息显示按钮,其中包括端口信息显示开关按钮241、名称显示开关按钮242、以及环境实例显示开关按钮243。如图2所示,当前,端口信息显示开关按钮241的开关状态为关,此时在第一用户界面200上未显示端口信息,单击端口信息显示开关按钮241可以将开关状态置为开,从而在第一用户界面200上显示对等节点、认证节点、SDK节点和排序节点的端口信息,再次单击该端口信息开关按钮,可以将开关状态置为关,此时在第一用户界面200上可以不再显示对等节点、认证节点、SDK节点和排序节点的端口信息。端口信息可以包括上述节点的id名称、端口号、IP地址、运行状态等。名称开关按钮可以控制显示或不再显示各个节点的名称,如图2所示,此时名称显示开关按钮242的开关状态为开,点击该名称显示开关按钮242,可以将开关状态置为关,从而不再显示各个节点的名称,从而使得监控区220更加简洁。环境实例开关按钮可以控制在网络节点的图形表示附近处显示或不再显示环境实例的名称,如图2所示,此时环境实例显示开关按钮243的开关状态为关,点击该环境实例显示开关按钮243,可以将开关状态置为开,在网络节点的图形表示附近处显示环境实例的名称。
图3示出了根据本公开的示例性实施例的用于管理区块链网络的示例性第二用户界面的示意图。
参照图3,用于管理区块链网络的示例性第二用户界面300包括链空间区310、链表区320、以及操作区330。
链空间区310中可以示出多个区块链网络的拓扑结构图的缩略图(图3中仅示出了一个),链表区320以列表的形式示出多个区块链网络的各项区块链网络的信息,其中链空间区310中的每个缩略图代表多个区块链网络中的一个,链表区320中的每一行也代表多个区块链网络中的一个,并且每个缩略图可以和每一行区块链网络的信息对应。根据一个示例,当光标移动到链表区320中的某一行时,可以在链空间区310中高亮显示与该一行对应的拓扑网络图的缩略图。根据另一示例,当光标移动到链空间区310中的某个区块链网络的拓扑网络图的缩略图时,可以在链表区320中高亮显示与该缩略图对应的一行区块链网络的信息。链表区320的各项区块链网络的信息可以包括区块链网络的名称、以及区块链网络的版本、网络状态、运行状态、更新时间。网络状态可以包括设计中、已部署和已启动。运行状态可以包括无、部分运行和运行中。链表区320中还包括编辑区325。编辑区325可以为链表区320的每一行均设置多个编辑按钮,使得每个区块链网络都可以被独立地编辑;或者,编辑区325也可以为链表区320的多个区块链网络设置统一的编辑按钮,以对选中的区块链网络进行编辑。编辑按钮可以包括监控按钮、启动按钮、停止按钮、卸载按钮、查看网络日志按钮、以及网络客户端配置下载按钮。监控按钮可以用于跳转到结合图2描述的用于管理区块链网络的第一用户界面。启动按钮可以用于启动或重启对应的区块链网络。停止按钮可以用于暂停对应的区块链网络的运行。卸载按钮可以用于卸载对应的区块链网络,并同时卸载该区块链网络中包括的通道、智能合约和区块数据等。查看网络日志按钮可以用于查看对应的区块链网络的网络日志。网络客户端配置下载按钮可以用于下载对应的区块链网络的客户端配置文件,从而用于配置待加入区块链网络的客户端。
操作区330包括多个操作按钮,其中包括创建网络按钮、搜索按钮、以及刷新按钮。创建网络按钮可用于跳转到如结合图1所描述的用户创建区块链网络的用户界面。搜索按钮可用于按照网络名称搜索期望的区块链网络。刷新按钮可以刷新链空间区310和链表区320,以显示更新后的链空间区和链表区。
本领域技术人员应当理解,以上参照图1至图3描述的用于创建区块链网络的示例性用户界面、用于管理区块链网络的示例性第一用户界面、以及用于管理区块链网络的示例性第二用户界面仅是示例性的,而绝非限制性的。诸如示例性用户界面、示例性用户界面包含的各个功能区、示例性用户界面包括的各个图标、示例性用户界面包括的各个图形表示及状态图示和运行状态图示等所有示例性用户界面中的元素的样式、形状、大小等均是示例性的,且并不构成对本公开的限制。
下面将结合图1和图4描述根据本公开的创建区块链网络的方法。
图4示出了根据本公开的示例性实施例的用于创建区块链网络的示例性方法的流程图。
如上文已经描述的,根据现有技术的创建区块链网络的方法困难大、耗时长、耗资巨。为此,本公开提出了一种易于操作、快速且无需精通区块链技术的专业开发人员的创建区块链网络的方法。
根据图4所示的示例性实施例,创建区块链网络的方法可以包括以下步骤:显示用于创建区块链网络的用户界面,所述用户界面包括区块链网络部署图标和一个或多个节点创建图标(步骤401);响应于接收到针对所述一个或多个节点创建图标的第一用户输入,在所述用户界面中显示第一节点的图形表示(步骤402);以及响应于接收到针对区块链网络部署图标的用户输入,部署区块链网络,所述区块链网络包括所述第一节点(步骤403)。以下将详细描述上述步骤401至步骤403。
在步骤401中,根据一些实施例,用于创建区块链网络的用户界面可以是上文结合图1描述的用于创建区块链网络的示例性用户界面。用户界面可以是以下多种类型的电子设备中的任一种或多种电子设备的用户界面:台式计算机、膝上型计算机、平板电脑、个人数字助理、智能手机等。根据一些实施例,所述用户界面可以包括多个功能区,例如工具区、设计区、状态区等。
根据一些实施例,可以在用户界面的工具区中显示区块链网络部署图标和一个或多个节点创建图标。根据一些实施例,用于创建区块链网络的用户界面可以包括多个节点创建图标,多个节点创建图标可以彼此不同,不同的节点创建图标可以对应于不同类型的节点的创建。根据一些实施例,用于创建区块链网络的用户界面可以仅包括一个节点创建图标,所述一个节点创建图标可以对应于不同类型的节点,也可以对应于同一类型的节点。
在步骤402中,根据一些实施例,针对所述一个或多个节点创建图标的第一用户输入可以包括以下输入方式中的至少一个:在工具区中复制节点创建图标并在设计区中粘贴、选中节点创建图标并在设计区中点击、直接将工具区中的节点创建图标拖动到设计区中、以及适于创建节点的任何类型的用户输入方式。
应当注意,贯穿本文中出现的“复制”、“粘贴”、“选中”、“点击”、“拖动”、“单击”、“双击”、“长按”等操作既可以通过输入设备来实现,也可以直接通过用户的手势来实现,还可以同时通过输入设备和用户的手势来实现。输入设备可以是例如键盘、鼠标、手写板、麦克风等适于用户进行输入的任何类型的输入设备。对用户的手势的感测可以通过触敏表面来实现。根据一些实施例,所述触敏表面又称为触摸屏、触敏显示器等。
根据一些实施例,在用户界面中显示第一节点的图形表示可以是在设计区中显示第一节点的图形表示,但本公开不限于此。根据一些实施例,所述第一节点可以是区块链网络中的任何节点。根据一些实施例,第一节点的图形表示的形状和颜色可以与对应的节点创建图标的形状和颜色均相同或均不同、也可以形状相同而颜色不同或者形状不同而颜色相同。根据一些示例,第一节点的图形表示的形状可以是圆形、三角形、矩形、或者适于表示区块链网络中的节点的任何其他形状的图形表示。
在步骤403中,根据一些实施例,针对区块链网络部署图标的用户输入可以包括以下输入方式中的至少一种:点击该区块链网络部署图标、双击该区块链网络部署图标、长按该区块链网络部署图标、以及适于针对区块链网络部署图标的任何其他类型的用户输入。
根据一些实施例,部署区块链网络可以是将包括第一节点的区块链网络整体连接到网络。根据一些实施例,部署区块链网络也可以是使区块链网络中的各个节点可以彼此通信地连接。根据一些实施例,区块链网络所连接的网络可以是广域网(WAN)、城域网(MAN)、局域网(LAN)、或者适于区块链网络接入的任何其他类型的网络。根据一些实施例,所述区块链网络可以包括至少一个第一节点。根据一些示例,区块链网络中的第一节点的数量可以根据实际需要来确定。根据一些示例,区块链网络中的第一节点的数量也可以取决于应用的共识算法;例如,如果使用的共识算法是工作量证明(POW),则该区块链网络可以包括至少一个第一节点;如果使用的共识算法是实用拜占庭容错算法(PBFT),则该区块链网络可以包括至少四个第一节点。
根据本公开的创建区块链网络的方法,用户输入的方式非常简单且易于上手。一方面,用户仅需要使用根据本公开的方法的图形用户界面中已提供的图标即可创建区块链网络,而无需深入了解区块链技术所包含的各种技术的原理,也无需编写代码。另一方面,根据本公开的创建区块链网络的方法十分直观。
与传统的开发人员通过大量代码创建区块链网络的方法相比,根据本公开的创建区块链网络的方法更加高效,并且对于开发人员的要求较低。非技术人员经过简单的培训就可以使用根据本公开的方法创建区块链网络,大大节省了时间和人力成本。
根据一些实施方式,所述部署区块链网络可以包括获取所述第一节点的信息;以及基于所述第一节点的信息和部署环境的信息,通过调用部署环境的API在所述部署环境中创建所述区块链网络的第一节点。
根据一些实施方式,出于安全性方面的考虑,在用户登入用于创建区块链网络的用户界面和/或用于管理区块链网络的用户界面之前还可以对用户的身份进行验证。并且,如果用户的身份得到认证,则允许用户登入用于创建区块链网络的用户界面和/或用于管理区块链网络的用户界面;否则,拒绝用户登入这些用户界面。根据一些实施例,满足身份验证的用户也可以分为不同类型,并且不同类型的用户对应于不同的权限。根据一些示例,用户可以分为普通用户、管理员和超级管理员三种类型;其中,普通用户可能仅具有查看已创建的区块链网络的状态的权限,管理员除了具有普通用户所具有的权限以外,可能还具有编辑已创建的区块链网络以及创建区块链网络的权限,超级管理员除了具有管理员所具有的权限以外,可能还具有改变用于创建区块链网络的用户界面和用于管理区块链网络的用户界面的样式、排布方式等权限。
根据一些实施方式,可以对区块链网络的类型进行选择。
根据一些实施方式,所述用户界面还包括区块链网络的类型选择菜单,用户可以通过用户界面中的区块链网络的类型选择菜单来对区块链网络的类型进行选择。选择区块链网络的类型的方法可以包括:响应于接收到针对所述区块链网络的类型选择菜单的用户输入,在所述用户界面中显示包括至少一种区块链网络的类型的第一列表;以及响应于接收到用户在所述第一列表中对区块链网络的类型的选择,在所述用户界面中显示所选择的区块链网络的类型的文字表示。
根据一些实施例,根据区块链网络的类型选择菜单的不同的样式,针对所述区块链网络的类型选择菜单的用户输入和第一列表也可以不同。根据一些示例,区块链网络的类型选择菜单可以是下拉式菜单,在这种情况下,针对所述区块链网络的类型选择菜单的用户输入可以包括点击下拉式菜单的下拉按钮或者长按下拉式菜单本身来展开菜单,并且第一列表可以是展开的菜单中所示的列表。根据一些示例,区块链网络的类型选择菜单可以是弹出式菜单,针对所述区块链网络的类型选择菜单的用户输入可以包括点击、双击或长按弹出式菜单本身,并且第一列表可以是弹出的菜单或对话框中所示的列表。当然,以上仅通过一些示例描述了菜单的样式,但本公开不限于此,可以采用适于选择区块链网络的任何样式的类型选择菜单。
根据一些实施例,显示所选择的区块链网络的类型的文字表示可以是直接将所选择的区块链网络的类型的名称和/或简称显示在用户界面上。根据一些示例,可以在区块链网络的类型选择菜单处显示所选择的区块链网络的类型的名称和/或简称,或者可以在用户界面上的适于显示的任何其他位置处显示所选择的区块链网络的类型的名称和/或简称。
根据一些实施方式,所述区块链网络的类型可以包括基于Hyperledger的区块链网络,但本公开不限于此,所述区块链网络的类型还可以包括适于区块链技术的任何其他类型的区块链网络。
根据一些实施例,所创建的区块链网络的类型是以太坊,所述第一节点是以太坊的节点。根据一些实施例,基于以太坊的区块链网络可以是基于以太坊的联盟链性质的区块链网络,也可以是基于以太坊的私链性质的区块链网络。
以这样的方式,用户可以根据实际需要选择区块链网络的类型,从而进一步提高创建区块链网络的适用性和用户界面的可操作性。
应当注意,虽然上文描述了可以对区块链网络的类型进行选择,但本公开不限于此。根据一些实施例,用户无需选择区块链网络的类型。根据一些实施例,根据本公开的示例性方法可以预先指定区块链网络的默认类型,例如,Hyperledger。
根据一些实施方式,在部署区块链网络之前,可以对部署环境的类型进行选择。
根据一些实施方式,所述用户界面还包括部署环境的类型选择菜单,用户可以通过用户界面中的部署环境的类型选择菜单来对部署环境的类型进行选择。选择部署环境的类型的方法可以包括:响应于接收到针对所述部署环境的类型选择菜单的用户输入,在所述用户界面中显示包括至少一种部署环境的类型的第二列表;以及响应于接收到用户在所述第二列表中对部署环境的类型的选择,在所述用户界面中显示所选择的部署环境的类型的文字表示。
根据一些实施例,根据部署环境的类型选择菜单的样式、针对所述部署环境的类型选择菜单的用户输入和第二列表与上文已经详细描述的区块链网络的类型选择菜单的样式、针对所述区块链网络的类型选择菜单的用户输入和第一列表类似,因此,为了清楚起见,在此不再赘述。当然,对于部署环境的类型选择和区块链网络的类型选择,上述选择菜单的样式、用户输入的方式和列表的形式可以相同,也可以不同。
根据一些实施方式,所述部署环境的类型可以包括Kubernetes、Docker Compose、以及Virtual Machine,但本公开不限于此,所述部署环境的类型还可以包括适于区块链技术的任何其他类型的部署环境。
以这样的方式,用户可以根据实际需要选择部署环境的类型,从而进一步提高创建区块链网络的适用性和用户界面的可操作性。
应当注意,虽然上文结合本公开的示例性实施例描述了在部署区块链网络之前可以对部署环境的类型进行选择,但本公开不限于此。根据一些实施例,在部署区块链网络之前,用户无需选择部署环境的类型。根据一些实施例,根据本公开的示例性方法可以预先指定部署环境的默认类型,例如,Kubernetes。
根据一些实施方式,在部署区块链网络之前,可以对环境实例进行选择。根据一些实施例,用户无需选择环境实例。根据一些实施例,根据本公开的示例性方法可以预先指定默认的环境实例。
根据一些实施方式,在部署区块链网络之前,可以选择样例应用。根据一些实施例,样例应用可以是预先设置的区块链网络的配置文件。
下面将以基于Hyperledger的区块链网络为例,详细描述根据本公开的示例性实施例的创建区块链网络的示例性方法。
根据一些实施方式,所述示例性方法可以包括:响应于接收到针对所述一个或多个节点创建图标的第一用户输入,在所述用户界面中显示第一节点的图形表示。由于所创建的区块链网络的类型是Hyperledger,在这种情况下,所述第一节点是组织机构节点。上文已经结合图4描述了创建所述第一节点的详细过程,在此不再赘述。根据一些实施例,作为所述第一节点的所述组织机构节点可以是代表组织机构的节点。根据一些实施例,组织机构可以是企业中的部门,例如,组织机构可以是企业中的开发部门W、测试部门X、IT部门Y、后勤部门Z等。根据一些实施例,组织机构还可以是企业、事业单位、其他组织,例如,组织机构可以是银行A、学校B、公益组织C等。根据一些实施例,所述组织机构节点可以是实体节点,例如,组织机构节点可以是实体的物理机。根据一些实施例,所述组织机构节点也可以是虚拟节点,例如,组织机构节点可以是云端的docker。根据一些实施例,所述组织机构节点既不对应于实体的物理设备,也不对应于虚拟的云端产品,而是纯逻辑节点。
所述示例性方法还可以包括:响应于接收到针对所述一个或多个节点创建图标的第二用户输入,在所述用户界面中显示第二节点的图形表示,所述第二节点是排序组织节点。作为所述第二节点的所述排序组织节点可以是代表排序组织的节点,所述排序组织可以由所有的排序节点组成。
根据一些实施方式,所述第一用户输入不同于所述第二用户输入,但是所述第二用户输入可以包括的各种输入方式的选择范围可以与上文已经详细描述过的所述第一用户输入可以包括的各种输入方式的选择范围相同。下面将分两种情况通过示意性示例详细描述第一用户输入和第二用户输入。
情况一:所述用户界面中包括多个不同的节点创建图标,每个不同的节点创建图标可以对应于一种类型的节点的创建。
在情况一中,根据一些示例,第一用户输入可以是直接将与组织机构节点对应的节点创建图标拖动到设计区中,第二用户输入可以是直接将与排序组织节点对应的节点创建图标拖动到设计区中。
情况二:所述用户界面中只包括一个节点创建图标。
在情况二中,根据一些示例,第一用户输入可以是直接拖动工具区中的节点创建图标到设计区中并然后通过编辑(例如,选择或字符输入)该节点的图形显示以确定所述第一用户输入对应于创建组织机构节点,第二用户输入可以是直接拖动工具区中的节点创建图标到设计区中并然后通过编辑(例如,选择或字符输入)该节点的图形显示以确定所述第二用户输入对应于创建排序组织节点。
应当注意,在上述两种情况的示例中,所描述的第一用户输入和第二用户输入的输入方式是相似的,这是出于用户操作的一致性和方便性的角度考虑的,但本公开也不限于此,例如,在情况一中,第一用户输入可以是直接将与组织机构节点对应的节点创建图标拖动到设计区中,第二用户输入可以是在工具区中复制与排序组织节点对应的节点创建图标并在设计区中粘贴。
以上通过示意性示例详细描述了针对节点创建图标的第一用户输入和第二用户输入,下文还将描述针对节点创建图标的第三用户输入、第四用户输入、第五用户输入、第六用户输入和第七用户输入。所述第三用户输入至所述第七用户输入在输入方式上的原理与所述第一用户输入和所述第二用户输入的原理类似,因此为了清楚起见,下文将不再赘述。
以这样的方式,用户可以更加方便快捷的创建Hyperledger类型的区块链网络。
根据一些实施方式,用户界面还可以包括组织机构新增图标,并且所述示例性方法还可以包括:响应于接收到针对所述组织机构新增图标的用户输入,在用户界面上显示用于输入组织机构的信息的对话框,所述信息包括组织机构的机构名称、别名、业务名称等;响应于接收到针对第一节点的图形表示的用户输入,显示用于选择所新增的组织机构的菜单或列表;响应于接收到菜单或列表中的一项的用户输入,显示与该项对应的组织机构的名称或别名或业务名称等。
以这样的方式,用户可以提前布局好待加入区块链网络的组织机构,并且在用户界面中可以很好地区分各组织机构。
所述示例性方法还可以包括:响应于接收到所述第一用户输入,在所述用户界面中还显示对等节点的图形表示,并且显示将所述对等节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述对等节点从属于所述第一节点。
在Hyperledger中,对等节点(peer)主要负责通过执行链码实现对区块链网络中的分布式账本的读写操作。所有的对等节点都是记账节点,负责维护状态数据和账本的副本。部分对等节点根据背书策略的设定会执行交易并对结果进行背书,从而用作背书节点。
应当注意,贯穿全文的连线可以是连接例如对等节点的图形表示和组织机构节点的图形表示之间的线段、曲线、箭头等。在用户界面中,连线与对等节点的图形表示和组织机构节点的图形表示可以接触,也可以不接触。
在一些实施方式中,表明对等节点从属于第一节点指的是表明对等节点从属于组织机构节点。根据一个示例性实施例,银行A具有物理机C1,因而物理机C1从属于银行A。在该示例性实施例的区块链网络中,使用组织机构节点Org表示作为组织机构的该银行A,使用对等节点peer1表示该银行A具有的待加入区块链网络中的物理机C1,并且响应于接收到第一用户输入,可以在用户界面中显示表示物理机C1的对等节点peer1的图形表示和表示银行A的组织机构节点Org的图形表示之间的连线,来表明物理机C1从属于银行A。
在一些实施方式中,响应于接收到如上文所述的第一用户输入,可以同时显示组织机构节点的图形表示、对等节点的图形表示、以及组织机构节点的图形表示和对等节点的图形表示之间的连线。在一些实施方式中,可以按照时间顺序显示这三者,例如,可以先显示组织机构节点的图形表示,再显示对等节点的图形表示,最后显示组织机构节点的图形表示和对等节点的图形表示之间的连线。当然,本公开不限于此,可以采用适于显示节点以及显示节点之间的从属关系的任何顺序来显示这三者。
通常,每个组织机构具有至少一个对等节点。因此,当用户期望通过第一用户输入创建组织机构节点的图形表示时,可以在用户界面上自动创建一个与该组织机构节点相关联的对等节点以及表明该对等节点从属于该组织机构节点的连线。以这样的方式,进一步简化了区块链网络的创建,节省时间,并且降低了创建区块链网络过程中由于忘记创建对等节点而导致的出错概率。
所述示例性方法还可以包括:响应于接收到所述第二用户输入,在所述用户界面中还显示排序节点的图形表示,并且显示将所述排序节点的图形表示连接到所述第二节点的图形表示的连线,以表明所述排序节点从属于所述第二节点。
在Hyperledger中,排序节点(orderer)主要负责区块链网络中的共识过程。在共识过程中,排序节点接收区块链网络中的至少一个交易,对这些交易进行排序,将这些交易打包到区块中,将区块分发到对等节点,等待验证,并且在验证成功后将验证过的区块再次分发到对等节点。
根据一个示例性实施例,排序组织具有排序节点orderer1,因而排序节点orderer1从属于排序组织。在该示例性实施例的区块链网络中,响应于接收到第二用户输入,可以在用户界面中显示排序节点orderer1和排序组织之间的连线,来表明排序节点orderer1从属于排序组织。
通常,每个排序组织具有至少一个排序节点。因此,当用户期望通过第二用户输入创建排序组织节点的图形表示时,可以在用户界面上自动创建一个与该排序组织节点相关联的排序节点以及表明该排序节点从属于该排序组织节点的连线。以这样的方式,进一步简化了区块链网络的创建,节省时间,并且降低了创建区块链网络过程中由于忘记创建排序节点而导致的出错概率。
所述示例性方法还可以包括:响应于接收到针对所述一个或多个节点创建图标的第五用户输入,在所述用户界面中显示对等节点的图形表示;响应于接收到针对所述对等节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点从属于所述第一节点;响应于接收到针对所述一个或多个节点创建图标的第六用户输入,在所述用户界面中显示排序节点的图形表示;以及响应于接收到针对所述排序节点的图形表示和所述第二节点的图形表示的用户输入,显示将所述排序节点的图形表示连接到所述第二节点的图形表示的连线,以表明所述排序节点从属于所述第二节点。
根据一个示例性实施例,银行A可能具有多于一台物理机,例如具有三台物理机C1、C2、C3,使用组织机构节点Org表示作为组织机构的该银行A,使用对等节点peer1、peer2、peer3表示该银行A具有的三台物理机C1、C2、C3;另外,排序组织可能具有多于一个排序节点,例如具有三个排序节点orderer1、orderer2、orderer3。在该示例性实施例中,响应于接收到第一用户输入和第二用户输入,只能自动创建一个对等节点peer1和一个排序节点orderer1,因而还需要手动创建其他两个对等节点peer2、peer3和其他两个排序节点orderer2、orderer3。
根据示例性方法,在该示例性实施例中,用户可以分别发起两次第五用户输入和两次第六用户输入以创建其他两个对等节点peer2、peer3和其他两个排序节点orderer2、orderer3。
此外,在该示例性实施例中,用户还可以发起分别针对对等节点peer2的图形表示和组织机构节点Org的图形表示的用户输入和针对对等节点peer3的图形表示和组织机构节点Org的图形表示的用户输入,以显示组织机构节点Org分别与对等节点peer2和peer3之间的连线,从而表明对等节点peer2和peer3均属于组织机构节点Org,换言之,物理机C2和C3均属于银行A。此外,在该示例性实施例中,用户还可以发起分别针对排序节点orderer2的图形表示和排序组织节点的图形表示的用户输入和针对排序节点orderer3的图形表示和排序组织节点的图形表示的用户输入,以显示排序组织节点分别与排序节点orderer2和orderer3之间的连线。
在某些情况下,组织机构节点可能包括多于一个从属于其的对等节点,排序组织节点可能包括多于一个从属其的排序节点。因此,当用户期望手动加入更多的对等节点和排序节点时,可以通过第五用户输入和第六用户输入来创建更多的对等节点和排序节点。以这样的方式,进一步提高了区块链网络创建的灵活性和用户界面友好度。
所述示例性方法还可以包括:响应于接收到所述第一用户输入,在所述用户界面中还显示认证节点的图形表示和SDK节点的图形表示,并且显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线以及将所述SDK节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点和所述SDK节点分别从属于所述第一节点。
在Hyperleger中,认证(CA)节点负责验证节点的身份和颁发证书。认证节点可以帮助组织机构节点认证从属于其的所有对等节点的身份。SDK节点负责验证组织机构的身份和保证网络中的SDK的统一性。
在一些实施方式中,为了更好地提高组织机构的内部安全性,可以为每一个组织机构节点创建从属于其的认证节点。根据一个示例性实施例,对于银行A等对安全性要求较高的组织机构,需要创建一个从属于其的认证节点ca,并且响应于接收到第一用户输入,可以在用户界面中显示认证节点ca的图形表示和表示银行A的组织机构节点Org的图形表示之间的连线。
在一些情况下,为了提高组织机构内部安全性,每个组织机构具有一个认证节点。因此,当用户期望通过第一用户输入创建组织机构节点的图形表示时,可以在用户界面上自动创建一个与该组织机构节点相关联的认证节点以及表明该认证节点从属于该组织机构节点的连线。
以这样的方式,进一步简化了区块链网络的创建,节省时间,并且降低了创建区块链网络过程中由于忘记创建认证节点而导致的安全性问题的概率。
在一些实施方式中,为了提高整个区块链网络的安全性,可以为每一个组织机构节点创建从属于其的SDK节点。根据一个示例性实施例,对于银行A等对安全性要求较高的组织机构,需要创建一个从属于其的SDK节点sdk,并且响应于接收到第一用户输入,可以在用户界面中显示SDK节点sdk的图形表示和表示银行A的组织机构节点Org的图形表示之间的连线。
在一些情况下,为了提高整个区块链网络的网络安全性,每个组织机构具有一个SDK节点。因此,当用户期望通过第一用户输入创建组织机构节点的图形表示时,可以在用户界面上自动创建一个与该组织机构节点相关联的SDK节点以及表明该SDK节点从属于该组织机构节点的连线。以这样的方式,进一步简化了区块链网络的创建,节省时间,并且降低了创建区块链网络过程中由于忘记创建SDK节点而导致的网络安全性问题的概率。
所述示例性方法还可以包括:响应于接收到针对所述一个或多个节点创建图标的第三用户输入,在所述用户界面中显示认证节点的图形表示;以及响应于接收到针对所述认证节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点从属于所述第一节点;响应于接收到针对所述一个或多个节点创建图标的第四用户输入,在所述用户界面中显示SDK节点的图形表示;以及响应于接收到针对所述SDK节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述SDK节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述SDK节点从属于所述第一节点。
根据一些实施方式,认证节点是可选的。对于内部网络安全性要求较低或者仅具有少量对等节点而易于人工认证的组织机构,在创建组织机构节点时,也可以不自动创建认证节点。如果后续该组织机构对内部网络安全性的要求提高或者加入大量待认证的对等节点,则可以通过针对所述一个或多个节点创建图标的第三用户输入来手动加入与该组织机构节点相关联的认证节点,并且通过针对所述认证节点的图形表示和所述第一节点的图形表示的用户输入来显示二者之间的连线以表明从属关系。
以这样的方式,当用户期望手动加入认证节点时,可以通过第三用户输入来手动创建认证节点,从而进一步提高了区块链网络创建的灵活性和用户界面友好度。
根据一些实施方式,SDK节点是可选的。根据一些实施例,对于有一定网络安全性要求的区块链网络而言,每个区块链网络中可以仅具有一个SDK节点。如果组织机构希望手动加入SDK节点,则可以通过针对所述一个或多个节点创建图标的第四用户输入来手动加入与该组织机构节点相关联的SDK节点,并且通过针对所述SDK节点的图形表示和所述第一节点的图形表示的用户输入来显示二者之间的连线以表明从属关系。
以这样的方式,当用户期望手动加入SDK节点时,可以通过第四用户输入来手动创建SDK节点,从而进一步提高了区块链网络创建的灵活性和用户界面友好度。
所述示例性方法还可以包括:显示所述区块链网络的网络节点的图形表示。此外,所述示例性方法还可以包括:响应于接收到所述第一用户输入,还显示将所述第一节点的图形表示连接到所述网络节点的图形表示的连线。
根据一些实施方式,可以采用在用户界面上显示的网络节点的图形表示来表示整个区块链网络的网络连接。根据一些实施例,可以显示用户界面的同时显示网络节点的图形表示。根据一些实施例,也可以响应于接收到针对一个或多个节点创建图标的第七用户输入,在用户界面上显示网络节点的图形表示。
根据一些实施方式,可以使用连线来连接该网络节点的图形表示与每一个组织机构节点的图形表示,以表明这些组织机构节点之间可以彼此通信地连接。
通过在用户界面上显示该网络节点的图形表示,使得网络节点的图形表示与上文已经描述的组织机构节点的图形表示、排序组织节点的图形表示、对等节点的图形表示、认证节点的图形表示、SDK节点的图形表示、排序节点的图形表示共同在用户界面上形成树状的拓扑结构图。该树状的拓扑结构图具有三个层级,其中充当该树状的拓扑结构图的根节点的网络节点的图形表示作为第一层级,组织机构节点的图形表示和排序组织节点的图形表示作为第二层级,以及对等节点的图形表示、认证节点的图形表示、SDK节点的图形表示和排序节点的图形表示作为第三层级。
将网络节点的图形表示作为根节点,使得整个区块链网络可以表示为树状的拓扑结构图,更加美观,并且各个类型的节点层次分明、脉络清晰,进一步改善了创建区块链网络的用户界面的用户体验。
当然,本领域技术人员将理解,该网络节点可以是虚拟的逻辑节点,其表示各个组织机构节点之间可以具有的有线和/或无线通信连接。根据一些实施方式,也可以不在用户界面上显示网络节点。根据一些实施例,可以响应于针对接收到两个机构组织节点的图形表示的用户输入,在用户界面中显示连接着两个组织机构节点的图形表示之间的连线,以表明这两个组织机构节点可以彼此通信地连接。
根据一些实施方式,所述用户界面还可以包括节点删除图标和连线删除图标,并且所述示例性方法还可以包括:响应于接收到针对所述节点删除图标和待删除节点的图形表示的用户输入,从所述用户界面删除所述待删除节点的图形表示和连接到所述待删除节点的连线;以及响应于接收到针对所述连线删除图标和待删除连线的用户输入,从所述用户界面删除所述待删除连线。
根据一些实施例,节点删除图标和连线删除图标可以直接显示在用户界面上,也可以在选择待删除的节点和/或连线时才显示。
以这样的方式,用户可以方便地删除已创建的节点和/或连线,从而进一步提高了区块链网络创建的灵活性和用户界面友好度。
下面将详细描述根据本公开的示例性实施例介绍部署区块链网络的示例性步骤。
为了方便描述,在部署区块链网络的示例性步骤中,假定区块链类型是Hyperledger,部署的环境类型为Kubernetes,本领域技术人员应当理解,这些假定并不构成对本公开的限制。
根据一些实施例,在根据本公开的示例性方法中,所述区块链网络的类型可以是Hyperledger,所述部署环境可以是Kubernetes,并且所述通过调用部署环境的API在所述部署环境中创建所述区块链网络的第一节点可以包括:在Kubernetes环境中创建命名空间;在所述命名空间中创建区块链网络的目录结构;在所述命名空间中为每个组织机构节点创建证书;在所述命名空间中为所述对等节点、所述排序节点和所述SDK节点分配端口并生成yaml文件;以及基于所述yaml文件,创建所述对等节点的pod、所述排序节点的pod和所述SDK节点的pod。
根据一些实施例,部署区块链可以包括:
接收到部署区块链网络的请求,读取已经在用户界面中设计好的区块链网络的拓扑结构图,其中拓扑结构图包括区块链网络的拓扑结构信息,拓扑结构信息包括组织机构节点、对等节点、认证节点和SDK节点的信息;
后台网络管理模块实例化Kubernetes环境处理接口模块,并且Kubernetes环境处理接口模块通过调用Kubernetes API连接到Kubernetes环境;
根据区块链网络的名称调用createNamespace函数在Kubernetes环境中创建命名空间,并在命名空间下通过KubernetesCommandRun函数创建Fabric网络的目录结构;
通过KubernetesCommandRun函数在Kubernetes环境中的命名空间中调用预设的Fabric脚本,根据组织机构节点的名称和域名为每个组织机构节点创建相关证书;
调用NetworkOrderProcess函数、NetworkPeerProcess函数和NetworkSdkProcess函数来在Kubernetes环境的命名空间中分别为排序节点、对等节点和SDK节点分配端口,保存所述端口,并且生成各自的yaml文件;以及
根据各自生成的yaml文件,分别创建对等节点的pod、排序节点的pod和SDK节点的pod。
根据一些实施方式,还可以更新的区块链网络的显示。
根据一些实施例,根据本公开的示例性方法还可以包括:每隔预定时间扫描所述区块链网络;通过API获取所述区块链网络中的所述第一节点的网络状态并在数据库中更新所述网络状态;读取所述数据库中更新的网络状态;以及基于更新的网络状态,在所述用户界面中显示更新的区块链网络。
根据一些实施例,更新部署的区块链网络的方法可以包括:后台网络管理模块在部署区块链网络之后修改该区块链网络的信息中的网络状态为已部署,并通知网络状态侦听模块对网络状态进行侦听;网络状态侦听模块每隔预定时间对网络拓扑结构进行扫描,对每个节点调用checkFabricNodeStatus函数获取网络节点的状态信息,并更新到数据库中;以及通过API从数据库读取网络状态,更新区块链网络中各个节点的状态,在用户界面上显示更新后的区块链网络。
在部署区块链网络成功之后,还可以为一个或多个对等节点创建通道。
所述示例性方法还可以包括:响应于接收到针对所述区块链网络中任意一个节点的图形表示的用户输入,显示功能选择菜单,所述功能选择菜单包括通道创建选项;以及响应于接收到针对所述通道创建选项的用户输入,在所述用户界面中显示所述通道的文字表示。
在Hyperledger中,通道(channel)是一个逻辑结构,其由物理存在的节点组成。一个通道包含一个分布式账本,所以也可以理解成一个通道形成一条区块链。一个对等节点可以加入到多个通道中,但每个通道的账本是隔离的,实现不同通道之间的数据隔离和保密。因此,通过使用多个通道,可以在一个区块链网络中产生多个账本。
根据一些实施方式,针对任意一个节点的图形表示的用户输入可以是双击、长按该任意一个节点的图形表示,并且如果输入设备是鼠标,可以是右键点击该任意一个节点的图形表示。
根据一些实施方式,针对所述通道创建选项的用户输入可以包括对所述通道创建选项的选择。根据一些实施例,针对所述通道创建选项的用户输入还可以包括对所创建通道的通道名称和通道别名的用户输入,并且对通道名称和通道别名的用户输入可以在用户界面上显示,也可以在新弹出的对话框中显示。
响应于接收到针对所述通道创建选项的用户输入,根据本公开的示例性实施例的创建通道的方法可以包括:识别用户输入的待创建通道的名称、别名以及详细信息,向服务器提交创建通道的请求;服务器接收请求数据,校验提交数据的合法性,并根据通道名称在数据库中进行查重,如提交数据不合法直接返回数据不合法错误信息;服务器将接收到的合法数据交给网络管理模块进行通道的创建;网络管理模块根据网络结构生成配置文件;网络管理模块根据通道名称在后台执行创建通道准备文件的脚本;网络管理模块调用SDK的Rest API,并将组织机构名称、通道名称等参数传递给SDK;SDK收到创建通道请求的参数后进行解析,取得共识节点地址及相关证书;基于通道名称等参数,发送创建通道请求到共识节点;共识节点创建目标通道,返回创建结果;SDK接收到创建通道的返回结果并返回给上层;如果SDK创建通道成功,则将通道保存到数据库中;以及服务器向客户端返回创建通道的结果。
根据一些实施方式,显示所述通道的文字表示可以是在用户界面中显示所述通道的名称。
通过创建区块链网络的用户界面可以进一步直观地创建作为逻辑结构的通道,并且通道的创建可以与任意节点相关联,这进一步提高了创建区块链网络的用户界面的灵活性和可操作性。
所述示例性方法还可以包括:在所述对等节点的图形表示附近处,还显示与所述对等节点对应的通道状态图示;以及响应于接收到针对所述对等节点的图形表示和所述通道的文字表示的用户输入,将所述对等节点加入所述通道,并且突出显示所述通道状态图示,以表明所述对等节点已加入通道。
根据一些实施方式,在所述对等节点的图形表示附近处,还显示与所述对等节点对应的至少一个状态图示,并且至少一个状态图示中包括通道状态图示,通道状态图示可以根据对应的对等节点与通道相关的不同状态而呈现多种不同的外观。根据一些实施例,突出显示通道状态图示指的是,当对应的对等节点尚未加入通道时,淡化显示通道状态图示,而当对应的对等节点已经加入通道时,以高亮的方式显示该通道状态图示。根据一些实施例,突出显示通道状态图示指的是,当对应的对等节点尚未加入通道时,以缩小的方式显示通道状态图示,而当对应的对等节点已经加入通道时,以放大的方式显示该通道状态图示。根据一些实施例,突出显示通道状态图示指的是,当对应的对等节点尚未加入通道时,以静态的方式显示通道状态图示,而当对应的对等节点已经加入通道时,以动态的方式显示该通道状态图示。当然,本公开不限于此,还可以采用各种适当的方式突出显示通道状态图示,以区分对应的对等节点是否加入通道。
以这样的方式,用户可以通过所述用户界面将任意对等节点加入任意通道,进一步丰富了创建区块链网络的功能和可操作性。
在创建通道之后,还可以为节点部署智能合约并且初始化部署的智能合约。
所述功能选择菜单还可以包括智能合约部署选项,并且所述示例性方法还可以包括:在所述对等节点的图形表示附近处,还显示与所述对等节点对应的智能合约状态图示;以及响应于接收到针对所述智能合约部署选项的用户输入,部署智能合约,并且突出显示所述智能合约状态图示,以表明所述对等节点已部署智能合约。
在Hyperledger中,使用智能合约来提供对账本的访问控制。智能合约不仅仅作为封装并简化信息的核心机制,还可以允许参与者自行编写从而处理某些自动执行的事务。
根据一些实施方式,上文已经描述的至少一个状态图示还可以包括智能合约状态图示。根据一些实施例,智能合约状态图示的外观和突出显示的方式可以类似于上文已经详细描述过的通道状态图示的外观和突出显示的方式,在此不再赘述。
根据一些实施方式,针对所述智能合约部署选项的用户输入,可以包括对所述智能合约部署选项的选择。根据一些实施例,针对所述智能合约部署选项的用户输入可以直接在所述用户界面上显示,也可以在新弹出的对话框中显示。根据一些实施例,针对所述智能合约部署选项的用户输入可以包括但不限于上传预先设置好的智能合约、输入智能合约的名称、输入智能合约的版本号、输入智能合约待应用的通道名称、输入预先设置好的智能合约的开发语言。根据一些实施例,输入智能合约的版本号、输入智能合约待应用的通道名称、输入预先设置好的智能合约的开发语言可通过文字化的方式输入,也可以选择的方式输入。
根据一些实施方式,部署智能合约成功后,智能合约的名称可以显示在相应的通道的名称附近处,例如下方,以表示该相应的通道中部署了该智能合约。
以这样的方式,用户可以直观地部署智能合约并且可以直观地设置与待部署的智能合约相关的属性信息。
在部署智能合约之后,还可以初始化所部署的智能合约。
所述功能选择菜单还包括智能合约初始化选项,并且所述示例性方法还可以包括:响应于接收到针对所述智能合约初始化选项的用户输入,初始化智能合约,并且在所述用户界面中显示已初始化智能合约的文字表示。
根据一些实施方式,针对所述智能合约初始化选项的用户输入可以直接在所述用户界面上显示,也可以在新弹出的对话框中显示。根据一些实施例,针对所述智能合约部署选项的用户输入可以包括但不限于选择未初始化的智能合约、添加或编辑或删除初始化智能合约所需的参数。
根据一些实施方式,在初始化智能合约之前,还可以弹出新的对话框,并可以接收来自用户再次确认初始化智能合约的选择。
根据一些实施方式,所述用户界面中显示已初始化智能合约的文字表示包括在用户界面的中间弹出表示已成功初始化智能合约的提示框。所述文字表示还包括在相应的智能合约的名称附近处显示已初始化的文字表示,以表明相应的智能合约已经成功初始化。
以这样的方式,用户可以更加直观地初始化智能合约。
下面将结合图2、图3和图5描述根据本公开的管理区块链网络的方法。
图5示出了根据本公开的示例性实施例的用于管理区块链网络的示例性方法的流程图。
如上文已经描述的,根据现有技术的管理区块链网络的方法十分繁琐且不直观。为此,本公开提出了一种易于操作、直观且无需精通区块链技术的维护人员的管理区块链网络的方法。
根据图5所示的示例性实施例,管理区块链网络的方法可以包括以下步骤:显示用于管理区块链网络的用户界面,所述用户界面包括一个或多个区块链网络查看图标和一个或多个区块链网络编辑图标(步骤501);响应于接收到针对所述一个或多个区块链网络查看图标的用户输入,在所述用户界面中显示区块链网络(步骤502);以及响应于接收到针对所述一个或多个区块链网络编辑图标的用户输入,编辑所述一个或多个区块链网络,并且在所述用户界面中显示经编辑的区块链网络(步骤503)。以下将详细描述上述步骤501至步骤503。
在步骤501中,根据一些实施方式,用于管理区块链网络的用户界面可以是上文结合图2和图3描述的用于管理区块链网络的用户界面。所述用户界面可以是以下多种类型的电子设备中的任一种电子设备的用户界面:台式计算机、膝上型计算机、平板电脑、个人数字助理、智能手机等。
在步骤502中,根据一些实施方式,针对所述一个或多个区块链网络查看图标的用户输入可以包括光标放置、点击、双击、长按、以及适于查看区块链网络的任何类型的用户输入方式。根据一些实施例,光标放置可以包括通过输入设备将光标放置在用户界面中的图标上,也可以包括通过触摸将光标放置在用户界面中的图标上。
在步骤503中,根据一些实施方式,针对所述一个或多个区块链网络编辑图标的用户输入可以与针对所述一个或多个区块链网络查看图标的用户输入类似,在此不再赘述。
根据本公开的管理区块链网络的方法,用户输入的方式非常简单且易于上手。一方面,用户仅需要使用根据本公开的方法的图形用户界面中已提供的图标即可创管理区块链网络,而无需深入了解区块链技术所包含的各种技术的原理,也无需编写代码来管理区块链网络。另一方面,根据本公开的管理区块链网络的方法十分直观。
与传统的管理区块链网络的方法相比,根据本公开的管理区块链网络的方法更加直观,并且对于维护人员的要求较低。非技术人员经过简单的培训就可以使用根据本公开的方法管理区块链网络,大大节省了时间和人力成本。
根据一些实施方式,所述显示区块链网络和所述显示经编辑的区块链网络分别可以包括显示所述区块链网络的拓扑结构图。
根据一些实施例,拓扑结构图是指由网络节点设备和通信介质构成的网络结构图。区块链网络是由一个或多个相同或不同种类的节点通过一个或多个通信链路耦接在一起的网络。拓扑结构图特别适于显示区块链网络和经编辑的区块链网络。
采用拓扑结构图可以使得区块链网络和经编辑的区块链网络的显示更加直观,方便用户对区块链网络的管理。
根据一些实施方式,所述用户界面可以包括第一用户界面,并且所述显示所述区块链网络的拓扑结构图可以包括:在所述第一用户界面中,显示所述区块链网络的节点的图形表示;以及在所述第一用户界面中,显示连接所述节点的连线。
根据一些实施例,第一用户界面的一个示例可以是上文结合图2描述的用于管理区块链网络的示例性第一用户界面。
根据一些实施方式,所述第一用户界面还可以包括节点创建图标和区块链网络部署图标,并且所述示例性方法还可以包括:响应于接收到针对所述节点创建图标的用户输入,在所述第一用户界面中显示新增节点的图形表示;响应于接收到针对所述新增节点的图形表示和已有节点的图形表示的用户输入,显示连接所述新增节点和已有节点的新增连线;响应于接收到针对区块链网络部署图标的用户输入,基于所述新增节点以及所述连接所述新增节点和已有节点的新增连线,将所述新增节点部署到区块链网络中。
根据一些实施例,该新增节点可以是任意类型的节点。根据一些示例,该新增节点可以是组织机构节点和/或对等节点。
根据一些实施例,已有节点可以是任意类型的节点。根据一些示例,该新增节点是对等节点,已有节点可以是组织机构节点,并且响应于接收到针对该对等节点和组织机构节点的用户输入,可以显示连接该对等节点和组织结构节点的新增连线,以表示该新增的对等节点从属于该已有的组织机构节点。根据一些示例,该新增节点是组织机构节点,已有节点可以是网络节点,并且响应于接收到针对该组织机构节点和网络节点的用户输入,可以显示连接该组织机构节点和网络节点的新增连线,以表示该新增的组织机构节点可通信地与网络连接。
根据一些实施例,可以将上述新增节点按照该新增节点与已有节点之间的关系部署到正在运行的区块链网络中。
以这样的方式,对于已部署且正在运行的区块链网络,用户可以直接在用于管理区块链网络的第一用户界面上加入新增节点,并然后将该新增节点部署到区块链网络中,而无需停止整个区块链网络的运行,这大大提高了对区块链网络的管理的灵活性和可操作性。
根据一些实施方式,所述节点可以包括第一节点,并且所述方法还可以包括:如果所述区块链网络已部署,则在所述第一节点的图形表示附近处,还显示与所述第一节点对应的第一状态图示、第二状态图示、第三状态图示和第四状态图示,其中,如果所述第一节点已加入通道,则突出显示所述第一状态图示,如果所述第一节点已部署智能合约,则突出显示所述第二状态图示,如果所述第一节点所加入的通道已生成区块链,则突出显示所述第三状态图示,如果所述第一节点所加入的通道已发生交易,则突出显示所述第四状态图示。
根据一些实施方式,第一节点例如可以是基于Hyperledger的区块链网络中的对等节点。
根据一些实施方式,为了更好地管理已经部署的区块链网络,可以在所述第一节点附近布置一个或多个状态图示,例如,一个、两个、三个、四个、或更多个。每个状态图示可以表示与第一节点相关联的一种状态。根据一些实施例,第一状态图示可以表示与第一节点加入的通道相关联的状态,第二状态图示可以表示与第一节点部署的智能合约相关联的状态,第三状态图示可以表示与第一节点加入的区块链相关联的状态,第四状态图示可以表示与第一节点加入的区块链中发生的交易相关联的状态。当然,本公开不限于此,状态图示还可以表示除了上述四种与第一节点相关联的状态以外的状态,例如,状态图示还可以表示与第一节点加入的区块链中发生的共识相关联的状态。
根据一些实施方式,一个或多个状态图示可以以第一节点的图形表示为中心呈扇形布置在第一节点的图形表示的上方,但本公开不限于此,一个或多个状态图示还可以以第一节点的图形表示为中心呈扇形布置在第一节点的图形表示的左方、左上方、右上方、右方、右下方、下方、左下方等。根据一些实施例,一个或多个状态图示可以以任何适于展示第一节点的状态的方式布置在第一节点的图形表示附近。
以这种方式,可以更加直观地展示与第一节点相关联的状态,便于用户对区块链网络的管理。
根据一些实施方式,所述管理区块链网络的方法还可以包括:响应于针对所述第三状态图示的用户输入,显示与所述第一节点对应的区块信息;以及响应于针对所述第三状态图示的用户输入,显示与所述第一节点对应的交易信息。
根据一些实施方式,所述管理区块链网络的方法还可以包括:在所述突出显示的第三状态图示附近处,显示表明已生成的区块链的区块高度的第一计数;在所述突出显示的第四状态图示附近处,显示表明已发生的交易的次数的第二计数。
根据一些实施方式,第一计数可以布置在第一节点的图形表示的中心与第三状态图示的连线的延长线上,第二计数可以布置在第一节点的图形表示的中心与第四状态图示的连线的延长线上。当然,本公开不限于此,第一计数和第二计数可以分别位于第三状态图示和第四状态图示附近处任何适于显示计数的位置处,只要不彼此混淆即可。
以这样的方式,可以更加直观地显示当前区块链中发生的交易数量以及当前区块的高度,方便用户对区块链网络的管理。
根据管理区块链网络的示例性方法,所述区块链网络的类型可以是Hyperledger,所述第一节点可以是对等节点,所述节点还可以包括作为对等节点或认证节点或SDK节点或网络节点的第二节点,并且如果所述区块链网络已部署,则在所述第一节点的图形表示附近处可以突出显示与所述第一节点对应的运行状态图示,或者在所述第二节点的图形表示附近处可以突出显示与所述第二节点对应的运行状态图示。
根据一些实施例,除了显示第一节点的状态图示之外,还可以突出显示第一节点和第二节点的运行状态图示。根据一些实施例,在第一节点和/或第二节点附近处突出显示的运行状态图示表明已经通过部署区块链网络将第一节点和/或第二节点部署到该区块链网络中。根据一些示例,如果区块链网络的类型是Hyperledger,则可以仅在作为第一节点的对等节点附近处突出显示与对等节点对应的运行状态图示,也可以在作为第二节点的对等节点或认证节点或SDK节点或网络节点附近处均突出显示与对等节点或认证节点或SDK节点或网络节点对应的运行状态图示。根据一些示例,运行状态图示可以是围绕第一节点和/或第二节点的图形表示的以虚线或实现表示的圆形、三角形、矩形等,但本公开不限于此。根据一些示例,突出显示运行状态图示可以是动态地突出显示运行状态图示。例如,如果运行状态图示是以虚线表示的,突出显示运行状态图示可以是旋转显示以虚线表示的运动状态图示;如果运动状态图示是以实现表示,突出显示运动状态图示可以是缩放显示以实线表示的运动状态图示。
以这样的方式,可以更加直观地看到区块链网络是否已经部署以及区块链网络中的哪些节点已经部署,方便用户对区块链网络的管理。
根据一些实施方式,所述显示连接所述节点的连线可以包括:如果所述连线所连接的两个节点的状态均正常,则使用第一颜色显示所述连线;如果所述连线所连接的两个节点中任一个的状态为异常,则使用第二颜色显示所述连线;其中,所述第一颜色不同于所述第二颜色。根据一些实施方式,所述异常可以包括所述节点发生故障和/或所述节点断开与所述区块链网络的连接。根据一些实施方式,所述第一颜色可以是绿色,所述第二颜色可以是红色。
根据一些实施例,可以通过不同的颜色来显示连线,进而表明连线连接的两个节点的状态是否异常。如上所述,例如,可以通过显示红色的连线表明该连线连接的两个节点中的一个或两个发生异常,可以通过绿色的连线表明该连线连接的两个节点均正常。但本公开不限于此,可以采用多于两种颜色来显示连线。根据一些示例,可以通过显示红色的连线表明该连线连接的两个节点均发生异常,可以通过显示橙色的连线表明该连线连接的两个节点中的一个发生异常,可以通过绿色的连线表明该连线连接的两个节点均正常。根据一些示例,可以通过显示红色的连线表明该连线连接的两个节点中的至少一个节点发生故障,可以通过显示橙色的连线表明该连线连接的两个节点中的至少一个节点断开与所述区块链网络的连接,可以通过绿色的连线表明该连线连接的两个节点均正常。
应当注意,以上仅通过一些示例示出连线在一些情况下的不同颜色,根据本公开的示例性实施例,还可以采用任何颜色来显示各种情况的异常。
以这样的方式,可以更加直观地显示当前区块链网络中节点的情况,方便用户对区块链网络的管理。
下面将以基于Hyperledger的区块链网络为例,详细描述根据本公开的示例性实施例的管理区块链网络的示例性方法。
根据管理区块链网络的示例性方法,所述区块链网络的类型可以是Hyperledger,并且所述显示所述区块链网络的节点的图形表示可以包括:显示所述区块链网络的组织机构节点的图形表示;显示所述区块链网络的排序组织节点的图形表示;显示所述区块链网络的对等节点的图形表示;显示所述区块链网络的排序节点的图形表示;显示所述区块链网络的认证节点的图形表示;显示所述区块链网络的SDK节点的图形表示;以及显示所述区块链网络的网络节点的图形表示。
上文已经在创建区块链网络的方法中详细描述了基于Hyperledger的区块链网络中包括的各种节点,其中各种节点包括但不限于网络节点、组织结构节点、排序组织节点、对等节点、认证节点、SDK节点和排序节点。因此,根据一些实施例,在管理Hyperledger类型的区块链网络时,可以显示网络节点的图形表示、组织机构节点、排序组织节点的图形表示、对等节点的图形表示、认证节点的图形表示、SDK节点的图形表示和排序节点的图形表示。
以这样的方式,可以更直观地显示Hyperledger类型的区块链网络中的各种节点,方便用户对区块链网络的管理。
根据管理区块链网络的示例性方法,所述显示连接所述节点的连线可以包括:显示连接所述对等节点的图形表示、所述认证节点的图形表示和所述SDK节点的图形表示与所述组织机构节点的图形表示的连线;显示连接所述排序节点的图形表示与所述排序组织节点的图形表示的连线;以及显示连接所述组织机构节点的图形表示和所述排序组织节点的图形表示与所述网络节点的图形表示的连线。
上文已经在创建区块链网络的方法中详细描述了基于Hyperledger的区块链网络中包括的各种节点之间可能的关系,其中各种节点包括但不限于网络节点、组织结构节点、排序组织节点、对等节点、认证节点、SDK节点和排序节点。因此,根据一些实施例,在管理Hyperledger类型的区块链网络时,可以显示对等节点、认证节点和SDK节点与组织机构节点之间存在的关系,可以显示排序节点与排序组织节点之间存在的关系,也可以显示组织结构节点和排序组织节点与网络节点之间存在的关系。
以这样的方式,可以更直观地显示Hyperledger类型的区块链网络中各种节点之间存在的关系,方便用户对区块链网络的管理。
根据管理区块链网络的示例性方法,所述用户界面可以包括第二用户界面,所述第二用户界面可以包括第一区域和第二区域;并且所述示例性方法还可以包括:在所述第一区域中,显示所述区块链网络中的每一个区块链网络的拓扑结构图的缩略图;以及在所述第二区域中,显示所述区块链网络中的每一个区块链网络的信息。
根据一些实施例,第二用户界面的一个示例可以是上文结合图3描述的用于管理区块链网络的示例性第二用户界面,第二用户界面可以显示一个或多个区块链网络。根据一些实施例,参照图3,第一区域可以是链空间区310,第二区域可以是链表区320。根据一些实施例,拓扑结构图的缩略图是按照一定比例缩小了之后的拓扑结构图。根据一些实施例,拓扑结构图的缩略图仅显示各种节点的图形表示和节点之间的连线,但本公开不限于此。
以这样的方式,可以将待管理的多个区块链网络显示在一个用户界面中,方便用户对多个区块链网络的管理。此外,每个区块链网络在第二用户界面中的两个不同的区域中通过两种不同的方式显示,既可以直观地展示每个区块链网络,又可以查看每个区块链网络的信息,进一步方便用户对多个区块链网络的管理。
根据管理区块链网络的示例性方法,所述显示缩略图可以包括动态显示所述缩略图。根据管理区块链网络的示例性方法,所述动态显示缩略图可以包括:响应于接收到突出显示所述区块链网络中的第一区块链网络的用户输入,突出显示所述第一区块链网络的拓扑结构图的缩略图。根据管理区块链网络的示例性方法,所述突出显示所述区块链网络中的第一区块链网络的用户输入包括:将用户输入位置指示光标放置在所述第一区域中所述第一区块链网络的拓扑结构图的缩略图上;或者选择所述第二区域中与所述第一区块链网络对应的区块链网络的信息的显示。
根据一些实施例,动态显示缩略图还可以包括将缩略图显示为以网络节点为中心缓慢旋转。根据一些实施例,将指示光标放置在缩略图可以是通过输入设备或通过触敏表面指示位置的光标停留在缩略图上,但不主动单击、双击、长按该缩略图。此外,将缩略图布置在第一区域的大体中心处可以很好地突出在区块链网络中选择的第一区块链网络。根据一些实施例,选择所述第二区域中与所述第一区块链网络对应的区块链网络的信息的显示可以是点击该区块链网络的信息的显示。
以这样的方式,可以突出显示用户期望选择的第一区块链网络,从而提升用户体验,方便用户对所期望的区块链网络进行管理。
根据管理区块链网络的示例性方法,所述显示区块链网络的信息可以包括使用列表显示所述区块链网络的信息,所述列表的每一列与所述区块链网络的信息中的每一个区块链网络的信息对应,所述列表的每一行与所述区块链网络中的每一个区块链网络对应,使得所述列表的每一行与每一个缩略图对应。通过列表的方式显示区块链网络的信息对于用户而言更加直观且清晰。此外,列表每一行的区块链网络的信息与缩略图对应,使得用户不仅可以从图形化的表示方式中获取区块链网络的信息,还可以对应地从文字化的表示方式中获取区块链网络的信息。
所述示例性方法还可以包括:响应于针对任意一个缩略图的用户输入,突出显示所选择的缩略图,并且突出显示所述列表的与所选择的缩略图对应的一行;以及响应于针对所述列表的任意一行的用户输入,突出显示所选择的一行,并且突出显示与所选择的一行对应的缩略图。
根据一些实施例,无论通过缩略图选择一个区块链网络,还是通过列表的行选择一个区块链网络,都可以使得二者均突出显示。以这样的方式,可以进一步直观地建立起期望的区块链网络的拓扑结构图和区块链网络的信息之间的联系,方便用户对区块链网络的管理。
根据管理区块链网络的示例性方法,所述区块链网络的信息可以包括区块链网络的名称以及所述区块链网络的版本、网络状态、运行状态和更新时间中的一项或多项。根据管理区块链网络的示例性方法,所述网络状态可以包括设计中、已部署和已启动;所述运行状态可以包括无、部分运行和运行中;当所述网络状态为设计中时,所述运行状态可以为无。
根据管理区块链网络的示例性方法,所述编辑所述一个或多个区块链网络可以包括:编辑所述一个或多个区块链网络的信息;以及编辑所述一个或多个区块链网络的节点、节点之间的关系、以及通道和智能合约的信息。根据一些实施例,用户可以根据实际需要通过管理区块链网络的用户界面来调整区块链网络的架构和/或区块链网络的信息。以这样的方式,可以丰富管理区块链网络的手段。
下面结合图6描述根据本公开的一个方面的电子设备。
图6示出了能够应用于根据本公开的示例性实施例的示例性电子设备的结构框图。
本公开的一个方面可包括一种电子设备,所述电子设备包括处理器和存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时,使所述处理器执行前述任何方法。
参照图6,根据一些实施方式,电子设备600包括处理器601和存储器602,其中处理器601和存储器602彼此可通信地连接,存储器602存储程序,所述程序包括在由所述处理器执行时使所述处理器执行前述任何方法的指令。电子设备600可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板电脑、个人数字助理、智能电话、车载计算机或其任何组合。
本公开的一个方面可包括存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行前述任何方法。
根据一些实施方式,所述计算机可读存储介质可以是非暂时性的并且可以是实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。
以下描述本公开的一些示例性方面。
方面1.一种创建区块链网络的方法,包括:
显示用于创建区块链网络的用户界面,所述用户界面包括区块链网络部署图标和一个或多个节点创建图标;
响应于接收到针对所述一个或多个节点创建图标的第一用户输入,在所述用户界面中显示第一节点的图形表示;以及
响应于接收到针对区块链网络部署图标的用户输入,部署区块链网络,所述区块链网络包括所述第一节点。
方面2.根据方面1所述的方法,其中,所创建的区块链网络的类型是Hyperledger,所述第一节点是组织机构节点,并且
所述方法还包括:
响应于接收到针对所述一个或多个节点创建图标的第二用户输入,在所述用户界面中显示第二节点的图形表示,所述第二节点是排序组织节点。
方面3.根据方面2所述的方法,还包括:
响应于接收到所述第一用户输入,在所述用户界面中还显示对等节点的图形表示,并且显示将所述对等节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述对等节点从属于所述第一节点;以及
响应于接收到所述第二用户输入,在所述用户界面中还显示排序节点的图形表示,并且显示将所述排序节点的图形表示连接到所述第二节点的图形表示的连线,以表明所述排序节点从属于所述第二节点。
方面4.根据方面3所述的方法,还包括:
响应于接收到所述第一用户输入,在所述用户界面中还显示认证节点的图形表示和SDK节点的图形表示,并且显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线以及将所述SDK节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点和所述SDK节点分别从属于所述第一节点。
方面5.根据方面3所述的方法,还包括:
响应于接收到针对所述一个或多个节点创建图标的第三用户输入,在所述用户界面中显示认证节点的图形表示;
响应于接收到针对所述认证节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点从属于所述第一节点;
响应于接收到针对所述一个或多个节点创建图标的第四用户输入,在所述用户界面中显示SDK节点的图形表示;以及
响应于接收到针对所述SDK节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述SDK节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述SDK节点从属于所述第一节点。
方面6.根据方面2所述的方法,还包括:
响应于接收到针对所述一个或多个节点创建图标的第五用户输入,在所述用户界面中显示对等节点的图形表示;
响应于接收到针对所述对等节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点从属于所述第一节点;
响应于接收到针对所述一个或多个节点创建图标的第六用户输入,在所述用户界面中显示排序节点的图形表示;以及
响应于接收到针对所述排序节点的图形表示和所述第二节点的图形表示的用户输入,显示将所述排序节点的图形表示连接到所述第二节点的图形表示的连线,以表明所述排序节点从属于所述第二节点。
方面7.根据方面1所述的方法,还包括:
显示所述区块链网络的网络节点的图形表示。
方面8.根据方面7所述的方法,还包括:
响应于接收到所述第一用户输入,还显示将所述第一节点的图形表示连接到所述网络节点的图形表示的连线。
方面9.根据方面1所述的方法,其中,所创建的区块链网络的类型是以太坊,所述第一节点是以太坊的节点。
方面10.根据方面1至9中任一项所述的方法,其中,所述用户界面还包括节点删除图标和连线删除图标,并且
所述方法还包括:
响应于接收到针对所述节点删除图标和待删除节点的图形表示的用户输入,从所述用户界面删除所述待删除节点的图形表示和连接到所述待删除节点的连线;以及
响应于接收到针对所述连线删除图标和待删除连线的用户输入,从所述用户界面删除所述待删除连线。
方面11.根据方面3至8中任一项所述的方法,还包括:
响应于接收到针对所述区块链网络中任意一个节点的图形表示的用户输入,显示功能选择菜单,所述功能选择菜单包括通道创建选项;以及
响应于接收到针对所述通道创建选项的用户输入,在所述用户界面中显示所述通道的文字表示。
方面12.根据方面11所述的方法,还包括:
在所述对等节点的图形表示附近处,还显示与所述对等节点对应的通道状态图示;以及
响应于接收到针对所述对等节点的图形表示和所述通道的文字表示的用户输入,将所述对等节点加入所述通道,并且突出显示所述通道状态图示,以表明所述对等节点已加入通道。
方面13.根据方面12所述的方法,其中,所述功能选择菜单还包括智能合约部署选项,并且
所述方法还包括:
在所述对等节点的图形表示附近处,还显示与所述对等节点对应的智能合约状态图示;以及
响应于接收到针对所述智能合约部署选项的用户输入,部署智能合约,并且突出显示所述智能合约状态图示,以表明所述对等节点已部署智能合约。
方面14.根据方面13所述的方法,其中,所述功能选择菜单还包括智能合约初始化选项,并且
所述方法还包括:
响应于接收到针对所述智能合约初始化选项的用户输入,初始化智能合约,并且在所述用户界面中显示已初始化智能合约的文字表示。
方面15.根据方面1至9中任一项所述的方法,其中,所述用户界面还包括区块链网络的类型选择菜单,并且
所述方法还包括:
响应于接收到针对所述区块链网络的类型选择菜单的用户输入,在所述用户界面中显示包括至少一种区块链网络的类型的第一列表;以及
响应于接收到用户在所述第一列表中对区块链网络的类型的选择,在所述用户界面中显示所选择的区块链网络的类型的文字表示。
方面16.根据方面1至9中任一项所述的方法,其中,所述用户界面还包括部署环境的类型选择菜单,并且
所述方法还包括:
响应于接收到针对所述部署环境的类型选择菜单的用户输入,在所述用户界面中显示包括至少一种部署环境的类型的第二列表;以及
响应于接收到用户在所述第二列表中对部署环境的类型的选择,在所述用户界面中显示所选择的部署环境的类型的文字表示。
方面17.根据方面16所述的方法,其中,所述部署环境的类型包括Kubernetes、Docker Compose和Virtual Machine。
方面18.根据方面1所述的方法,其中,所述部署区块链网络包括:
获取所述第一节点的信息和部署环境的信息;以及
基于所述第一节点的信息和部署环境的信息,通过调用部署环境的API在所述部署环境中创建所述区块链网络的第一节点。
方面19.根据方面18所述的方法,其中,所述区块链网络的类型是Hyperledger,所述部署环境是Kubernetes,
并且所述通过调用部署环境的API在所述部署环境中创建所述区块链网络的第一节点包括:
在Kubernetes环境中创建命名空间;
在所述命名空间中创建区块链网络的目录结构;
在所述命名空间中为每个组织机构节点创建证书;
在所述命名空间中为所述对等节点、所述排序节点和所述SDK节点分配端口并生成yaml文件;以及
基于所述yaml文件,创建所述对等节点的pod、所述排序节点的pod和所述SDK节点的pod。
方面20.根据方面1所述的方法,所述方法还包括:
每隔预定时间扫描所述区块链网络;
通过API获取所述区块链网络中的所述第一节点的网络状态并在数据库中更新所述网络状态;
读取所述数据库中更新的网络状态;以及
基于更新的网络状态,在所述用户界面中显示更新的区块链网络。
方面21.一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时,使所述处理器执行根据方面1至20中任一项所述的方法。
方面22.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,使所述电子设备执行根据方面1至20中任一项所述的方法。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (18)

1.一种创建区块链网络的方法,包括:
显示用于创建区块链网络的用户界面,所述用户界面包括区块链网络部署图标和一个或多个节点创建图标;
响应于接收到针对所述一个或多个节点创建图标的第一用户输入,在所述用户界面中显示第一节点的图形表示;
响应于接收到针对区块链网络部署图标的用户输入,部署区块链网络,所述区块链网络包括所述第一节点;
所创建的区块链网络的类型是Hyperledger,所述第一节点是组织机构节点,并且
所述方法还包括:
响应于接收到针对所述一个或多个节点创建图标的第二用户输入,在所述用户界面中显示第二节点的图形表示,所述第二节点是排序组织节点;
响应于接收到所述第一用户输入,在所述用户界面中还显示对等节点的图形表示,并且显示将所述对等节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述对等节点从属于所述第一节点;以及
响应于接收到所述第二用户输入,在所述用户界面中还显示排序节点的图形表示,并且显示将所述排序节点的图形表示连接到所述第二节点的图形表示的连线,以表明所述排序节点从属于所述第二节点。
2.根据权利要求1所述的方法,还包括:
响应于接收到所述第一用户输入,在所述用户界面中还显示认证节点的图形表示和SDK节点的图形表示,并且显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线以及将所述SDK节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点和所述SDK节点分别从属于所述第一节点。
3.根据权利要求1所述的方法,还包括:
响应于接收到针对所述一个或多个节点创建图标的第三用户输入,在所述用户界面中显示认证节点的图形表示;
响应于接收到针对所述认证节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述认证节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述认证节点从属于所述第一节点;
响应于接收到针对所述一个或多个节点创建图标的第四用户输入,在所述用户界面中显示SDK节点的图形表示;以及
响应于接收到针对所述SDK节点的图形表示和所述第一节点的图形表示的用户输入,显示将所述SDK节点的图形表示连接到所述第一节点的图形表示的连线,以表明所述SDK节点从属于所述第一节点。
4.根据权利要求1所述的方法,还包括:
显示所述区块链网络的网络节点的图形表示。
5.根据权利要求4所述的方法,还包括:
响应于接收到所述第一用户输入,还显示将所述第一节点的图形表示连接到所述网络节点的图形表示的连线。
6.根据权利要求1至5中任一项所述的方法,其中,所述用户界面还包括节点删除图标和连线删除图标,并且
所述方法还包括:
响应于接收到针对所述节点删除图标和待删除节点的图形表示的用户输入,从所述用户界面删除所述待删除节点的图形表示和连接到所述待删除节点的连线;以及
响应于接收到针对所述连线删除图标和待删除连线的用户输入,从所述用户界面删除所述待删除连线。
7.根据权利要求1至5中任一项所述的方法,还包括:
响应于接收到针对所述区块链网络中任意一个节点的图形表示的用户输入,显示功能选择菜单,所述功能选择菜单包括通道创建选项;以及
响应于接收到针对所述通道创建选项的用户输入,在所述用户界面中显示所述通道的文字表示。
8.根据权利要求7所述的方法,还包括:
在所述对等节点的图形表示附近处,还显示与所述对等节点对应的通道状态图示;以及
响应于接收到针对所述对等节点的图形表示和所述通道的文字表示的用户输入,将所述对等节点加入所述通道,并且突出显示所述通道状态图示,以表明所述对等节点已加入通道。
9.根据权利要求8所述的方法,其中,所述功能选择菜单还包括智能合约部署选项,并且
所述方法还包括:
在所述对等节点的图形表示附近处,还显示与所述对等节点对应的智能合约状态图示;以及
响应于接收到针对所述智能合约部署选项的用户输入,部署智能合约,并且突出显示所述智能合约状态图示,以表明所述对等节点已部署智能合约。
10.根据权利要求9所述的方法,其中,所述功能选择菜单还包括智能合约初始化选项,并且
所述方法还包括:
响应于接收到针对所述智能合约初始化选项的用户输入,初始化智能合约,并且在所述用户界面中显示已初始化智能合约的文字表示。
11.根据权利要求1至5中任一项所述的方法,其中,所述用户界面还包括区块链网络的类型选择菜单,并且
所述方法还包括:
响应于接收到针对所述区块链网络的类型选择菜单的用户输入,在所述用户界面中显示包括至少一种区块链网络的类型的第一列表;以及
响应于接收到用户在所述第一列表中对区块链网络的类型的选择,在所述用户界面中显示所选择的区块链网络的类型的文字表示。
12.根据权利要求1至5中任一项所述的方法,其中,所述用户界面还包括部署环境的类型选择菜单,并且
所述方法还包括:
响应于接收到针对所述部署环境的类型选择菜单的用户输入,在所述用户界面中显示包括至少一种部署环境的类型的第二列表;以及
响应于接收到用户在所述第二列表中对部署环境的类型的选择,在所述用户界面中显示所选择的部署环境的类型的文字表示。
13.根据权利要求12所述的方法,其中,所述部署环境的类型包括Kubernetes、DockerCompose和Virtual Machine。
14.根据权利要求2所述的方法,其中,所述部署区块链网络包括:
获取所述第一节点的信息和部署环境的信息;以及
基于所述第一节点的信息和部署环境的信息,通过调用部署环境的API在所述部署环境中创建所述区块链网络的第一节点。
15.根据权利要求14所述的方法,其中,所述区块链网络的类型是Hyperledger,所述部署环境是Kubernetes,
并且所述通过调用部署环境的API在所述部署环境中创建所述区块链网络的第一节点包括:
在Kubernetes环境中创建命名空间;
在所述命名空间中创建区块链网络的目录结构;
在所述命名空间中为每个组织机构节点创建证书;
在所述命名空间中为所述对等节点、所述排序节点和所述SDK节点分配端口并生成yaml文件;以及
基于所述yaml文件,创建所述对等节点的pod、所述排序节点的pod和所述SDK节点的pod。
16.根据权利要求1所述的方法,所述方法还包括:
每隔预定时间扫描所述区块链网络;
通过API获取所述区块链网络中的所述第一节点的网络状态并在数据库中更新所述网络状态;
读取所述数据库中更新的网络状态;以及
基于更新的网络状态,在所述用户界面中显示更新的区块链网络。
17.一种电子设备,包括:
处理器;以及
存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时,使所述处理器执行根据权利要求1至16中任一项所述的方法。
18.一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,使所述电子设备执行根据权利要求1至16中任一项所述的方法。
CN201910607556.XA 2019-07-04 2019-07-04 创建区块链网络的方法、电子设备及介质 Active CN110308903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910607556.XA CN110308903B (zh) 2019-07-04 2019-07-04 创建区块链网络的方法、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910607556.XA CN110308903B (zh) 2019-07-04 2019-07-04 创建区块链网络的方法、电子设备及介质

Publications (2)

Publication Number Publication Date
CN110308903A CN110308903A (zh) 2019-10-08
CN110308903B true CN110308903B (zh) 2023-07-25

Family

ID=68079257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910607556.XA Active CN110308903B (zh) 2019-07-04 2019-07-04 创建区块链网络的方法、电子设备及介质

Country Status (1)

Country Link
CN (1) CN110308903B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130841B (zh) * 2019-11-21 2022-07-08 深圳壹账通智能科技有限公司 区块链网络部署方法、电子装置及计算机可读存储介质
CN112835567A (zh) * 2019-11-25 2021-05-25 北京天德科技有限公司 一种基于自然语言的可视化智能合约开发系统
CN111355780B (zh) * 2020-02-18 2022-09-13 杭州云象网络技术有限公司 一种基于区块链的物联网监控管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109218079A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络、部署方法及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10938567B2 (en) * 2017-09-12 2021-03-02 Kadena Llc Parallel-chain architecture for blockchain systems
US10762079B2 (en) * 2017-09-29 2020-09-01 Oracle International Corporation System and method for managing a blockchain cloud service
US11063744B2 (en) * 2017-10-20 2021-07-13 Sap Se Document flow tracking using blockchain
CN109462505B (zh) * 2018-11-12 2021-07-30 上海点融信息科技有限责任公司 实现多个区块链网络之间的跨链通信的方法和装置
CN109710243B (zh) * 2018-12-29 2022-05-17 百度在线网络技术(北京)有限公司 基于可视化平台的区块链开发方法、装置、服务器及介质
EP3559819B1 (en) * 2018-12-29 2022-03-09 Advanced New Technologies Co., Ltd. Visual blockchain browser

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109194506A (zh) * 2018-08-16 2019-01-11 北京京东尚科信息技术有限公司 区块链网络部署方法、平台及计算机存储介质
CN109218079A (zh) * 2018-08-16 2019-01-15 北京京东尚科信息技术有限公司 一种区块链网络、部署方法及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于区块链的去中心化数据溯源方法;张国英;毛燕琴;;南京邮电大学学报(自然科学版)(第02期);全文 *

Also Published As

Publication number Publication date
CN110308903A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110308962B (zh) 管理区块链网络的方法、电子设备及介质
US10673932B2 (en) System and method for abstraction of objects for cross virtual universe deployment
CN110308903B (zh) 创建区块链网络的方法、电子设备及介质
US10685328B2 (en) Dynamic nodes for managing organization structure
US7454437B1 (en) Methods and apparatus for naming resources
CN110442336A (zh) 一种网页开发方法及装置、存储介质及电子设备
US8566732B2 (en) Synchronization of widgets and dashboards
US9467344B2 (en) Mechanism to display graphical IT infrastructure using configurable smart navigation
US20070097883A1 (en) Generation of a network topology hierarchy
CN108345456A (zh) 页面代码生成方法、装置、计算机设备和存储介质
US20050131959A1 (en) Superset file browser
US20100146425A1 (en) Drag and drop target indication in a graphical user interface
US7523187B1 (en) Methods and apparatus for managing network resources
WO2011071648A2 (en) Rotating hierarchy cone user interface
US7376898B1 (en) Methods and apparatus for managing resources
US10496692B1 (en) Resource tagging and grouping
US9223592B2 (en) Configuring a system with various system components utilizing a configuration profile
US20210111962A1 (en) Topographical search
US9342317B2 (en) Importing profiles for configuring specific system components into a configuration profile for the system
US9336617B1 (en) Assigning values to objects using a two-dimensional data input plane
US8713152B2 (en) Managing distributed applications using structural diagrams
US8516015B2 (en) Mechanism for making changes to server file system
CN114564854B (zh) 支持fmea双向关系树的数据节点的操作方法及设备
CN106648280B (zh) 任务管理交互方法和装置
Greene Getting Started with Microsoft System Center Operations Manager

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant