認証
メッセージ
gRPC APIは、単一のリクエストで組み合わせることのできる複数のサブスクリプションタイプをサポートします:object
アカウントの更新を購読します。指定されたアカウントが変更された場合にデータを返します。
非表示 プロパティ
非表示 プロパティ
array
監視するアカウントのパブキーの配列。
array
監視する所有者のパブキーの配列(これらのプログラムが所有するすべてのアカウント)。
object
オプションで適用するフィルタ。
表示 フィルタオプション
表示 フィルタオプション
object
integer
正確なアカウントデータサイズによるフィルタリング(バイト単位)。
boolean
トークンアカウントのみをフィルタ。
boolean
trueの場合、トランザクションによって引き起こされた更新のみを含めます。falseの場合、トランザクションによって引き起こされていない更新のみを含めます。undefinedの場合、すべての更新を含めます。object
object
トランザクションの更新を購読します。
非表示 プロパティ
非表示 プロパティ
boolean
投票トランザクションを含めます。
boolean
失敗したトランザクションを含めます。
string
特定のトランザクション署名を監視します。
array
これらのアカウントに影響を与えるトランザクションのみを含めます。
array
これらのアカウントに影響を与えるトランザクションを除外します。
array
これらすべてのアカウントに影響を与える必要があるトランザクション。
enum
オプションの関連トークンアカウント(ATA)展開(フィールドタグ30,
TokenAccountExpansionControlFlag)。設定した場合、account_includeウォレットは、SPLトークンバランスを所有するトランザクションと一致します。例えば、ウォレットのトークンアカウントではなく、そのパブキーに触れるトークンの受信転送。2つのバリアント:ALL(0) — ウォレットが所有するトークンバランスを参照する任意のトランザクションに一致します。高ボリューム。BALANCE_CHANGED(1) — ウォレットが所有するトークンバランスがトランザクションで変更(またはトークンアカウントが閉鎖)された場合に一致します。
None) — “off”の列挙値はありません。範囲外の整数は構成ビルド時に拒否されます: Invalid token_accounts value, expected ALL (0) or BALANCE_CHANGED (1)。ALL は ゼロ値 です。クライアントが「デフォルト/オフ」を想定して列挙型を 0 に設定すると、ALL、つまり対象範囲が最も広く、データ量が最も多いモードになります。「展開なし」を指定する唯一の方法は、フィールド自体を完全に省略することです。boolean
デフォルト:"false"
トランザクションのトークン残高の事前/事後データ(フィールドタグ 32)に含まれるミントに対して、
account_include、account_exclude、account_required も照合します。account_include にミントを指定すると、アカウントキーがそのミントを参照しない通常の SPL 転送を含め、そのトークンに関連するすべてのトランザクションを受信できます。トークン残高がないトランザクションでは、キーのみの照合にフォールバックします。match_mints だけではストリームは制限されません。少なくとも 1 つのリストにキーまたはミントを含める必要があります。token_accounts と組み合わせて使用できます。履歴リプレイ時にも適用されます。トークンミントのフィルタリングを参照してください。object
object
object
object
enum
integer
更新の受信を開始するスロットです。この値より前のスロットの更新は
除外されます。サブスクリプションを開始する前に、SubscribeReplayInfo
を使用して、利用可能な最も古いリプレイスロットを確認してください。
{
"slots": {
"slots": {}
},
"accounts": {
"user-defined-label": {
"account": [
"DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu",
"5U3bH5b6XtG99aVCE9ycvDgBKQx3fVT8WwTNbMToFuEr"
],
"owner": [
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
],
"filter": {
"memcmp": {
"offset": 0,
"bytes": "0102030405"
},
"datasize": 165,
"token_account_state": true,
"lamports": {
"gt": 100000000
}
},
"nonempty_txn_signature": true
}
},
"transactions": {},
"blocks": {},
"blocks_meta": {},
"accounts_data_slice": [],
"commitment": 1
}
{
"slots": {
"incoming_slots": {}
},
"commitment": 1
}
{
"transactions": {
"vote": false,
"failed": true,
"signature": "4RPMxKBhCBubFmZ1r9BC52ztjG3qBTW9Gp1PXfufUSATQaLKTW3Dj6vQBYyVrhfjgJ4PjZLzwYs4Z92KDCPw8Qym",
"account_include": ["DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu"],
"account_exclude": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
"account_required": ["11111111111111111111111111111111"]
},
"commitment": 2
}
{
"transactions": {
"wallet": {
"vote": false,
"failed": false,
"account_include": ["DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu"],
"account_exclude": [],
"account_required": [],
"token_accounts": 1
}
},
"commitment": 1
}
{
"transactions": {
"usdc": {
"vote": false,
"failed": false,
"account_include": ["EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"],
"account_exclude": [],
"account_required": [],
"match_mints": true
}
},
"commitment": 1
}
{
"transactions_status": {
"vote": false,
"failed": true,
"account_include": ["DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu"],
"account_exclude": ["TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"],
"account_required": ["11111111111111111111111111111111"]
},
"commitment": 2
}
{
"blocks": {
"account_include": ["DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu"],
"include_transactions": 1,
"include_accounts": 1,
"include_entries": 0
},
"commitment": 2
}
{
"blocks_meta": {},
"commitment": 2,
"from_slot": 139000000
}
{
"entry": {},
"commitment": 1
}
{
"accounts": {
"account": ["DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu"]
},
"accounts_data_slice": [
{
"offset": 0,
"length": 64
},
{
"offset": 128,
"length": 32
}
],
"commitment": 2
}
{
"ping": {
"id": 1
}
}
{
"accounts": {
"account": ["DjUF9ASpyMbVpGJmTvzfSbCgUWj6JowwLh8dGAJzSPmu"],
"nonempty_txn_signature": true
},
"slots": {
"filter_by_commitment": 1,
"interslot_updates": 1
},
"commitment": 2,
"from_slot": 139000000,
"ping": {
"id": 123
}
}
コミットメントレベル
すべての購読で、次のコミットメントレベルがサポートされます。PROCESSED: 現在のノードによって処理済み(0)CONFIRMED: クラスターの圧倒的多数によって確認済み(1)FINALIZED: クラスターによって確定済み(2)
レスポンス構造
購読レスポンスには次の内容が含まれます。filters: この更新に一致したフィルター名- 次のいずれかの更新タイプ:
account: アカウントデータ、所有者、lamports、実行可能ステータスなどslot: スロット情報とステータス更新transaction: トランザクションの完全な詳細、署名、メタデータtransaction_status: トランザクションの実行ステータス(成功/エラー)block: トランザクション、アカウント、報酬などを含む完全なブロックデータblock_meta: トランザクションの完全な詳細を含まない軽量なブロックメタデータentry: ブロック内のエントリ詳細ping/pong: 接続状態の確認メッセージ
created_at: 更新が作成されたときのタイムスタンプ
{
"filters": ["accounts"],
"account": {
"account": {
"pubkey": "BASE58_ENCODED_PUBKEY",
"lamports": 12345678,
"owner": "BASE58_ENCODED_OWNER",
"executable": false,
"rent_epoch": 361,
"data": "BASE64_ENCODED_DATA",
"write_version": 123,
"txn_signature": "BASE58_ENCODED_SIGNATURE"
},
"slot": 189554321,
"is_startup": false
},
"created_at": "2023-04-28T12:34:56.789Z"
}
{
"filters": ["slots"],
"slot": {
"slot": 189554321,
"parent": 189554320,
"status": 2,
"dead_error": null
},
"created_at": "2023-04-28T12:34:56.789Z"
}
{
"filters": ["transactions"],
"transaction": {
"transaction": {
"signature": "BASE58_ENCODED_SIGNATURE",
"is_vote": false,
"transaction": {
"signatures": ["BASE58_ENCODED_SIGNATURE"],
"message": {
"header": {
"num_required_signatures": 1,
"num_readonly_signed_accounts": 0,
"num_readonly_unsigned_accounts": 1
},
"account_keys": ["BASE58_ENCODED_PUBKEY1", "BASE58_ENCODED_PUBKEY2"],
"recent_blockhash": "BASE58_ENCODED_BLOCKHASH",
"instructions": [
{
"program_id_index": 1,
"accounts": [0],
"data": "BASE64_ENCODED_INSTRUCTION_DATA"
}
]
}
},
"meta": {
"err": null,
"fee": 5000,
"pre_balances": [10000000, 1],
"post_balances": [9995000, 1],
"pre_token_balances": [],
"post_token_balances": [],
"log_messages": ["Program log: Instruction executed"],
"rewards": []
},
"index": 2
},
"slot": 189554321
},
"created_at": "2023-04-28T12:34:56.789Z"
}
{
"filters": ["blocks_meta"],
"block_meta": {
"slot": 189554321,
"blockhash": "BASE58_ENCODED_BLOCKHASH",
"rewards": [
{
"pubkey": "BASE58_ENCODED_PUBKEY",
"lamports": 1785000,
"post_balance": 48589432109,
"reward_type": 0,
"commission": 10
}
],
"block_time": 1682684096,
"block_height": 185432109,
"parent_slot": 189554320,
"parent_blockhash": "BASE58_ENCODED_PARENT_BLOCKHASH",
"executed_transaction_count": 2576,
"entries_count": 16
},
"created_at": "2023-04-28T12:34:56.789Z"
}
{
"filters": ["entry"],
"entry": {
"slot": 189554321,
"index": 5,
"num_hashes": 8765432,
"hash": "BASE58_ENCODED_HASH",
"executed_transaction_count": 128,
"starting_transaction_index": 1024
},
"created_at": "2023-04-28T12:34:56.789Z"
}
{
"filters": [],
"pong": {
"id": 1
},
"created_at": "2023-04-28T12:34:56.789Z"
}