Avant disponibilité générale : 2026-02-26

6 Mandataire RPC

Le proxy RPC est l'interface principale des applications client. Il transmet les demandes aux points d'extrémité de noeud en amont configurés.

Le mandataire 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 signer des transactions, exécuter des interrogations et gérer des portefeuilles.

Authentification

Les points d'extrémité sécurisés nécessitent un jeton porteur dans l'en-tête d'autorisation :
Authorization: Bearer <access_token>
Le mandataire 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 porteur à l'aide du point d'extrémité 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 utilisez 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 de groupe suivante, qui est transmise dans les revendications de jeton.
  • L'accès JSON-RPC nécessite une appartenance au groupe suivant : BESU_RPC_GW_<instance_id>
  • Les API de métadonnées d'instance requièrent également une appartenance au groupe suivant : OBP_<BPMID>_CP_ADMIN

Spécification OpenAPI

Le mandataire RPC publie une spécification OpenAPI pour ses points d'extrémité 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 mandataire RPC. Pour plus de détails, voir la spécification OpenAPI à l'adresse API RPC pour Oracle Blockchain Platform Enterprise Edition pour Hyperledger Besu.
  • API mandataire JSON-RPC : Fournit un point d'entrée authentifié et autorisé pour les méthodes Ethereum JSON-RPC telles que eth_call, eth_getBalance, eth_sendRawTransaction et eth_getTransactionReceipt.
  • API d'informations d'instance/d'exécution : Fournit des métadonnées d'instance destinées à voir le fichier de genèse ou à télécharger le fichier de métadonnées .zip à utiliser lors de la création d'une instance de participant.
  • API de registre de contrats : Fournit des points d'extrémité pour la gestion et l'interrogation des métadonnées de contrat stockées. Par exemple, l'interface binaire d'application (ABI), le code octet, les manifestes, les mises en oeuvre et les dispositions de stockage.
  • API de portefeuille : Fournit des points d'extrémité pour gérer les portefeuilles, y compris la création et la liste de portefeuilles, le chargement de clés et l'activation de portefeuilles.