百度区块链引擎BBE

    JSON-RPC防火墙

    JSON-RPC防火墙

    介绍

    JSON-RPC防火墙是一种可配置的JSON-RPC请求鉴权服务。 管理员可为JSON-RPC调用者创建账号并根据JSON-RPC方法为只读或读写为调用者账号授权。

    防火墙使用Basic Auth方式认证鉴权,服务启用后,网络JSON-RPC地址不变,调用者在使用JSON-RPC时需要携带认证信息。

    开通服务

    点击”以太坊网络名称“后进入以太坊网络详情页面,在页面左侧点击”JSON-RPC防火墙“进入服务页面。

    首次进入JSON-RPC防火墙服务时,会弹出服务开启弹出框,点击”确认“后可开通服务,如下图所示。

    image.png

    说明:服务开启后暂无法关闭,请谨慎选择。

    创建JSON-RPC权限账号

    点击”创建JSON-RPC权限账号“按钮,弹出账号创建弹出框,填写:

    • 用户名,由6-12位字母数字构成
    • 密码,点击”生成并复制密码“自动创建,服务不会存储密码,请妥善保管

    填写完成后点击”确定“创建。如下图所示。

    image.png

    使用账号

    创建的账号通过JSON-RPC可以请求区块链网络。其中JSON-RPC的地址可以在”以太坊详情“页面中查看,

    如JSON-RPC地址为http://XXX:8081/eth-jsonrpc/cbd72890-22c4-fb2d-262e-101759996922。

    JSON-RPC防火墙采用Basic Auth认证方式,开启服务后有以下两种方式通过JSON-RPC调用网络。

    方式一:

    将创建的用户名和密码,携带在JSON-RPC地址中进行请求,如:

    http://userName:passWord@XXX:8081/eth-jsonrpc/cbd72890-22c4-fb2d-262e-101759996922

    其中”userName“是账号名,”passWord“是账号密码。

    方式二:

    将认证信息放到JSON-RPC的请求头中,请求头中增加”Authorization“字段,如:

    curl -X POST 
      http://XXX:8081/eth-jsonrpc/cbd72890-22c4-fb2d-262e-101759996922 \
      -H 'Authorization: Basic ZGV2ZWxvcDpYTkZZOHlhZ2JFMFI=' \
      -H 'Content-Type: application/json' \
      -d '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

    其中Authorization生成方式为:

    "Basic " + base64encode(userName:passWord)

    更改账号权限

    在已创建的账号列表中点击”更改“,弹出权限配置框,可以授权用户所调用的JSON-RPC方法为只读或读写进行授权。如下图所示。

    image.png

    授权方法包括:

    • admin,提供节点管理相关方法,如admin.removePeer可以删除网络节点
    • debug,提供节点debug相关方法,如debug.TraceBlockByHash可以通过交易hash跟踪交易
    • miner,提供挖矿相关方法,如miner.stop()可以停止节点挖矿
    • personal,提供账户管理相关方法,如personal.unlockAccount()可以解锁节点账户
    • txpool,提供交易池相关方法,如txpool.Status()查看交易池状态
    • eth,jsonprc基础方法,提供eth相关方法,如eth.sendTransaction发送交易
    • net,提供网络相关方法,如net.peerCount查看节点个数
    • rpc,提供rpc相关方法,如rpc.modules查看rpc提供的方法种类

    具体信息可阅读官方文档

    禁用

    在已创建的账号列表中点击”禁用“,弹出确认框,点击”确定“禁用该账号。如下图所示。

    image.png

    禁用后,该帐号将不能在通过JSON-RPC请求网络。

    启用

    账号禁用后可点击”启用“,在弹出的确认框中点击”确定“重新开启该账号,如下图所示。

    image.png

    删除

    如需删除账号,点击账号列表中的”删除“按钮,在弹出的确认框中点击”确认“,即可删除。

    删除后该帐号将不能在通过JSON-RPC请求网络。 操作如下图所示。

    image.png

    上一篇
    购买创建
    下一篇
    超级账本