正式上市前版本:2026-02-26

6 RPC 代理

RPC 代理是客户机应用程序的主接口。它将请求转发到配置的上游节点端点。

RPC 代理为以太坊 JSON-RPC 请求提供经过验证和授权的访问层。它还提供了用于对事务处理进行签名、运行查询和管理钱包的专用功能。

验证

受保护端点需要在授权标头中有一个 Bearer 标记:
Authorization: Bearer <access_token>
代理根据部署配置(例如,签名验证、到期、发布者和受众)验证令牌。

可以使用以下命令通过使用 Blockchain Platform Manager 中提供的访问令牌端点来生成 Bearer 令牌。

curl -sS -X POST \
  "<Access Token Endpoint – fetched from Blockchain Platform Manager>" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=password" \
  -d "client_id=<CLIENT_ID>" \
  -d "client_secret=<CLIENT_SECRET>" \
  -d "username=<USERNAME>" \
  -d "password=<PASSWORD>"
以下文本显示了示例响应。然后,您将 access_token 的值用作后续调用的 Bearer 标记。
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
  "expires_in": 300,
  "token_type": "Bearer"
    ...
}

授权

访问使用以下组成员身份进行控制,该成员身份在令牌声明中传达。
  • JSON-RPC 访问需要以下组中的成员资格:BESU_RPC_GW_<instance_id>
  • 实例元数据 API 还需要以下组中的成员资格:OBP_<BPMID>_CP_ADMIN

OpenAPI 规范

RPC 代理为其 REST 端点发布 OpenAPI 规范。以下文本显示了示例请求。

curl -sS \
  "<RPC_PROXY_BASE_URL>/openapi" \
  -H "Authorization: Bearer <access token>" \
  -H "Accept: application/yaml"
RPC 代理公开以下类型的 API。有关完整详细信息,请参见 RPC API for Oracle Blockchain Platform Enterprise Edition for Hyperledger Besu 中的 OpenAPI 规范。
  • JSON-RPC 代理 API:为以太坊 JSON-RPC 方法(例如 eth_calleth_getBalanceeth_sendRawTransactioneth_getTransactionReceipt)提供经过验证和授权的入口点。
  • 实例/运行时信息 API:提供用于查看创世纪文件或下载元数据 .zip 文件以在创建参与者实例时使用的实例元数据。
  • 合同注册表 API:提供用于管理和查询存储的合同元数据的端点。例如,应用程序二进制接口 (Application Binary Interface,ABI)、字节码、清单、实施和存储布局。
  • Wallet API:提供用于管理钱包、影响钱包创建和列表、密钥上载和钱包激活的端点。