9 RPC 代理主機

RPC 代理伺服器是用戶端應用程式的主要介面。它會將要求轉送至設定的上游節點端點。

RPC 代理主機為 Ethereum JSON-RPC 要求提供經過認證和授權的存取層。它也提供特殊功能,可用於簽署交易、執行查詢和管理公事包。

認證

保護的端點在授權標頭中需有 Bearer 權杖:
Authorization: Bearer <access_token>
代理主機會根據部署組態 (例如簽章驗證、到期、發照者及受眾) 驗證權杖。

您可以使用下列命令,使用區塊鏈平台管理程式中可用的存取權杖端點產生 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"
    ...
}

授權

存取是使用下列群組成員來控制,該群組成員會在記號宣告中傳達。請參閱使用者群組與角色。

OpenAPI 規格

RPC 代理主機會發布其 REST 端點的 OpenAPI 規格。下列文字顯示範例要求。

curl -sS \
  "<RPC_PROXY_BASE_URL>/openapi" \
  -H "Authorization: Bearer <access token>" \
  -H "Accept: application/yaml"
RPC 代理主機會顯示下列類型的 API。如需詳細資訊,請參閱位於 Web3 Transactions and Besu Instance API 的 OpenAPI 規格。
  • JSON-RPC 代理主機 API:提供乙太 JSON-RPC 方法 (例如 eth_call、eth_getBalance、eth_sendRawTransaction 和 eth_getTransactionReceipt) 的已認證和授權進入點。