向区块链浏览器传输区块链数据的方法和设备技术

技术编号:20547138 阅读:20 留言:0更新日期:2019-03-09 19:57
本公开内容公开了向区块链浏览器传输区块链数据的方法和设备,其中,用于接收区块链数据的方法包括:接收区块链节点发送的区块链数据,其中,区块链数据是块数据或交易数据,并且当区块链数据是块数据时,块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当区块链数据是交易数据时,交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址;对区块链数据进行安全认证;对通过安全认证的区块链数据进行去重检查;将通过去重检查的区块链数据存储在数据库中。本公开内容能够将不同区块链产品的区块链数据传输到该区块链浏览器,而无需针对每一个区块链产品开发相应的区块链浏览器。

【技术实现步骤摘要】
向区块链浏览器传输区块链数据的方法和设备
本公开内容属于区块链
,尤其涉及一种用于接收区块链数据的方法、一种用于发送区块链数据的方法、一种用于接收区块链数据的设备以及一种用于发送区块链数据的设备。
技术介绍
区块链(Blockchain)技术是利用分布式节点共识算法来生成和更新数据,并将这些数据封装成一个一个的区块,利用密码学的方式保证数据传输和访问的安全,生成不可篡改和不可伪造的分布式账本,建立互相信任的数据网络。区块链浏览器是一种浏览区块链信息的搜索工具,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。通常,数字资产用户会使用区块链浏览器查询记录在区块中的交易信息,例如,数字资产用户在区块链浏览器中输入某钱包地址或某笔交易ID,就可以查询此钱包的余额和任意一笔交易的详细信息,或者通过在区块链浏览器中输入块高度、块哈希等来搜索某个特定区块的所有内容。另外,区块链浏览器通常通过主动调用区块链服务的接口,查询需要的数据信息,从而记录了每一个区块的产生过程和区块中交易的内容,并且记录了区块链上账户的数字货币余额情况,从而更加完整的、公开的披露了数字货币的存量、增量、换手率等信息。目前市面上已经存在较为成熟的区块链浏览器,但大部分是针对比特币(BitCoin)和以太坊(Ethereum)的区块链浏览器,例如:http://www.blockchain.com/explorer、http://etherscan.io/等。由于不同区块链产品产生的块数据不同、交易格式不同、账户格式不同、数据序列化格式不同,并且现有的区块链浏览器仅能够通过区块链节点获取所需要的数据,所以没有一款通用的区块链浏览器,可以支持多种不同的区块链产品。
技术实现思路
由于目前市场上的区块链浏览器一般都是针对已开发的区块链产品而进行开发生成的,也即,由于不同区块链产品所产生的块数据、交易数据等格式不同,因此一种区块链浏览器仅能适配一种区块链产品。由此,使得区块链浏览器的开发成本高、区块链浏览器的使用局限性大,进而无法满足越来越多针对多元化区块链产品搜索的需求。针对上述问题,本公开内容的第一方面提出了一种用于接收区块链数据的方法,所述方法包括:接收区块链节点发送的区块链数据,其中,所述区块链数据是块数据或交易数据,并且当所述区块链数据是块数据时,所述块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当所述区块链数据是交易数据时,所述交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址,其中,所述所属块高度对应于所述交易数据所属的区块的块高度;对所述区块链数据进行安全认证;对通过安全认证的区块链数据进行去重检查;以及将通过去重检查的区块链数据存储在数据库中。在根据本公开内容的第一方面的实施例中,在接收区块链节点发送的区块链数据之前,所述方法进一步包括:接收所述区块链节点发送的查询请求,其中,所述查询请求用于请求查询区块链浏览器中所保存的所述区块链的最新块高度;向所述区块链节点发送查询到的最新块高度。在根据本公开内容的第一方面的实施例中,在对所述区块链数据进行安全认证与对通过安全认证的区块链数据进行去重检查之间,所述方法进一步包括:将通过安全认证的区块链数据存入缓存队列中。在根据本公开内容的第一方面的实施例中,对通过安全认证的区块链数据进行去重检查进一步包括:对于所述块数据而言,将所述缓存队列中的每一个块数据结构体中的块高度与所述缓存队列中已存储的所有块高度进行比较,当未查找到与所述块数据结构体中的块高度相同的已存储的块高度时,确定所述块数据通过去重检查;或者对于所述交易数据而言,将所述缓存队列中的每一个交易数据结构体中的交易哈希与所述缓存队列中已存储的所有交易哈希进行比较,当未查找到与所述交易数据结构体中的交易哈希相同的已存储的交易哈希时,确定所述交易数据通过去重检查。在根据本公开内容的第一方面的实施例中,所述方法进一步包括:将所述数据库中具有相同块高度的块数据与交易数据相关联。在根据本公开内容的第一方面的实施例中,所述方法进一步包括:提取所述交易数据结构体中的源头账户地址、目的账户地址以分别生成与所述源头账户地址相对应的账户信息、与所述目的账户地址相对应的账户信息。针对上述问题,本公开内容的第二方面提出了一种用于发送区块链数据的方法,所述方法包括:向区块链浏览器发送区块链数据;其中,所述区块链数据是块数据或交易数据,并且当所述区块链数据是块数据时,所述块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当所述区块链数据是交易数据时,所述交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址,其中,所述所属块高度对应于所述交易数据所属的区块的块高度。在根据本公开内容的第二方面的实施例中,在向区块链浏览器发送区块链数据之前,所述方法进一步包括:向所述区块链浏览器发送查询请求,其中,所述查询请求用于请求查询所述区块链浏览器中所保存的所述区块链的最新块高度;接收所述区块链浏览器发送查询到的最新块高度;以及确定所述区块链的当前块高度大于所述查询到的最新块高度。在根据本公开内容的第二方面的实施例中,在确定所述区块链的当前块高度大于所述查询到的最新块高度的情况下,向区块链浏览器发送区块链数据进一步包括:向所述区块链浏览器发送块高度大于所述查询到的最新块高度的一个或多个块数据;或者向所述区块链浏览器发送所属块高度大于所述查询到的最新块高度的一个或多个交易数据。在根据本公开内容的第二方面的实施例中,向区块链浏览器发送区块链数据之前,所述方法进一步包括:当要发送的区块链数据是块数据时,将所述块数据中的块哈希、块高度以及块中交易数量按照所述区块链浏览器接收数据的格式进行格式转换形成相应的块数据结构体;或者当要发送的区块链数据是交易数据时,将所述交易数据中的所属块高度、交易哈希、源头账户地址以及目的账户地址按照所述区块链浏览器接收数据的格式进行格式转换形成相应的交易数据结构体。针对上述问题,本公开内容的第三方面提出了一种用于接收区块链数据的设备,所述设备包括:处理器;以及存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:接收区块链节点发送的区块链数据,其中,所述区块链数据是块数据或交易数据,并且当所述区块链数据是块数据时所述块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当所述区块链数据是交易数据时所述交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址,其中,所述所属块高度对应于所述交易数据所属的区块的块高度;对所述区块链数据进行安全认证;对通过安全认证的区块链数据进行去重检查;以及将通过去重检查的区块链数据存储在数据库中。在根据本公开内容的第三方面的实施例中,在接收区块链节点发送的区块链数据之前,当所述指令执行时使得所述处理器进一步执行以下操作:接收所述区块链节点发送的查询请求,其中,所述查询请求用于请求查询所述区块链浏览器中所保存的所述区块链的最新块高度;向所述区块链节点发送查询到的最新块高度。在根据本公开内容的第三方面的实施例中,在对所述区块链数据进行安本文档来自技高网
...

【技术保护点】
1.一种用于接收区块链数据的方法,所述方法包括:接收区块链节点发送的区块链数据,其中,所述区块链数据是块数据或交易数据,并且当所述区块链数据是块数据时,所述块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当所述区块链数据是交易数据时,所述交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址,其中,所述所属块高度对应于所述交易数据所属的区块的块高度;对所述区块链数据进行安全认证;对通过安全认证的区块链数据进行去重检查;以及将通过去重检查的区块链数据存储在数据库中。

【技术特征摘要】
1.一种用于接收区块链数据的方法,所述方法包括:接收区块链节点发送的区块链数据,其中,所述区块链数据是块数据或交易数据,并且当所述区块链数据是块数据时,所述块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当所述区块链数据是交易数据时,所述交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址,其中,所述所属块高度对应于所述交易数据所属的区块的块高度;对所述区块链数据进行安全认证;对通过安全认证的区块链数据进行去重检查;以及将通过去重检查的区块链数据存储在数据库中。2.根据权利要求1所述的方法,其中,在接收区块链节点发送的区块链数据之前,所述方法进一步包括:接收所述区块链节点发送的查询请求,其中,所述查询请求用于请求查询区块链浏览器中所保存的所述区块链的最新块高度;向所述区块链节点发送查询到的最新块高度。3.根据权利要求1所述的方法,其中,在对所述区块链数据进行安全认证与对通过安全认证的区块链数据进行去重检查之间,所述方法进一步包括:将通过安全认证的区块链数据存入缓存队列中。4.根据权利要求3所述的方法,其中,对通过安全认证的区块链数据进行去重检查进一步包括:对于所述块数据而言,将所述缓存队列中的每一个块数据结构体中的块高度与所述缓存队列中已存储的所有块高度进行比较,当未查找到与所述块数据结构体中的块高度相同的已存储的块高度时,确定所述块数据通过去重检查;或者对于所述交易数据而言,将所述缓存队列中的每一个交易数据结构体中的交易哈希与所述缓存队列中已存储的所有交易哈希进行比较,当未查找到与所述交易数据结构体中的交易哈希相同的已存储的交易哈希时,确定所述交易数据通过去重检查。5.根据权利要求1所述的方法,其中,所述方法进一步包括:将所述数据库中具有相同块高度的块数据与交易数据相关联。6.根据权利要求1所述的方法,其中,所述方法进一步包括:提取所述交易数据结构体中的源头账户地址、目的账户地址以分别生成与所述源头账户地址相对应的账户信息、与所述目的账户地址相对应的账户信息。7.一种用于发送区块链数据的方法,所述方法包括:向区块链浏览器发送区块链数据;其中,所述区块链数据是块数据或交易数据,并且当所述区块链数据是块数据时,所述块数据对应的块数据结构体中至少包括块哈希、块高度以及块中交易数量,或者当所述区块链数据是交易数据时,所述交易数据对应的交易数据结构体中至少包括所属块高度、交易哈希、源头账户地址以及目的账户地址,其中,所述所属块高度对应于所述交易数据所属的区块的块高度。8.根据权利要求7所述的方法,其中,在向区块链浏览器发送区块链数据之前,所述方法进一步包括:向所述区块链浏览器发送查询请求,其中,所述查询请求用于请求查询所述区块链浏览器中所保存的所述区块链的最新块高度;接收所述区块链浏览器发送查询到的最新块高度;以及确定所述区块链的当前块高度大于所述查询到的最新块高度。9.根据权利要求8所述的方法,其中,在确定所述区块链的当前块高度大于所述查询到的最新块高度的情况下,向区块链浏览器发送区块链数据进一步包括:向所述区块链浏览器发送块高度大于所述查询到的最新块高度的一个或多个块数据;或者向所述区块链浏览器发送所属块高度大于所述查询到的最新块高度的一个或多个交易数据。10.根据权利要求7所述的方法,其中,向区块链浏览器发送区块链数据之前,所述方法进一步包括:当要发送的区块链数据是块数据时,将所述块数据中的块哈希、块高度以及块中交易数量按照所述区块链浏览器接收数据的格式进行格式转换形成相应的块数据结构体;或者当要发送的区块链数据是交易数据时,将所述交易数据中的所属块高度、交易哈希、源头账户地址以及目的账户地址按照所述区块链浏览器接收数据的格式进行格式转换形成相应的交易数据结构体。11.一种用于接收区块链数据的设备,所述设备包括:处理器;以及存储器,其用于存储指令,当所述指令执行时使得所述处理器执行以下操作:接收区块链节点发送的区块链数据,其中,所述区块链数据...

【专利技术属性】
技术研发人员:张乐瞿争
申请(专利权)人:众安信息技术服务有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1