6 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"
...
}授權
存取是使用下列群組成員來控制,該群組成員會在記號宣告中傳達。
- 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_call、eth_getBalance、eth_sendRawTransaction和eth_getTransactionReceipt) 的已認證和授權進入點。 - 執行處理 / 程式實際執行資訊 API:提供用於檢視 genesis 檔案或下載建立參與者執行處理時所要使用之描述資料
.zip檔案的執行處理描述資料。 - 合約登錄 API:提供管理與查詢已儲存合約中繼資料的端點。例如,應用程式二進位介面 (ABI)、位元組碼、清單、實行以及儲存體配置。
- 公事包 API:提供管理公事包的端點,包括建立和列出公事包、上傳金鑰以及啟用公事包。