9 Proxy RPC
Le proxy RPC est l'interface principale pour les applications client. Il transmet les demandes aux adresses de noeud en amont configurées.
Le proxy RPC fournit une couche d'accès authentifiée et autorisée pour les demandes Ethereum JSON-RPC. Il fournit également des fonctionnalités spécialisées pour la signature de transactions, l'exécution de requêtes et la gestion de portefeuilles.
Authentification
Authorization: Bearer <access_token> Le proxy valide le jeton conformément à la configuration du déploiement (par exemple, validation de signature, expiration, émetteur et public).Vous pouvez utiliser la commande suivante pour générer un jeton de support à l'aide de l'adresse de jeton d'accès disponible dans 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>"
Le texte suivant présente un exemple de réponse. Vous utiliserez ensuite la valeur de access_token comme jeton porteur pour les appels suivants.{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
"expires_in": 300,
"token_type": "Bearer"
...
}Autorisation
L'accès est contrôlé à l'aide de l'appartenance au groupe suivant, qui est transmis dans les revendications de jeton. Reportez-vous à la section User Groups and Roles.
Spécification OpenAPI
Le proxy RPC publie une spécification OpenAPI pour ses adresses REST. Le texte suivant présente un exemple de demande.
curl -sS \
"<RPC_PROXY_BASE_URL>/openapi" \
-H "Authorization: Bearer <access token>" \
-H "Accept: application/yaml"Les types d'API suivants sont exposés par le proxy RPC. Pour plus de détails, reportez-vous à la spécification OpenAPI à l'adresse Web3 Transactions and Besu Instance APIs.
- API de proxy JSON-RPC : fournit un point d'entrée authentifié et autorisé pour les méthodes JSON-RPC Ethereum telles que
eth_call,eth_getBalance,eth_sendRawTransactioneteth_getTransactionReceipt.