9 RPCプロキシ

RPCプロキシは、クライアントアプリケーションのプライマリインタフェースです。構成されたアップストリーム・ノード・エンドポイントにリクエストを転送します。

RPCプロキシは、Ethereum JSON-RPCリクエストに対して認証および認可されたアクセス・レイヤーを提供します。また、トランザクションの署名、問合せの実行およびウォレットの管理に特化した機能も提供します。

認証

保護されたエンドポイントでは、認可ヘッダーにベアラー・トークンが必要です:
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の値を後続のコール用のベアラー・トークンとして使用します。
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
  "expires_in": 300,
  "token_type": "Bearer"
    ...
}

承認

アクセスは、トークン・クレームで伝達される次のグループ・メンバーシップを使用して制御されます。「ユーザー・グループおよびロール」を参照してください。

OpenAPI仕様

RPCプロキシは、そのRESTエンドポイントのOpenAPI仕様を公開します。次のテキストは、リクエストの例を示しています。

curl -sS \
  "<RPC_PROXY_BASE_URL>/openapi" \
  -H "Authorization: Bearer <access token>" \
  -H "Accept: application/yaml"
次のタイプのAPIは、RPCプロキシによって公開されます。詳細は、Web3トランザクションおよびBesuインスタンスAPIのOpenAPI仕様を参照してください。
  • JSON-RPCプロキシAPI: Ethereum JSON-RPCメソッド(eth_call、eth_getBalance、eth_sendRawTransaction、eth_getTransactionReceiptなど)に対して、認証および認可されたエントリ・ポイントを提供します。