상용화 이전: 2026-02-26

6 RPC 프록시

RPC 프록시는 클라이언트 응용 프로그램의 기본 인터페이스입니다. 구성된 업스트림 노드 끝점으로 요청을 전달합니다.

RPC 프록시는 Ethereum JSON-RPC 요청에 대해 인증되고 승인된 액세스 계층을 제공합니다. 또한 트랜잭션 서명, Query 실행 및 전자 지갑 관리를 위한 특수 기능도 제공합니다.

인증

보안 끝점에는 권한 부여 헤더에 Bearer 토큰이 필요합니다.
Authorization: Bearer <access_token>
프록시는 배포 구성(예: 서명 검증, 만료, 발행자 및 오디언스)에 따라 토큰을 검증합니다.

다음 명령을 사용하여 Blockchain Platform Manager에서 사용 가능한 액세스 토큰 엔드포인트를 사용하여 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"
다음 유형의 API가 RPC 프록시로 노출됩니다. 자세한 내용은 Hyperledger Besu용 RPC API for Oracle Blockchain Platform Enterprise Edition에서 OpenAPI 사양을 참조하십시오.
  • JSON-RPC 프록시 API: Ethereum JSON-RPC 메소드(예: eth_call, eth_getBalance, eth_sendRawTransactioneth_getTransactionReceipt)에 대해 인증되고 인증된 시작점을 제공합니다.
  • 인스턴스/런타임 정보 API: 참가자 인스턴스를 생성할 때 사용할 메타데이터 .zip 파일을 다운로드하거나 생성 파일을 보기 위한 인스턴스 메타데이터를 제공합니다.
  • 계약 레지스트리 API: 저장된 계약 메타데이터를 관리하고 쿼리하기 위한 엔드포인트를 제공합니다. 예를 들어, ABI(Application Binary Interface), 바이트 코드, 매니페스트, 구현 및 저장 영역 레이아웃이 있습니다.
  • 전자 지갑 API: 전자 지갑 생성 및 나열, 키 업로드 및 전자 지갑 활성화를 포함하여 전자 지갑 관리를 위한 엔드포인트를 제공합니다.