OCAP Client は GraphQL を通じてブロックチェーンと対話します。メソッドは主に2つのタイプに分類されます。
- クエリ: ブロックチェーンからデータを取得するために使用される読み取り専用の操作です。アカウントの状態の取得、トランザクションのリスト表示、または一般的なチェーン情報の取得などが含まれます。これらはチェーンの状態を変更しません。
- ミューテーション: ブロックチェーンの状態を変更する書き込み操作です。トランザクションの送信がミューテーションの主な例です。
このセクションでは、クライアントが提供する利用可能なすべてのクエリおよびミューテーションメソッドの完全なリファレンスを提供します。
クエリメソッド
クエリはブロックチェーンからデータを取得するために使用されます。以下は、利用可能なすべてのクエリメソッドの完全なリストです。
getAccountState
特定のアカウントの現在の状態(残高、ナンス、その他の詳細を含む)を取得します。
パラメータ
- address
string(required) — クエリ対象のアカウントのアドレス。 - height
string— 特定のブロック高での状態をクエリします。 - keys
string[]— 取得する特定のフィールド。 - traceMigration
boolean— true の場合、アカウントの移行履歴を追跡します。
戻り値
- ResponseGetAccountState
object— レスポンスコードとアカウントの状態を含むオブジェクト。- code
string— レスポンスのステータスコード(例:「OK」)。 - state
AccountState— アカウントの詳細な状態。
- code
getAssetState
特定のアセット(NFT)の現在の状態を取得します。
パラメータ
- address
string(required) — クエリ対象のアセットのアドレス。 - height
string— 特定のブロック高での状態をクエリします。 - keys
string[]— 取得する特定のフィールド。
戻り値
- ResponseGetAssetState
object— レスポンスコードとアセットの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
AssetState— アセットの詳細な状態。
- code
getFactoryState
特定のアセットファクトリーの状態を取得します。
パラメータ
- address
string(required) — クエリ対象のファクトリーのアドレス。
戻り値
- ResponseGetFactoryState
object— レスポンスコードとファクトリーの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
AssetFactoryState— アセットファクトリーの詳細な状態。
- code
getDelegateState
委任関係の状態を取得します。
パラメータ
- address
string(required) — クエリ対象の委任のアドレス。 - height
string— 特定のブロック高での状態をクエリします。 - keys
string[]— 取得する特定のフィールド。
戻り値
- ResponseGetDelegateState
object— レスポンスコードと委任の状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
DelegateState— 委任の詳細な状態。
- code
getTokenState
特定のファンジブルトークンの状態を取得します。
パラメータ
- address
string(required) — クエリ対象のトークンのアドレス。
戻り値
- ResponseGetTokenState
object— レスポンスコードとトークンの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
TokenState— トークンの詳細な状態。
- code
getEvidenceState
ハッシュによってエビデンスレコードを取得します。
パラメータ
- hash
string(required) — 取得するエビデンスのハッシュ。
戻り値
- ResponseGetEvidenceState
object— レスポンスコードとエビデンスの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
EvidenceState— エビデンスの詳細な状態。
- code
getForgeState
OCAP ブロックチェーンの全体的な設定と状態を取得します。
パラメータ
- height
string— 特定のブロック高での状態をクエリします。 - keys
string[]— 取得する特定のフィールド。
戻り値
- ResponseGetForgeState
object— レスポンスコードとチェーンの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
ForgeState— OCAP チェーンの詳細な状態。
- code
getTokenFactoryState
特定のトークンファクトリーの状態を取得します。
パラメータ
- address
string(required) — クエリ対象のトークンファクトリーのアドレス。
戻り値
- ResponseGetTokenFactoryState
object— レスポンスコードとトークンファクトリーの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
TokenFactoryState— トークンファクトリーの詳細な状態。
- code
getTx
ハッシュによって単一のトランザクションを取得します。
パラメータ
- hash
string(required) — 取得するトランザクションのハッシュ。
戻り値
- ResponseGetTx
object— レスポンスコードとトランザクションの詳細を含むオブジェクト。- code
string— レスポンスのステータスコード。 - info
TransactionInfo— トランザクションの詳細情報。
- code
getBlock
ブロック高によって単一のブロックを取得します。
パラメータ
- height
string(required) — 取得するブロックの高さ。
戻り値
- ResponseGetBlock
object— レスポンスコードとブロックの詳細を含むオブジェクト。- code
string— レスポンスのステータスコード。 - block
BlockInfo— ブロックの詳細情報。
- code
getBlocks
オプションのフィルターを使用してブロックのリストを取得します。
パラメータ
- paging
PageInput— ページネーション設定。 - heightFilter
RangeFilterInput— ブロック高の範囲でブロックをフィルタリングします。 - emptyExcluded
boolean— true の場合、トランザクションのないブロックは除外されます。
戻り値
- ResponseGetBlocks
object— ページネーション情報とブロックのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - blocks
BlockInfoSimple[]— 簡略化されたブロックオブジェクトの配列。
- code
getUnconfirmedTxs
mempool にあるがまだ確認されていないトランザクションを取得します。
パラメータ
- paging
PageInput— ページネーション設定。
戻り値
- ResponseGetUnconfirmedTxs
object— ページネーション情報と未確認トランザクションのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - unconfirmedTxs
UnconfirmedTxs— 未確認トランザクションの詳細。
- code
getChainInfo
ブロックチェーンに関する一般情報を取得します。
パラメータ
このメソッドはパラメータを取りません。
戻り値
- ResponseGetChainInfo
object— レスポンスコードとチェーン情報を含むオブジェクト。- code
string— レスポンスのステータスコード。 - info
ChainInfo— チェーンの詳細情報。
- code
getConfig
ノードの設定を取得します。
パラメータ
- parsed
boolean— true の場合、解析済みの設定を返します。
戻り値
- ResponseGetConfig
object— レスポンスコードと設定を含むオブジェクト。- code
string— レスポンスのステータスコード。 - config
string— ノードの設定(文字列として)。
- code
getNetInfo
接続されているピアを含むネットワーク情報を取得します。
パラメータ
このメソッドはパラメータを取りません。
戻り値
- ResponseGetNetInfo
object— レスポンスコードとネットワーク情報を含むオブジェクト。- code
string— レスポンスのステータスコード。 - netInfo
NetInfo— 詳細なネットワーク情報。
- code
getNodeInfo
クエリされている特定のノードに関する情報を取得します。
パラメータ
このメソッドはパラメータを取りません。
戻り値
- ResponseGetNodeInfo
object— レスポンスコードとノード情報を含むオブジェクト。- code
string— レスポンスのステータスコード。 - info
NodeInfo— ノードに関する詳細情報。
- code
getValidatorsInfo
現在のバリデーターセットに関する情報を取得します。
パラメータ
このメソッドはパラメータを取りません。
戻り値
- ResponseGetValidatorsInfo
object— レスポンスコードとバリデーター情報を含むオブジェクト。- code
string— レスポンスのステータスコード。 - validatorsInfo
ValidatorsInfo— バリデーターに関する詳細情報。
- code
getForgeStats
ブロックチェーンのアクティビティに関するさまざまな統計を取得します。
パラメータ
このメソッドはパラメータを取りません。
戻り値
- ResponseGetForgeStats
object— レスポンスコードとチェーンの統計情報を含むオブジェクト。- code
string— レスポンスのステータスコード。 - forgeStats
ForgeStats— OCAP チェーンに関するさまざまな統計。
- code
listAssetTransactions
特定のアセットに関連するすべてのトランザクションをリスト表示します。
パラメータ
- address
string(required) — アセットのアドレス。 - paging
PageInput— ページネーション設定。
戻り値
- ResponseListAssetTransactions
object— ページネーション情報とトランザクションのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - transactions
IndexedTransaction[]— トランザクションオブジェクトの配列。
- code
listAssets
所有者またはファクトリーでフィルタリングして、すべてのアセットをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - ownerAddress
string— 所有者のアドレスでアセットをフィルタリングします。 - factoryAddress
string— ファクトリーのアドレスでアセットをフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でアセットをフィルタリングします。
戻り値
- ResponseListAssets
object— ページネーション情報とアセットのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - assets
IndexedAssetState[]— アセット状態オブジェクトの配列。
- code
listBlocks
さまざまなフィルタリングオプションを使用してブロックをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - proposer
string— 提案者のアドレスでブロックをフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でブロックをフィルタリングします。 - heightFilter
RangeFilterInput— ブロック高の範囲でブロックをフィルタリングします。 - numTxsFilter
RangeFilterInput— トランザクション数でブロックをフィルタリングします。 - numInvalidTxsFilter
RangeFilterInput— 無効なトランザクション数でブロックをフィルタリングします。
戻り値
- ResponseListBlocks
object— ページネーション情報とブロックのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - blocks
IndexedBlock[]— ブロックオブジェクトの配列。
- code
listTopAccounts
特定のトークンの残高が最も高いアカウントをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - tokenAddress
string— トークンのアドレス。指定しない場合、ネイティブトークンがデフォルトになります。 - timeFilter
TimeFilterInput— 時間範囲でアカウントをフィルタリングします。
戻り値
- ResponseListTopAccounts
object— ページネーション情報とトップアカウントのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - accounts
IndexedAccountState[]— アカウント状態オブジェクトの配列。
- code
listTransactions
広範なフィルターを使用してトランザクションをリスト表示する強力なメソッドです。
パラメータ
- paging
PageInput— ページネーション設定。 - timeFilter
TimeFilterInput— 時間範囲でトランザクションをフィルタリングします。 - addressFilter
AddressFilterInput— 送信者または受信者のアドレスでトランザクションをフィルタリングします。 - typeFilter
TypeFilterInput— トランザクションタイプでフィルタリングします。 - validityFilter
ValidityFilterInput— トランザクションの有効性でフィルタリングします。 - factoryFilter
FactoryFilterInput— ファクトリーアドレスでフィルタリングします。 - tokenFilter
TokenFilterInput— トークンアドレスでフィルタリングします。 - assetFilter
AssetFilterInput— アセットアドレスでフィルタリングします。 - accountFilter
AccountFilterInput— アカウントアドレスでフィルタリングします。 - txFilter
TxFilterInput— トランザクションハッシュでフィルタリングします。 - rollupFilter
RollupFilterInput— ロールアップアドレスでフィルタリングします。 - stakeFilter
StakeFilterInput— ステークアドレスでフィルタリングします。 - delegationFilter
DelegationFilterInput— 委任アドレスでフィルタリングします。 - tokenFactoryFilter
TokenFactoryFilterInput— トークンファクトリーアドレスでフィルタリングします。
戻り値
- ResponseListTransactions
object— ページネーション情報とトランザクションのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - transactions
IndexedTransaction[]— トランザクションオブジェクトの配列。
- code
listTokens
チェーン上のすべてのファンジブルトークンをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - issuerAddress
string— 発行者のアドレスでトークンをフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でトークンをフィルタリングします。
戻り値
- ResponseListTokens
object— ページネーション情報とトークンのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - tokens
IndexedTokenState[]— トークン状態オブジェクトの配列。
- code
listFactories
チェーン上のすべてのアセットファクトリーをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - ownerAddress
string— 所有者のアドレスでファクトリーをフィルタリングします。 - addressList
string[]— クエリ対象のファクトリーアドレスのリスト。 - timeFilter
TimeFilterInput— 時間範囲でファクトリーをフィルタリングします。
戻り値
- ResponseListFactories
object— ページネーション情報とファクトリーのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - factories
IndexedFactoryState[]— ファクトリー状態オブジェクトの配列。
- code
getAccountTokens
特定のアカウントのトークン残高を取得します。
パラメータ
- address
string(required) — アカウントのアドレス。 - token
string— クエリ対象の特定のトークンアドレス。
戻り値
- ResponseGetAccountTokens
object— レスポンスコードとアカウントトークンのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - tokens
AccountToken[]— トークン残高オブジェクトの配列。
- code
getStakeState
特定のステークの状態を取得します。
パラメータ
- address
string(required) — クエリ対象のステークのアドレス。 - height
string— 特定のブロック高での状態をクエリします。 - keys
string[]— 取得する特定のフィールド。
戻り値
- ResponseGetStakeState
object— レスポンスコードとステークの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
StakeState— ステークの詳細な状態。
- code
listStakes
オプションのフィルターを使用して、すべてのステークレコードをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - addressFilter
AddressFilterInput— 送信者または受信者のアドレスでステークをフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でステークをフィルタリングします。 - assetFilter
AssetFilterInput— アセットアドレスでステークをフィルタリングします。
戻り値
- ResponseListStakes
object— ページネーション情報とステークのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - stakes
IndexedStakeState[]— ステーク状態オブジェクトの配列。
- code
getRollupState
特定のロールアップの状態を取得します。
パラメータ
- address
string(required) — クエリ対象のロールアップのアドレス。 - height
string— 特定のブロック高での状態をクエリします。 - keys
string[]— 取得する特定のフィールド。
戻り値
- ResponseGetRollupState
object— レスポンスコードとロールアップの状態を含むオブジェクト。- code
string— レスポンスのステータスコード。 - state
RollupState— ロールアップの詳細な状態。
- code
listRollups
チェーン上のすべてのロールアップをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - tokenAddress
string— トークンアドレスでロールアップをフィルタリングします。 - foreignTokenAddress
string— 外部トークンアドレスでロールアップをフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でロールアップをフィルタリングします。
戻り値
- ResponseListRollups
object— ページネーション情報とロールアップのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - rollups
IndexedRollupState[]— ロールアップ状態オブジェクトの配列。
- code
getRollupBlock
ロールアップサイドチェーンから特定のブロックを取得します。
パラメータ
- hash
string— ロールアップブロックのハッシュ。 - height
string— ロールアップブロックの高さ。 - rollupAddress
string(required) — ロールアップのアドレス。
戻り値
- ResponseGetRollupBlock
object— レスポンスコードとロールアップブロックを含むオブジェクト。- code
string— レスポンスのステータスコード。 - block
RollupBlock— ロールアップブロックの詳細情報。
- code
listRollupBlocks
ロールアップサイドチェーンからブロックをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - rollupAddress
string(required) — ロールアップのアドレス。 - tokenAddress
string— トークンアドレスでフィルタリングします。 - proposer
string— 提案者アドレスでフィルタリングします。 - validatorFilter
ValidatorFilterInput— バリデーターでフィルタリングします。 - txFilter
TxFilterInput— トランザクションハッシュでフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でフィルタリングします。
戻り値
- ResponseListRollupBlocks
object— ページネーション情報とロールアップブロックのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - blocks
IndexedRollupBlock[]— ロールアップブロックオブジェクトの配列。
- code
listRollupValidators
特定のロールアップのバリデーターをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - rollupAddress
string(required) — ロールアップのアドレス。
戻り値
- ResponseListRollupValidators
object— ページネーション情報とロールアップバリデーターのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - validators
IndexedRollupValidator[]— ロールアップバリデーターオブジェクトの配列。
- code
listDelegations
すべての委任レコードをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - from
string— 委任者のアドレスでフィルタリングします。 - to
string— 受任者のアドレスでフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でフィルタリングします。
戻り値
- ResponseListDelegations
object— ページネーション情報と委任のリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - delegations
IndexedDelegationState[]— 委任状態オブジェクトの配列。
- code
search
アカウント、アセット、またはトランザクションのキーワード検索を実行します。
パラメータ
- paging
PageInput— ページネーション設定。 - keyword
string(required) — 検索するキーワード。
戻り値
- ResponseSearch
object— ページネーション情報と検索結果を含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - results
SearchResult[]— 検索結果オブジェクトの配列。
- code
estimateGas
トランザクションに必要なガスを推定します。
パラメータ
- typeUrl
string(required) — トランザクションのタイプ URL。 - tx
string(required) — エンコードされたトランザクション文字列。
戻り値
- ResponseEstimateGas
object— レスポンスコードとガス推定値を含むオブジェクト。- code
string— レスポンスのステータスコード。 - estimate
GasEstimate— 推定ガス量。
- code
listTokenFlows
アカウント間のトークンの流れを追跡します。
パラメータ
- paging
PageInput— ページネーション設定。 - accountAddress
string(required) — 追跡するアカウントのアドレス。 - tokenAddress
string— 追跡するトークンのアドレス。 - depth
number— 追跡の深さ。 - direction
TokenFlowDirection— フローの方向(IN または OUT)。
戻り値
- ResponseListTokenFlows
object— ページネーション情報とトークンフローデータを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - data
IndexedTokenFlow[]— トークンフローオブジェクトの配列。
- code
verifyAccountRisk
指定されたアカウントのリスクプロファイルを評価します。
パラメータ
- accountAddress
string(required) — 検証するアカウントのアドレス。 - tokenAddress
string— コンテキスト用のトークンのアドレス。
戻り値
- ResponseVerifyAccountRisk
object— レスポンスコードとリスク検証結果を含むオブジェクト。- code
string— レスポンスのステータスコード。 - data
VerifyAccountRiskResult— リスク検証の結果。
- code
getTokenDistribution
指定されたトークンの分布統計を取得します。
パラメータ
- tokenAddress
string(required) — トークンのアドレス。
戻り値
- ResponseGetTokenDistribution
object— レスポンスコードとトークン分布データを含むオブジェクト。- code
string— レスポンスのステータスコード。 - data
TokenDistribution— トークンの分布統計。
- code
listTokenFactories
チェーン上のすべてのトークンファクトリーをリスト表示します。
パラメータ
- paging
PageInput— ページネーション設定。 - tokenAddress
string— トークンアドレスでフィルタリングします。 - reserveAddress
string— 準備金トークンアドレスでフィルタリングします。 - owner
string— 所有者アドレスでフィルタリングします。 - timeFilter
TimeFilterInput— 時間範囲でフィルタリングします。
戻り値
- ResponseListTokenFactories
object— ページネーション情報とトークンファクトリーのリストを含むオブジェクト。- code
string— レスポンスのステータスコード。 - page
PageInfo— ページネーション情報。 - tokenFactories
IndexedTokenFactoryState[]— トークンファクトリー状態オブジェクトの配列。
- code
ミューテーションメソッド
ミューテーションは、ブロックチェーンの状態を変更するトランザクションを送信するために使用されます。
sendTx
署名済みのトランザクションをネットワークにブロードキャストします。これはすべての書き込み操作の基本的なメソッドです。トランザクションの作成と署名については、高レベル API および トランザクションのライフサイクル ガイドを参照してください。
パラメータ
- tx
string(required) — エンコードされたトランザクション文字列。 - wallet
object(required) — 署名に使用されたウォレットオブジェクト。 - token
string— 認証トークン(必要な場合)。 - commit
boolean(default:true) — true の場合、トランザクションがブロックにコミットされるのを待ちます。 - extra
string— 含める追加データ。
戻り値
- ResponseSendTx
object— レスポンスコードとトランザクションハッシュを含むオブジェクト。- code
string— レスポンスのステータスコード。 - hash
string— 送信されたトランザクションのハッシュ。
- code
例
// この例では、`signedTx` が適切にエンコードされ、署名されたトランザクション文字列であることを前提としています。
// 作成方法については、他のガイドを参照してください。
const signedTx = '...';
const wallet = { ... }; // トランザクションに署名したウォレット
try {
const { hash } = await client.sendTx({ tx: signedTx, wallet });
console.log('Transaction sent successfully! Hash:', hash);
} catch (error) {
console.error('Failed to send transaction:', error);
}