以太坊节点的调用方法以及装置制造方法及图纸

技术编号:26170340 阅读:22 留言:0更新日期:2020-10-31 13:37
本申请公开了一种以太坊节点的调用方法、装置、电子设备和可读存储介质,涉及云计算、区块链技术领域。本申请在进行以太坊节点的调用时所采用的实现方案为:接收调用请求;对所述调用请求进行认证,得到认证结果;根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;响应于接收到所述以太坊节点返回的请求结果,生成包含所述请求结果的第一信息。本申请能够提升以太坊节点的调用安全性。

【技术实现步骤摘要】
以太坊节点的调用方法以及装置
本申请涉及互联网
,尤其涉及云计算、区块链
中的一种以太坊节点的调用方法、装置、电子设备和可读存储介质。
技术介绍
以太坊(Ethereum)是一个开源的有智能合约功能的公共区块链平台。以太坊节点为位于以太坊网络中的节点,以太坊通过提供JSONRPCAPI(无状态轻量级远程过程调用协议的应用程序接口),实现用户与以太坊节点之间的交互。现有技术在进行以太坊节点的部署时,可以指定以太坊节点对外暴露的JSONRPCAPI的类型,从而使得用户发起相应的调用请求。但是以太坊节点会暴露在外网环境中,任何人均可以通过暴露的JSONRPC地址对以太坊节点发起请求,导致以太坊节点的安全性较低。
技术实现思路
本申请为解决技术问题所采用的技术方案是提供一种以太坊节点的调用方法,包括:接收调用请求;对所述调用请求进行认证,得到认证结果;根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;响应于接收到所述以太坊节点发送的请求结果,生成包含所述请求结果的第一信息。本申请为解决技术问题所采用的技术方案是提供一种以太坊节点的调用装置,包括:接收单元,用于接收调用请求;认证单元,用于对所述调用请求进行认证,得到认证结果;转发单元,用于根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;发送单元,用于响应于接收到所述以太坊节点发送的请求结果,生成包含所述请求结果的第一信息。本申请为解决技术问题所采用的技术方案是提供一种以太坊节点的调用系统,包括:以太坊网络以及上述装置,所述以太坊网络中包含多个以太坊节点。一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行上述方法。上述申请中的一个实施例具有如下优点或有益效果:本申请能够提升以太坊节点的调用安全性。因为采用了对调用请求进行认证之后将调用请求转发至以太坊节点的技术手段,所以克服了现有技术中通过直接访问暴露在外网环境中的以太坊节点所导致的不安全的技术问题,实现了提升以太坊节点的调用安全性的技术效果。上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是根据本申请第一实施例的示意图;图2是根据本申请第二实施例的示意图;图3是根据本申请第三实施例的示意图;图4是根据本申请第四实施例的示意图;图5是用来实现本申请实施例的以太坊节点的调用方法的电子设备的框图。具体实施方式以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本申请第一实施例的示意图。如图1中所示,本实施例的以太坊节点的调用方法,具体可以包括如下步骤:S101、接收调用请求;S102、对所述调用请求进行认证,得到认证结果;S103、根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;S104、响应于接收到所述以太坊节点返回的请求结果,生成包含所述请求结果的第一信息。本实施例的以太坊节点的调用方法的执行主体为以太坊防火墙,即本实施例可以通过在用户和以太坊网络之间构建的以太坊防火墙,来实现用户对以太坊网络中节点的调用,即通过以太坊节点请求以太坊网络来获取相应的请求结果,从而避免了现有技术中的以太坊节点直接暴露在外网环境中的不安全问题,提升了以太坊节点的调用安全性。本实施例中的以太坊防火墙与以太坊节点位于同一内网环境中,对外只暴露以太坊防火墙的请求地址,用户无法对以太坊节点进行直接访问,只能够通过以太坊防火墙来访问以太坊节点。因此,本实施例无需对以太坊网络中节点的配置进行更改,只需要将原生的请求地址更改为以太坊防火墙的请求地址,即可完成迁移。本实施例所接收的调用请求为用户通过终端设备发送的,调用请求基于JSONRPC(无状态轻量级的远程过程调用协议),即以太坊网络通过提供JSONRPCAPI(无状态轻量级的远程过程调用协议的应用程序接口)的方式,来实现用户与以太坊节点之间的交互,而每个以太坊节点可配置暴露不同的JSONRPCAPI类型。其中,本实施例中JSONRPCAPI的类型包含8类,分别为eth、shh、web3(以太坊网络本身提供的类型)以及admin、debug、miner、personal、txpool(go-ethereum(以太坊客户端)提供的类型)。本实施例在执行S101接收调用请求之前,还可以包含以下内容:接收授权请求,该授权请求可以是用户通过终端设备发送的;将所接收的授权请求转发至管理员之后,接收管理员发送的授权信息;存储所接收的授权信息,还可以向发送该授权请求的用户返回该授权信息,其中可以将包含对应该用户的用户名、密码以及接口方法的调用权限的授权信息存储到预设的数据库。其中,管理员在对用户进行授权时,可以首先为该用户创建用户名以及密码,然后再向该用户授予接口方法的调用权限。另外,管理员还拥有权限变更以及用户禁用的功能,即对用户所拥有的调用权限进行变更,或者禁用用户对接口方法的调用权限。而本实施例中的管理员在向用户授予接口方法的调用权限时,可以采用粗粒度授权方式或者细粒度授权方式。管理员在使用粗粒度授权方式授权时,可以将每个JSONRPCAPI类型的接口方法分为只读和读写,选择向用户授予拥有每个类型下只读或者读写的权限;管理员在使用细粒度授权方式进行授权时,可以按照每个JSONRPCAPI类型对应的具体接口方法进行权限划分,选择向用户授予拥有某个具体接口方法的权限。由于不同角色的用户对以太坊节点的使用需求是不同的,因此不同用户所对应的权限也不相同。举例来说,管理员用户需要的是管理节点的权限,开发者用户需要的是部署合约、发起交易的权限,运维人员用户需要的是网络状态的读取权限。另外,虽然以太坊节点可以对外暴露其所对应的JSONRPCAPI的类型,但以太坊节点本身并没有调用请求的认证功能。因此,本实施例中的以太坊防火墙在接收到调用请求之后,能够对该调用请求进行认证来得到认证结果,从而根据认证结果判断该调用请求是否合法,即判断用户是否具有调用请求中所请求的接口方法的权限。因此,本实施例通过对调用请求进行认证的方式,避免了在针对不同用户提供不同类型的JSONRPCAPI时需要开启多个以太坊节点的问题,能够降低以太坊网络的部署成本文档来自技高网...

【技术保护点】
1.一种以太坊节点的调用方法,包括:/n接收调用请求;/n对所述调用请求进行认证,得到认证结果;/n根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;/n响应于接收到所述以太坊节点返回的请求结果,生成包含所述请求结果的第一信息。/n

【技术特征摘要】
1.一种以太坊节点的调用方法,包括:
接收调用请求;
对所述调用请求进行认证,得到认证结果;
根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;
响应于接收到所述以太坊节点返回的请求结果,生成包含所述请求结果的第一信息。


2.根据权利要求1所述的方法,还包括,
在接收调用请求之前,接收授权请求;
将所述授权请求转发至管理员之后,接收所述管理员发送的授权信息;
存储所述授权信息。


3.根据权利要求1所述的方法,其中,所述对所述调用请求进行认证,得到认证结果包括:
获取所述调用请求中的用户信息以及调用信息;
根据预设数据库,依次对所述用户信息以及调用信息进行认证,得到认证结果。


4.根据权利要求1所述的方法,其中,所述将所述调用请求转发至对应的以太坊节点包括:
获取以太坊节点池中各节点的状态信息;
选取状态信息满足预设条件的以太坊节点,作为目标节点;
将所述调用请求转发至所述目标节点。


5.一种以太坊节点的调用装置,包括:
接收单元,用于接收调用请求;
认证单元,用于对所述调用请求进行认证,得到认证结果;
转发单元,用于根据所述认证结果确定认证通过之后,将所述调用请求转发至对应的以太坊节点;
发送单元,用于响应于接收到所述以太坊节点返回的请求结果,生成包含所述请求结果的第一信息。


6...

【专利技术属性】
技术研发人员:林晶晶毛宏斌刘晓赫
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1