9 Proxy RPC
El proxy RPC es la interfaz principal para las aplicaciones cliente. Reenvía solicitudes a los puntos finales de nodo ascendente configurados.
El proxy RPC proporciona una capa de acceso autenticada y autorizada para las solicitudes JSON-RPC de Ethereum. También proporciona funciones especializadas para firmar transacciones, ejecutar consultas y gestionar carteras.
Autenticación
Authorization: Bearer <access_token> El proxy valida el token de acuerdo con la configuración de despliegue (por ejemplo, validación de firma, caducidad, emisor y público).Puede utilizar el siguiente comando para generar un token de portador mediante el punto final de token de acceso disponible en Blockchain Platform Manager.
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>"
En el siguiente texto se muestra un ejemplo de respuesta. A continuación, utilice el valor de access_token como token de portador para las llamadas posteriores.{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
"expires_in": 300,
"token_type": "Bearer"
...
}Autorización
El acceso se controla mediante la siguiente afiliación de grupo, que se transmite en las reclamaciones de token. Consulte User Groups and Roles.
Especificación de OpenAPI
El proxy RPC publica una especificación OpenAPI para sus puntos finales REST. El siguiente texto muestra una solicitud de ejemplo.
curl -sS \
"<RPC_PROXY_BASE_URL>/openapi" \
-H "Authorization: Bearer <access token>" \
-H "Accept: application/yaml"El proxy RPC expone los siguientes tipos de API. Para obtener más información, consulte la especificación de OpenAPI en Web3 Transactions and Besu Instance APIs.
- API de proxy JSON-RPC: proporciona un punto de entrada autenticado y autorizado para los métodos JSON-RPC de Ethereum, como
eth_call,eth_getBalance,eth_sendRawTransactionyeth_getTransactionReceipt.