# 概要

OCAP Clientは、アプリケーションをOCAPベースのブロックチェーンに接続するために設計された、強力で多機能なJavaScriptライブラリです。データの読み書き、デジタル資産の管理、オンチェーンイベントの監視を行うための、効率的で開発者に優しいインターフェースを提供します。このクライアントは、あらゆるNode.jsまたはブラウザベースの環境で使用でき、バックエンドサービスとフロントエンドアプリケーションの両方に単一のソリューションを提供します。

その中核となるのは、トランザクションのエンコーディングや署名の複雑さを抽象化することで、ブロックチェーンとの対話を簡素化することです。HTTP/Sを介したブロックチェーンノードとのすべての通信にGraphQL APIを使用しており、チェーンデータのクエリやトランザクションの送信が容易になります。

<!-- DIAGRAM_IMAGE_START:architecture:4:3 -->

![Overview](assets/diagram/overview-01.jpg)

<!-- DIAGRAM_IMAGE_END -->

### 主な機能

OCAP Clientは、ブロックチェーン通信のさまざまな側面を処理するために、いくつかの異なるメソッドのグループに整理されています。

<x-cards data-columns="2">
  <x-card data-title="クエリ" data-icon="lucide:search">
    ブロック、トランザクション、アカウントの状態、資産の詳細、一般的なチェーン情報など、ブロックチェーンからあらゆるデータを読み取ります。
  </x-card>
  <x-card data-title="ミューテーションとセンダー" data-icon="lucide:send">
    ブロックチェーンにデータを書き込みます。`transfer` や `createAsset` のような高レベルのヘルパーメソッドを使用して、トランザクションを簡単に準備、署名、送信できます。
  </x-card>
  <x-card data-title="サブスクリプション" data-icon="lucide:radio-tower">
    リアルタイムのオンチェーンイベントを監視します。トピックを購読し、WebSocket 接続を介して発生した更新を受信します。
  </x-card>
  <x-card data-title="コーダーとサイナー" data-icon="lucide:edit">
    高度なユースケースでは、トランザクションを手動でエンコードおよび署名でき、トランザクションのライフサイクルを完全に制御できます。
  </x-card>
</x-cards>

### 重要な概念

* **アカウントの自動作成**: OCAPベースのチェーンでは、最初に入金トランザクション（例：トークンの受信）を受け取ると、新しいアカウントがオンチェーンで自動的に作成されます。アカウントを初期化するために別のトランザクションは必要ありません。

* **ガスレストランザクション**: このクライアントは、指定された「ガス支払者」ウォレットが他のユーザーのトランザクション手数料を負担できるガス支払いメカニズムをサポートしています。これにより、アプリケーションのユーザーにシームレスでガス代無料の体験を提供できます。

### 次のステップ

開発を始める準備はできましたか？始めるのに役立つリンクをいくつか紹介します。

<x-cards data-columns="3">
  <x-card data-title="はじめに" data-icon="lucide:rocket" data-href="/getting-started">
    クライアントをインストールし、ベータチェーンに接続して、30分以内に最初のクエリを実行します。
  </x-card>
  <x-card data-title="ハウツーガイド" data-icon="lucide:book-open" data-href="/how-to-guides">
    NFTの作成、トークンの転送、ステーキングなどの一般的なタスクについて、ステップバイステップのチュートリアルに従ってください。
  </x-card>
  <x-card data-title="API リファレンス" data-icon="lucide:code" data-href="/api-reference">
    すべてのメソッド、パラメータ、データ型に関する詳細情報について、完全なAPIドキュメントをご覧ください。
  </x-card>
</x-cards>
