6 Proxy RPC
O proxy RPC é a interface principal para aplicativos cliente. Encaminha solicitações para os pontos finais do nó upstream configurados.
O proxy RPC fornece uma camada de acesso autenticada e autorizada para solicitações Ethereum JSON-RPC. Ele também fornece recursos especializados para assinar transações, executar consultas e gerenciar carteiras.
Autenticação
Pontos finais protegidos exigem um token de portador no cabeçalho de autorização:
Authorization: Bearer <access_token> O proxy valida o token de acordo com a configuração de implantação (por exemplo, validação de assinatura, expiração, emissor e público).Você pode usar o comando a seguir para gerar um token ao portador usando o ponto final do token de acesso disponível no 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>"
O texto a seguir mostra um exemplo de resposta. Em seguida, use o valor de access_token como o token ao portador para chamadas subsequentes.{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9....",
"expires_in": 300,
"token_type": "Bearer"
...
}Autorização
O acesso é controlado usando a seguinte associação de grupo, que é transmitida nas reivindicações de token.
- O acesso JSON-RPC requer associação no seguinte grupo:
BESU_RPC_GW_<instance_id> - As APIs de metadados da instância também exigem associação no seguinte grupo:
OBP_<BPMID>_CP_ADMIN
OpenAPI Especificação
O proxy RPC publica uma especificação OpenAPI para seus pontos finais REST. O texto a seguir mostra um exemplo de solicitação.
curl -sS \
"<RPC_PROXY_BASE_URL>/openapi" \
-H "Authorization: Bearer <access token>" \
-H "Accept: application/yaml"Os tipos de APIs a seguir são expostos pelo proxy RPC. Para obter detalhes completos, consulte a especificação OpenAPI em RPC API for Oracle Blockchain Platform Enterprise Edition for Hyperledger Besu.
- API de proxy JSON-RPC: Fornece um ponto de entrada autenticado e autorizado para métodos JSON-RPC Ethereum, como
eth_call,eth_getBalance,eth_sendRawTransactioneeth_getTransactionReceipt. - API de informações de instância/tempo de execução: Fornece metadados da instância destinados à exibição do arquivo de gênese ou ao download do arquivo
.zipde metadados a ser usado ao criar uma instância do participante. - API de registro de contrato: Fornece pontos finais para gerenciar e consultar metadados de contrato armazenados. Por exemplo, ABI (Application Binary Interface), código de bytes, manifestos, implementações e layouts de armazenamento.
- API da Wallet: Fornece pontos finais para gerenciar wallets, incluindo criação e listagem de wallet, upload de chave e ativação de wallet.