보증금 토큰 애플리케이션에 대한 ORDS 스크립트 실행

인스턴스를 생성하고 애플리케이션을 배치한 후 ORDS 스크립트를 실행할 수 있습니다.

다음 선행 조건을 충족해야 합니다:
  • Node.js 버전 20.19 이상, 22.13 이상 또는 23.5 이상.
  • 서비스 콘솔에서 다운로드할 수 있는 ORDS 스크립트 .zip 파일이 있어야 합니다.

소스 제어에 프로덕션 암호를 배치하지 마십시오. 승인된 암호 관리 시스템에 데이터베이스 암호, 전자 지갑 파일, OAuth 클라이언트 암호 및 Bearer 토큰을 저장합니다. 스크립트의 커밋된 .env 파일은 위치 표시자 템플리트일 뿐입니다.

  1. ORDS 스크립트 .zip 파일의 압축을 작업 디렉토리에 풉니다.
  2. ORDSscript 디렉토리에서 터미널을 엽니다.
  3. 다음 명령을 실행하여 시스템의 Node.js 버전이 지원되는지 확인합니다.
    node --version
    npm install
  4. 제공된 템플리트에서 자리 표시자 값을 바꾸어 .env 파일을 구성합니다. 이 파일에 데이터베이스 암호를 추가하지 마십시오. 명령행 인터페이스에서 대화식으로 암호를 묻습니다.
    # Common ORDS configuration
    CONNECTION_STRING="<Oracle connection string or TNS service alias>"
    VIEW_PREFIX="<unique deployment namespace>"
    MODULE_NAME="<unique ORDS module name>"
    BASE_PATH="<unique/ords/base/path/>"
    ITEMS_PER_PAGE="100"
    ORDS_REST_BASE_URL="https://<ords-host>"
    ALIAS_NAME="<REST-enabled schema alias>"
    ROLE_NAME="<unique ORDS role>"
    PRIVILEGE_NAME="<unique ORDS privilege>"
    LABEL="<privilege label>"
    DESCRIPTION="<deployment description>"
    CLIENT_NAME="<OAuth client name>"
    OWNER="<OAuth client owner>"
    SUPPORT_EMAIL="<support email>"
    
    # Besu Deposit Token configuration
    BESU_TABLE_PREFIX="<exact prefix before _more, _store_state and _store_hist>"
    BESU_TOKEN_CONTRACT="0x<deployed Deposit Token token proxy address>"
    BESU_ACCOUNT_CONTRACT="0x<deployed Account proxy address>"
    
    CONNECTION_STRING
    CONNECTION_STRING 매개변수가 TNS 별칭인 경우 전자 지갑을 추출하고 tnsnames.ora 파일을 찾을 수 있도록 Oracle 클라이언트 환경을 구성합니다. 압축된 전자 지갑 .zip 파일만으로는 충분하지 않습니다.
    VIEW_PREFIX
    운영 및 선택적 분석 뷰에 대한 고유 네임스페이스입니다. Oracle 스키마를 공유하는 각 배치에 대해 다른 접두어를 사용합니다.
    MODULE_NAME 및 BASE_PATH
    이러한 매개변수는 ORDS 모듈 ID 및 URL 경로를 정의합니다. 특정 배포와 고유 배포를 모두 유지합니다.
    ALIAS_NAME
    퍼블릭 ORDS URL 및 토큰 URL에 사용되는 REST 사용 Oracle 스키마 별칭입니다.
    BESU_TABLE_PREFIX
    정확한 서식 있는 내역 테이블 접두어로, 소스 _more, _store_state 및 _store_hist 테이블을 결정합니다.
    BESU_TOKEN_CONTRACT
    배포된 예금 토큰 프록시 계약 주소입니다.
    BESU_ACCOUNT_CONTRACT
    배포된 계정 프록시 계약 주소입니다.
  5. 스크립트를 실행하려면 다음 명령을 입력합니다.
    npm run start
    1. Oracle 데이터베이스 사용자 이름 및 암호를 입력합니다.
    2. 블록체인 플랫폼으로 베수를 선택합니다.
    3. 애플리케이션 유형으로 예치금 토큰을 선택합니다.
    4. 이전 실행이 완료되지 않은 경우 객체 복원을 선택하기 전에 롤백 프롬프트를 검토하십시오.
    5. 예를 선택하여 ORDS REST 끝점을 생성합니다.
    6. 배포에 분석 출력이 필요한 경우에만 분석 보기를 선택합니다.
    7. 이 배치에 새 클라이언트가 필요할 때 OAuth 클라이언트를 생성하려면 예를 선택합니다.
  6. 끝점 및 OAuth 생성을 선택한 경우 승인된 암호 저장소에 생성된 출력을 유지합니다. 출력에는 호출 가능한 끝점 맵, OAuth 클라이언트 ID, OAuth 클라이언트 암호 및 수명이 짧은 Bearer-token 응답이 포함됩니다. 클라이언트 암호 또는 Bearer 토큰을 승인된 암호 처리를 지원하지 않는 소스 제어 시스템, 파일, 위키 또는 프로젝트 관리 소프트웨어에 복사하지 마십시오. 다음 텍스트는 샘플 출력을 보여줍니다.
    {
      "ORDSEndpoint": "<generated endpoint URL or endpoint map>",
      "clientId": "<OAuth client ID>",
      "clientSecret": "<OAuth client secret>",
      "bearerToken": {
        "access_token": "<short-lived access token>",
        "token_type": "bearer",
        "expires_in": 3600
      }
    }
  7. OAuth 클라이언트 생성을 선택한 경우 승인된 암호 저장소에 보고된 클라이언트 ID 및 클라이언트 암호를 유지하고 이를 사용하여 끝점을 호출하여 시스템 기능을 확인합니다. 다음 텍스트는 토큰 요청의 형식을 보여줍니다.
    curl --request POST \
      "https://<ords-host>/ords/<ALIAS_NAME>/oauth/token" \
      --user "<client-id>:<client-secret>" \
      --header "Content-Type: application/x-www-form-urlencoded" \
      --data "grant_type=client_credentials"
    끝점 URL에는 다음 형식이 사용됩니다.
    https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/<route>
    다음 명령은 확인 테스트 예를 보여줍니다.
    curl --location \
      "https://<ords-host>/ords/<ALIAS_NAME>/<BASE_PATH>/getAllDepositTokenAccounts?token_id=<TOKEN_ID>" \
      --header "Authorization: Bearer <access-token>" \
      --header "Accept: application/json"
  8. 다음 검사를 실행하여 스크립트가 성공적으로 실행되었는지 확인합니다.
    Blockchain Platform Manager 프로필
    Oracle AI Database 서식 있는 내역 프로파일이 존재하며 인스턴스에 대해 선택됩니다.
    풍부한 기록 테이블
    구성된 BESU_TABLE_PREFIX는 _more, _store_state, and _store_hist 테이블로 분석됩니다.
    인덱스된 데이터
    하나 이상의 대표 예금 토큰 거래가 풍부한 기록 데이터에 표시됩니다.
    조회 수
    모든 작동 뷰는 구성된 VIEW_PREFIX 아래에 있습니다.
    ORDS 모듈을 선택합니다.
    구성된 모듈은 예상한 BASE_PATH에 게시됩니다.
    OAuth
    클라이언트 인증서 요청은 액세스 토큰을 반환합니다.
    API
    유효한 인증된 요청은 HTTP 200을 반환합니다. 일치하는 원장 데이터가 없을 경우 빈 items 목록을 사용할 수 있습니다.
    분리
    뷰, 모듈, 롤, 권한, 클라이언트 및 별칭 이름은 하나의 Oracle 데이터베이스를 공유하는 배치에 대해 고유합니다.
    다음 SQL 질의는 검증에 유용합니다.
    SELECT view_name
    FROM user_views
    WHERE view_name LIKE UPPER('<VIEW_PREFIX>') || '_%'
    ORDER BY view_name;
    
    SELECT name, uri_prefix, items_per_page, status
    FROM user_ords_modules
    WHERE name = '<MODULE_NAME>';