JSON-RPC アプリケーション プログラミング インターフェイス
ソフトウェア アプリケーションが IBAX ブロックチェーンと対話するには (ブロック データを取得したり、トランザクションをネットワークに送信したり)、ソフトウェア アプリケーションは IBAX ネットワーク ノードに接続されている必要があります。
元の REST API インターフェイスの汎用性と拡張性により、インターフェイスとクライアントの数がますます増え、ますます複雑になります。 私たちは、特定のノードやクライアントの実装に関係なく、すべてのクライアントが同じ仕様セットを使用できるようにするためのインターフェイスの統合の重要性を認識しています。
JSON-RPC は、ステートレスで軽量なリモート プロシージャ コール (RPC) プロトコルです。 これは、多数のデータ構造とその処理ルールを定義します。 これらの概念は、インターフェイス、ハイパーテキスト転送プロトコル、または多くの異なるメッセージング環境を介して同じプロセスで使用できるため、トランスポートに依存しません。 データ形式として JSON (RFC 4627) を使用します。
JSON-RPC は、ほとんどの REST API インターフェイスと互換性があり、元の REST API インターフェイスを保持しており、REST API インターフェイスを使用するクライアントは、インターフェイスの一部である JSON-RPC インターフェイスに簡単に転送できます。
REST API インターフェイスを通じて利用できます。
Client-sideの実装
SON-RPC 仕様を実装する場合、各クライアントは異なるプログラミング言語を使用できます。
GO-SDK (opens new window)
Curlの例
以下に、IBAX ノードに対してcurlリクエストを行うことによるJSON RPC APIの使用例を示します。 各例には、特定のエンドポイント、そのパラメーター、戻り値の型、およびその使用方法の実例の説明が含まれています。
Curl リクエストは、コンテンツ タイプに関連するエラー メッセージを返す場合があります。 これは、 --data オプションによってコンテンツ タイプが application/x-www-form-urlencoded に設定されるためです。 リクエストにこの問題がある場合は、呼び出しの先頭に -H "Content-Type: application/json" を配置して、ヘッダーを手動で設定します。 これらの例には、curl の最後のパラメータである必要がある URL/インターネット プロトコルとポートの組み合わせも含まれていません (例: 127.0.0.1:7079)。この追加データを含む完全なcurl リクエストは次の形式になります。
契約
Hex
16進数コード
バイト配列、ハッシュ、およびバイトコード配列をエンコードする場合: エンコードは 16 進数で、1 バイトあたり 2 桁の 16 進数になります。
リクエストの種類
Uniformの使用
- Content-Type: application/json
特殊マーカー
Omitempty
このフィールドはオプションのパラメータです。
行に複数の Omitempty
フィールドがある場合、
特定のフィールドの値のみを渡したい場合は、不要なフィールドを null(フィールドタイプの null 値)に設定する必要があります。例:
名前の値のみが渡される場合、リクエストパラメータは以下のように渡されます
"params":[0, "testname"]
- Number null 値は 0
カラムの値のみが渡される場合、リクエストパラメータは以下のように渡されます
"params":[0,"", "title,page"]
- String 空の値は
Authorization
認証ヘッダー、リクエストヘッダーにAuthorizationを追加します。例:
name : Authorization
value : Bearer +ログイントークン
例:
AccountOrKeyId
アカウントアドレスのパラメータでは、2つの形式のアドレスを使用できます。例えば
- String - アカウントアドレス
"XXXX-XXXX-XXXX-XXXX-XXXX"
またはアカウントID "64842...538120"
- Object - アドレスオブジェクト
- key_id - Number - アカウントID、例:
{"key_id":-64842 38120}
- account - String - アカウントアドレス、例:
{"account": "1196-... - -... -3496"}
アカウントIDが存在する場合、アカウントアドレスとアカウントIDの両方がある場合はアカウントIDが優先されます。
BlockOrHash
ブロックの高さまたはブロックのハッシュ、例:
- String - ブロックの高さ
"100"
または ブロックのハッシュ "4663aa47...a60753c18d9ba9cb4"
- Object - ブロック情報オブジェクト
- id - Number - ブロックの高さ、例:
{"id":2}
- hash - Hex String - ブロックのハッシュ、例:
{"hash": "d36b8996c c616d3043a0d02a0f59"}
ブロックの高さとブロックのハッシュはどちらか一方を選択できます。
バッチリクエスト
この機能は、特に大量の大部分が独立したデータオブジェクトを取得する場合にネットワークのレイテンシを低減するために使用できます。
以下は、最高ブロックとトランザクションの総数を取得する例です:
エラーレスポンスの処理
リクエストが正常に実行された場合、ステータスコード 200
が返されます。
エラーが発生した場合、以下のフィールドを持つJSONオブジェクトが返されます:
- jsonrpc
エラー識別子。
- id
エラーテキストメッセージ。
- error
- code
レスポンスステータスコード
- message
レスポンスステータスの説明
JSON-RPC ネームスペース
ibax ネームスペース
認証インターフェース
server-sideのコマンドインターフェイス
データリクエスト機能インターフェース
メトリクスの取得インターフェイス
エコシステムインターフェース
スマートコントラクト機能インターフェース
ネット名前空間
rpc名前空間
admin名前空間
debug名前空間
JSON-RPC インターフェースメソッド
ibax.getUid
Authorization Omitempty
loginを呼び出す際に、Authorizationに渡す必要がある一時的なJWTトークンを生成します。
パラメーター
戻り値
uid - String - 署名の数値。
token - String - ログイン時に渡される一時トークン(一時トークンの寿命は5秒)。
network_id - String - ネットワークの識別子。
cryptoer - String - 楕円曲線アルゴリズム。
hasher - String - ハッシュアルゴリズム。
認証が必要ない場合(リクエストにAuthorizationが含まれている場合)、以
expire - String - 有効期限。
ecosystem - String - エコシステムID。
key_id - String - アカウントアドレス。
address - String - ウォレットアドレス XXXX-XXXXXX-XXXX-XXXX-XXXX
。
network_id - String - ネットワークの識別子。
例
ibax.login
ユーザー認証。Authorization
最初にibax.getUidコマンドを呼び出して、一意の値を受信し、署名する必要があります。getuidの一時的なJWTトークンは、リクエストヘッダーに渡す必要があります。リクエストが成功した場合、レスポンスで受信したトークンはAuthorizationに含まれます。
パラメーター
Object - 認証呼び出しオブジェクト
ecosystem_id - Number - エコシステムID。指定されていない場合、最初のエコシステムIDにデフォルト設定されます。
expire - Number - JWTトークンのライフサイクル(秒単位)、デフォルトは28800、8時間です。
public_key - Hex String - 16進数のアカウント公開鍵。
key_id - String -
アカウントアドレス「XXXX-...-XXXX」。
公開鍵がすでにブロックチェーンに保存されている場合、このパラメーターを使用します。pubkeyパラメーターとは一緒に使用できません。
signature - String -
getuidで受信したuidに対して、秘密鍵を使用して署名します。
署名データの内容:LOGIN+{$network_id}+uid
role_id - Number - ロールID、デフォルトロール0
戻り値 Object - 認証オブジェクト
token - String - JWTトークン。
ecosystem_id - String - エコシステムID。
key_id - String - アカウントアドレスID
account - String - ウォレットアドレス「XXXX-XXXXXX-XXXX-XXXX-XXXX」。
notify_key - String - 通知ID。
isnode - Bool - アカウントアドレスがノードのオーナーであるかどうか。値:true,false
。
isowner - Bool - アカウントアドレスがこのエコシステムの作成者であるかどうか。値:true,false
。
clb - Bool - ログインしたエコシステムがCLBであるかどうか。値:true,false
。
timestamp - String - 現在のタイムスタンプ
roles - Array - ロールのリスト。ロールがない場合、このフィールドはnilです。
- role_id - Number - ロールID
- role_name - String - ロール名
例
ibax.getAuthStatus
ユーザー認証ステータス
Authorization
パラメーター
戻り値 Object - 認証ステータスオブジェクト
例
ibax.getVersion
現在のサーバーバージョンを返します。
パラメーター
戻り値
- vesion - String - バージョン番号(
big Version
+ branch name
+ git commit
+ time
+ node status
)
例
ibax.getBalance
アカウントアドレスの残高を取得します。
パラメーター
戻り値 Object - 残高オブジェクトを取得する
amount - String - 契約アカウント残高の最小単位。
total - String - 最小単位のアカウントの総残高(amount+utxo)。
utxo - String - 最小単位のUTXOアカウント残高。
digits - Number - 精度
token_symbol - String - トークンシンボル
例
ibax.getBlocksTxInfo
ブロック内のトランザクションに関する追加情報が含まれたリストを返します。
パラメーター
戻り値 Object - ブロック情報オブジェクトを取得する
例
ibax.detailedBlocks
R各ブロック内のトランザクションに関する詳細情報を含むリストを返します。
パラメーター
戻り値 Object - ブロックの詳細情報オブジェクト
- block_id - String - ブロック高
- header - Object - ブロックヘッダー。ブロックヘッダーには、次のフィールドが含まれます。
- block_id - Number - ブロックの高さ。
- time - Number - ブロック生成タイムスタンプ。
- key_id - Number - ブロックに署名したアカウントのアドレス。
- node_position - Number - ブロックを生成したノードの栄誉ノードリスト内の位置。
- version - Number - ブロック構造バージョン。
- hash - Hex String - ブロックのハッシュ。
- node_position - Number - ブロックを生成したノードの栄誉ノードリスト内の位置。
- key_id - Number - ブロックに署名したアカウントのアドレス。
- time - Number - ブロック生成タイムスタンプ。
- tx_count - Number - ブロック内のトランザクション数。
- size - String - ブロックのサイズ。
- rollback_hash - Hex String - ブロックのロールバックハッシュ。
- merkle_root - Hex String - このブロックトランザクションのマークルツリー。
- bin_data - Hex String - ブロックヘッダー、ブロック内のすべてのトランザクション、前のブロックハッシュ、およびブロックを生成したノードの秘密鍵のシリアル化。
- transactions - Object - トランザクションリスト。ブロック内の各トランザクションに関する追加情報が含まれます。
- hash - Hex String - トランザクションのハッシュ。
- contract_name - String - コントラクトの名前。
- params - Object - コントラクトパラメーター。ibax.getContractInfoを使用して、コントラクトフィールドをクエリできます。
- key_id - Number - トランザクションに署名したアカウントのアドレス。
- time - Number - トランザクション生成タイムスタンプ(単位:ミリ秒)。
- type - Number - トランザクションのタイプ。
- size - String - トランザクションのサイズ。
例
ibax.getKeyInfo
指定されたアドレスに登録されている役割を持つエコシステムのリストを返します。
パラメーター
- account - String - アカウントアドレス
戻り値 Object - アドレスエコリストオブジェクトを指定します。
- account - String - アカウントアドレス
- ecosystems - Array - エコリスト
- ecosystem - String - エコシステム ID
- name - String - エコシステム名
- digits - Number - 精度
- roles - Array - 役割のリスト。
- id - String - 役割 ID
- name - String - キャラ
例
ibax.detailedBlock
ブロック内のトランザクションに関する詳細な情報のリストを返します。
パラメーター
戻り値 Object - ブロックの詳細オブジェクトを取得します。
header - Object - ブロックヘッダー。以下のフィールドが含まれます。
- block_id - Number - ブロックの高さ
- time - Number - ブロックの生成タイムスタンプ
- key_id - Number - ブロックに署名したアカウントのアドレス
- node_position - Number - ブロックを生成したノードのHonorノードリスト内の位置
- version - Number - ブロック構造のバージョン
hash - Hex String - ブロックのハッシュ
node_position - Number - ブロックを生成したノードのHonorノードリスト内の位置
key_id - Number - ブロックに署名したアカウントのアドレス
time - Number - ブロックの生成タイムスタンプ
tx_count - Number - ブロック内のトランザクション数
size - String - ブロックのサイズ
rollback_hash - Hex String - ブロックのロールバックハッシュ
merkle_root - Hex String - このブロックのトランザクションのマークルツリー
bin_data - Hex String - ブロックヘッダー、ブロック内のすべてのトランザクション、前のブロックハッシュ、およびブロックを生成したノードの秘密鍵のシリアル化
transactions - Array - トランザクション。ブロック内のトランザクションのリストと各トランザクションに関する追加情報。
- hash - Hex String - トランザクションのハッシュ
- contract_name - String - コントラクト名
- params - Object - コントラクトパラメータ。コントラクトのフィールドは、ibax.getContractInfoを介してクエリできます。
- key_id - Number - トランザクションに署名したアカウントのアドレス
- time - Number - トランザクションの生成タイムスタンプ(単位:ms)
- type - Number - トランザクションのタイプ
- size - String - トランザクションのサイズ
例
ibax.maxBlockId
Get the highest block ID on the current node
パラメーター
戻り値
- Block Id - Number - 現在のノード上の最高ブロック
例
ibax.getKeysCount
現在のノード上のアドレスの総数を取得する
パラメーター
戻り値
- Count - Number - Total number of addresses
例
ibax.getTxCount
現在のノード上のトランザクションの総数を取得します。
パラメーター
戻り値
- Count - Number - Total number of transactions
例
ibax.getTransactionCount
ブロックトランザクションの数を取得する
パラメーター
戻り値
例
ibax.getBlocksCountByNode
Gノードロケーションパッキングブロックの数を取得する
パラメーター
- nodePosition - Number - ノードサブスクリプト
- consensusMode - Number - コンセンサスモード。パラメーター (1: Creator Managementモード、2: DAO Governanceモード)
戻り値 Object - ノードサブスクリプトのパッキング数オブジェクトを取得します。
- total_count - Number - ブロックの総数
- partial_count - Number - ノードサブスクリプトのパッキングブロック数
例
ibax.honorNodesCount
名誉ノード数を取得する
パラメーター
戻り値
ibax.getEcosystemCount
エコシステムの獲得数を取得する
パラメーター
戻り値
例
ibax.ecosystemInfo
エコロジー情報にアクセスする
パラメーター
- ecosystem id - Number - エコロジーID
戻り値
- id - Number - エコID
- name - String - エコロジー名
- digits - Number - 精度
- token_symbol - String - トークンシンボル
- token_name - String - トークンの名称
- total_amount - String - 発行量(初回発行、発行していない場合は
"0"
) - is_withdraw - Bool - 破棄可能性
true:破棄可能 false:破棄不可能
- withdraw - String - 破棄量(破棄不可能な場合、または破棄されていない場合は
"0"
) - is_emission - Bool - 増発可能性
true:増発可能 false:増発不可能
- emission - String - 増発量(増発不可能な場合、または増発がない場合は
"0"
) - introduction - String - エコの紹介
- logo - Number - エコロゴのID(バイナリテーブルIDに対応)、RESTFUL APIで利用可能
- creator - String - エコ作成者
例
ibax.appParams
現在のエコシステムまたは指定されたエコシステムのアプリケーションパラメータのリストを返します
Authorization
パラメーター
appid - Number - アプリケーションID。
ecosystem - Number - Omitempty - エコシステムID;
指定されていない場合、または0の場合、現在のエコシステムのパラメータが返されます。
names - String - Omitempty - アプリケーションパラメータ名をフィルタリングします。
カンマで区切られた名前のリスト、例:name1,name2
。
offset - Number - Omitempty オフセット、デフォルトは0です。
limit - Number - Omitempty エントリ数、デフォルトは100、最大100。
戻り値 Array - アプリケーションパラメータのリスト
- app_id - Number - アプリケーションID
- list - Number - 配列の各要素には、次のパラメータが含まれます。
- id - String - パラメータID、ユニーク。
- name - String - パラメータ名。
- value - String - パラメータ値。
- conditions - String - パラメータを変更するための権限。
例
ibax.getEcosystemParams
エコシステムパラメータのリストを取得する
Authorization
パラメーター
ecosystem - Number - Omitempty - エコシステムID
もし0またはそのようなパラメータがない場合、デフォルト: 現在のecid。
names - String - Omitempty - フィルタパラメータの名前。
カンマで区切られた名前のリスト、例:name1,name2
。
フィルタパラメータがある場合、offsetとlimitパラメータは無効です。
offset - Number - Omitempty オフセット、デフォルトは0です。
limit - Number - Omitempty エントリ数、デフォルトは100、最大100。
戻り値
- list - Array - 配列の各要素には、次のパラメータが含まれます。
- id - String - パラメータのID、ユニーク。
- name - String - パラメータの名前。
- value - String - パラメータの値。
- conditions - String - パラメータを変更するための権限。
例
ibax.getTableCount
現在のエコシステムに関するデータテーブルのリストを返します。
Offset and number of entries can be set
Authorization パラメーター
戻り値
例
ibax.getTable
R現在のエコシステムのリクエストデータテーブルに関する情報を返します。
Authorization
パラメーター
- tableName - String - データテーブル名
返り値
name - String - データテーブルの名前。
insert - String - エントリを追加する権限。
new_column - String - 新しいフィールドを追加する権限。
update - String - エントリの権限を変更する権限。
app_id - String - アプリケーションID。
conditions - String - 権限を変更するための条件。
columns - Array - データテーブルフィールドに関連する情報の配列:
- name - String - フィールドの名前。
- type - String - フィールドのデータ型。
- perm - String - このフィールドの値を変更する権限。
例
ibax.getList
指定されたデータテーブルのエントリを返します。
返される列を指定することができます。
オフセットとエントリの数を設定することができます。
クエリ条件を設定することができます。
タイプが BYTEA(バイト配列、ハッシュ、バイトコード配列)のデータテーブルのヘックスエンコーディング
Authorization
パラメーター Object - データテーブルオブジェクトを取得します。
name - String - データテーブルの名前。
limit - Number - [Omitempty] エントリの数。デフォルトは25です。
offset - Number - [Omitempty] オフセット。デフォルトは0です。
order - String - [Omitempty] ソート方法。デフォルトはid ASCです。
columns - String - [Omitempty] 要求された列のコンマ区切りのリスト。指定されていない場合はすべての列が返されます。
id列は常に返されます。
where - Object - [Omitempty] クエリ条件
例:id > 2 かつ name = john をクエリしたい場合は、where:{"id":{"$gt":2}, "name":{"$eq": "john"}}
を使用します。
詳細については、DBFind のwhere構文を参照してください。
返り値
例
ibax.getSections
現在のエコシステムのタブに戻ります。
テーブルエントリのリストで、オフセットとエントリ数を設定できます。
もし role_access フィールドがロールのリストを含み、現在のロールが含まれていない場合、レコードは返されません。title フィールドのデータは、リクエストヘッダーの Accept-Language 言語リソースによって置き換えられます。
Authorization
パラメーター
- Object - アクションリクエストオブジェクトを取得します。
limit - Number - Omitempty - エントリの数。デフォルトは25です。
offset - Number - Omitempty - オフセット。デフォルトは0です。
lang - String - Omitempty - このフィールドは、マルチリンガルリソースコードまたはローカライゼーションを指定します。例:en, ja。指定されたマルチリンガルリソースが見つからない場合、例えば en-US の場合は、マルチリンガルリソースグループで検索します。デフォルト: en。
返り値
例
ibax.getRow
現在のエコシステムの指定されたデータテーブルのエントリを返します。返される列を指定することができます。
Authorization
パラメーター
tableName - String - データテーブルの名前。
id - Number - エントリのID。
columns - String - Omitempty
要求された列のコンマ区切りのリスト。指定されていない場合、すべての列が返されます。
フィルタリングしない場合は、空白 "" を指定できます。
id列は常に返されます。
whereColumn - String - Omitempty - 検索する列名(Number型の列のみ検索可能)
返り値
- value - Object - 列の値を受け取るオブジェクト
- id - String - エントリのID。
- ... - 要求された列のシーケンス。
例
ibax.systemParams
プラットフォームパラメータのリストを返します。
Authorization
パラメーター
names - String - Omitempty - カンマで区切られたリクエストパラメータのリスト。
例:names="name1,name2"
。
offset - Number - Omitempty - オフセット。デフォルトは0です。
limit - Number - Omitempty - エントリの数。デフォルトは100で、最大は100です。
返り値
- list - Array - 配列の各要素には次のパラメーターが含まれています:
- id - String - ユニークなID
- name - String - パラメーターの名前。
- value - String - パラメーターの値。
- conditions - String - パラメーターを変更する権限。
例
ibax.history
現在のエコシステムの指定されたデータテーブルのエントリの変更レコードを返します。
Authorization
パラメーター
- name - String - データテーブルの名前。
- tableId - Number - エントリのID。
返り値
- list - Array - 配列の各要素には、要求されたエントリの変更レコードが含まれています。
例
エコシステムページデータテーブルのフィールドで、現在のエントリを取得します。
Authorization
パラメーター
- name - String - テーブル内のエントリの名前を指定します。
返り値
- id - Number - エントリのID。
- name - String - エントリの名前。
- value - String - コンテンツ。
- menu - String - ディレクトリ。
- nodesCount - Number - ページが検証するノードの数。
- app_id - Number - アプリケーションID。
- conditions - String - パラメーターを変更する権限。
例
エコシステムメニューデータテーブルのフィールドで、現在のエントリを取得します。
Authorization
パラメーター
- name - String - テーブル内のエントリの名前を指定します。
返り値
- id - Number - エントリのID。
- name - String - エントリの名前。
- title - String - タイトル。
- value - String - コンテンツ。
- conditions - String - パラメーターを変更する権限。
例
ibax.getSnippetRow
エコシステムスニペットデータテーブルのフィールドから、現在のエントリを取得します。
Authorization
パラメーター
- name - String - テーブル内のエントリの名前を指定します。
返り値
- id - Number - エントリのID。
- name - String - エントリの名前。
- value - String - コンテンツ。
- conditions - String - パラメーターを変更する権限。
例
ibax.getAppContent
アプリケーションに関連する情報(ページ、スニペット、メニューなど)を取得します。
Authorization
パラメーター
返り値
例
ibax.getMember
メンバー情報を取得します。
パラメーター
- account - String - メンバー情報
- ecosystemId - Number - エコシステムID
返り値
- id - Number - メンバーID
- member_name - String - 名前
- image_id - Number - アバターのID
- member_info - String - 自己紹介
例
ibax.getContracts
現在のエコシステムのコントラクトのリストを取得します。オフセットとエントリ数を設定することができます。
Authorization
パラメーター
返り値
例
ibax.getContractInfo
指定されたコントラクトの情報を返します。
Authorization
パラメーター
- contractName - String - コントラクトの名前。形式は
@ecosystem_id%%contractName%
です。例:@1contractName(指定されたエコシステムID1のcontractNameコントラクト)またはcontractName(現在のエコシステムのcontractNameコントラクト)。
返り値
- id - Number - VM内のコントラクトID。
- name - String - エコシステムIDを含むコントラクト名
@1MainCondition
。 - state - Number - コントラクトが所属するエコシステムのID。
- walletid - String - コントラクトがバインドされているアカウントのアドレス。
- tokenid - String - コントラクトの支払いに使用されるパスのエコシステムID。
- address - String - コントラクトにバインドされたウォレットのアドレス
XXXX-...-XXXX
。 - tableid - String - コントラクトが配置されているcontractsテーブルのエントリのID。
- fields - Array - コントラクトのdataセクションの各パラメータの構造情報が含まれる配列:
- name - String - パラメータの名前。
- type - String - パラメータの型。
- optional - Bool - パラメータのオプション。
true
はオプションパラメータを意味し、false
は必須パラメータを意味します。
例
ibax.sendTx
パラメーターでトランザクションを受け取り、それらをトランザクションキューに追加し、リクエストが正常に実行された場合はトランザクションのハッシュを返します。このハッシュはブロック内の対応するトランザクションを指し示し、エラーレスポンスの場合にはエラーテキストメッセージに含まれます。
Authorization
パラメーター
- Object - トランザクションデータオブジェクト
- tx_key - String - トランザクションの内容です。このパラメーターは任意の名前を指定でき、複数のトランザクションを受け取ることができます。
返り値
- hashes - Array - トランザクションハッシュの配列:
- tx1 - String - トランザクション1のハッシュ。
- txN - String - トランザクションNのハッシュ。
例
ibax.txStatus
指定されたトランザクションハッシュのブロックIDとエラーメッセージを取得します。ブロックIDとエラーテキストメッセージの返り値がnullの場合、トランザクションはまだブロックに含まれていません。
Authorization
パラメーター
- hashes - String - トランザクションハッシュ。
,
で区切って指定します。
返り値
- hash - Object - トランザクションハッシュ
blockid - String - トランザクションが正常に実行された場合、ブロックIDが返されます。
トランザクションの実行が失敗した場合、blockid は 0
となり、トランザクションの実行エラーがペナルティにより処理された場合は、対応するブロックIDが返されます。
result - String - トランザクションの結果を $result 変数で返します。
errmsg - Object - Omitempty トランザクションの実行に失敗した場合、エラーテキストメッセージが返されます。
- type - String - エラーのタイプ
- error - String - エラーメッセージ
penalty - Number - トランザクションの実行が失敗した場合、(0: ペナルティなし、1: ペナルティあり)
例
ibax.txInfo
指定されたハッシュに関するトランザクションの情報を返します。ブロックIDと確認数を含みます。オプションのパラメータが指定された場合、コントラクト名と関連するパラメータも返すことができます。
パラメーター
- hash - String - トランザクションのハッシュ。
- contractinfo - Bool Omitempty - コントラクトの詳細パラメータ識別子。このトランザクションに関連するコントラクトの詳細を取得します。デフォルトは
false
です。
返り値
blockid - Number - トランザクションが含まれるブロックのID。
値が 0
の場合、このハッシュに対するトランザクションは見つかりません。
トランザクションが現在のノードで発生した場合、ibax.txStatus を通じて取得できます。
confirm - Number - このブロック blockid のノードの確認数。
data - Object - contractinfo=true
が指定された場合、コントラクトの詳細情報が返されます。指定されていない場合は null が返されます。
- block_id - Number - ブロックの高さ
- block_hash - String - ブロックのハッシュ
- address - String - トランザクションの作成アドレス
- ecosystem - String - トランザクションの送信エコシステムID
- hash - String - トランザクションのハッシュ
- expedite - String - 速達料金、利用できない場合は ""
- contract_name - String - コントラクト名
- params - Object - コントラクトのパラメータ、ibax.getContractInfo を介してコントラクトフィールドをクエリできます
- created_at - Number - トランザクションの作成日時
- size - String - トランザクションのサイズ、単位: B;KiB;MiB;GiB;TiB
- status - String - ステータス (0: 成功 1: ペナルティ)
例
ibax.txInfoMultiple
指定されたハッシュリストに関するトランザクションに関する情報を返します。
パラメーター
返り値
- results - Array - トランザクションのハッシュをキー、トランザクションの詳細を値とするデータ辞書。
- hash - String - トランザクションのハッシュ。
- blockid - Number - トランザクションが含まれるブロックのID。値が
0
の場合、そのハッシュに対するトランザクションは見つかりません。 - confirm - Number - このブロック blockid の確認数。
- data - Object -
contentinfo=true
が指定された場合、このパラメータにはコントラクトの詳細が返されます。指定されていない場合は null です。
- block_id- Number - ブロックの高さ
- block_hash - String - ブロックのハッシュ
- address - String - トランザクションの作成アドレス
- ecosystem - String - トランザクションの送信エコシステムID
- hash - String - トランザクションのハッシュ
- expedite - String - 速達料金、利用できない場合は ""
- contract_name - String - コントラクト名
- params - Object - コントラクトのパラメータ、ibax.getContractInfo を介してコントラクトフィールドをクエリできます
- created_at - Number - トランザクションの作成日時
- size - String - トランザクションのサイズ、単位: B;KiB;MiB;GiB;TiB
- status - String - ステータス (0:成功 1:ペナルティ)
例
ibax.getPageValidatorsCount
指定されたページに対して検証する必要があるノードの数を返します。
パラメーター
- name - String - ページ名。
@ecosystem_id%%%page_name%
の形式で指定します。例: @1params_list (エコロジー1のページ名 params_list) や params_list (現在のエコロジーのページ名 params_list)。
返り値
- validate_count - Number - ページに対して検証する必要があるノードの数を指定します。
例
ibax.getPage
指定されたページ名のコードJSONオブジェクトのツリーを取得します。このツリーはテンプレートエンジンによる処理の結果です。
Authorization
パラメーター
返り値
- menu - String - ページが所属するメニューの名前です。
- menutree - Array - ページのメニューのJSONオブジェクトツリーです。
- tree - Array - ページのJSONオブジェクトツリーです。
例
指定されたメニュー名のコードJSONオブジェクトツリーを取得します。このメニューはテンプレートエンジンによる処理の結果です。
Authorization
パラメーター
- name - String -
メニュー名は @ecosystem_id%%%menu_name%
の形式で指定します。例: @1main_menu
。
エコシステムIDを指定しない場合は、デフォルトで現在のエコロジーのメニューが見つかります。例: main_menu
返り値
例
ibax.getSource
指定されたページ名のコード化されたJSONオブジェクトツリーを返します。いかなる関数も実行せず、データを受信しません。返されるJSONオブジェクトツリーは、ページのテンプレートに対応し、ビジュアルページデザイナーで使用することができます。ページが見つからない場合は、404エラーが返されます。
Authorization
パラメーター
- name - String -
ページ名は
@ecosystem_id%%%page_name%
の形式で指定します。例: @1main_page
。
エコシステムIDを持たない場合は、デフォルトで現在のエコロジーのページが見つかります。例: main_page
返り値
- tree - Array - ページのJSONオブジェクトツリー。
例
ibax.getPageHash
指定されたページ名のSHA256ハッシュを返します。ページが見つからない場合は404エラーが返されます。
他のノードにリクエストを行う際に正しいハッシュを受け取るためには、ecosystem,key_id,role_id パラメーターも渡す必要があります。他のエコシステムからページを受け取るには、ページ名の前にエコシステムIDを付ける必要があります。例:@2mypage
。
パラメーター
name - String - エコシステムIDを含むページの名前。形式は @ecosystem_id%%%page_name%
です。例: @1main_page
。エコシステムIDを指定することもできます。
ecosystem - Number - Omitempty エコシステムID。
Object - Omitempty 指定されたページオブジェクトを取得する場合
- key_id - String - アカウントアドレス。
- role_id - String - ロールID。
返り値
- Object -
- hash - String - 16進数のハッシュ値。
例
ibax.getContent
オプションのパラメーター source が true
と指定されている場合、template パラメーターのページコードからJSONオブジェクトの数を返します。このJSONオブジェクトツリーは、関数を実行せずにデータを受信しないものです。このJSONオブジェクトツリーは、ビジュアルページデザイナーで使用することができます。
パラメーター
- Object
- template - String - ページコード。
- source - Bool -
true
と指定されている場合、JSONオブジェクトツリーは関数を実行せずにデータを受信しません。
返り値
- tree - Object - JSONオブジェクトツリー。
例
ibax.getBlockInfo
指定されたブロックIDに関する情報を返します。
パラメーター
返り値
- hash - String - ブロックのハッシュ値。
- key_id - Number - ブロックに署名したアカウントのアドレス。
- time - Number - ブロックの生成タイムスタンプ。
- tx_count - Number - ブロック内のトランザクションの総数。
- rollbacks_hash - String - ブロックのロールバックハッシュ。
- node_position - Number - ブロックのエンドポイントリスト内での位置。
- consensus_mode - Number - コンセンサスモード(1: クリエーターマネージメントモード、2: DAOガバナンスモード)。
例
ibax.getConfig
centrifugoのホストアドレスとポートを取得します。
パラメーター
option - String - 設定項目
- "centrifugo" - メッセージングサービス
返り値
- centrifugo - String - Omitempty centrifugoのホストアドレスとポート。結果の形式は
http://address:port
となります。例: http://127.0.0.1:8100
。
例
net.getNetwork
ノードの情報を取得します。
パラメーター
返り値
- network_id - String - ネットワークの識別子。
- centrifugo_url - String - centrifugoメッセージサービスのアドレス。
- test - Bool - テストチェーンであるかどうか。
- private - Bool - チェーンがプライベートであるかどうか。
- honor_nodes - Object - honorノードのリスト。
- tcp_address - String - TCPアドレス。
- api_address - String - APIアドレス。
- public_key - String - ノードの公開鍵。
- unban_time - String - アンバンの時間。
例
net.status
現在のノードのステータスを取得します。
パラメーター
返り値
- status - String - ノードのステータス
- "node server status is running" - ノードが稼働中です
- "node server is updating" - ノードが更新中です
- "node server is stopped" - ノードが停止中です
例
rpc.modules
現在登録されているJSON-RPCインターフェースを取得します。
パラメーター
返り値
- Array - JSON-RPCインターフェースの配列
例
admin.startJsonRpc
JSON-RPCの名前空間サービスの切り替えに使用できます。
パラメーター methods - String - JSON-RPCモジュール、デフォルト値: "ibax,net"
返り値
例
admin.stopJsonRpc
JSON-RPCサービスを閉じることができます。
パラメーター
返り値
例
debug.getNodeBanStat
ノードの無効化状態を取得します。
パラメーター
返り値 node_position - Number - ノードの添字
status - Bool - 無効化の状態。true
は無効化されていることを示し、false
は無効化されていないことを示します。
例
debug.getMemStat
現在のノードのメモリ使用状況を取得します。
パラメーター
返り値
- alloc - Number - リクエストされたバイト数およびまだ使用中のバイト数
- sys - Number - システムから取得されたバイト数
例