Chaincode API 操作
Hyperledger Fabric JAVA 言語バージョンのチェーンコードは、豊富な API インターフェースを備えており、ユーザーチェーンコードは分散型台帳と直接対話できます。コードの実装の詳細については、「API コード実装」をご参照ください。
機能の面では、ChaincodeStubImpl API は次のタイプに分類できます。
補助関数クラス
サービスメソッドの名前。 | 移行の説明 |
public List getArgs() | チェーンコード呼び出しリクエストの呼び出しパラメータを取得します。 |
public List getStringArgs() | チェーンコード呼び出しリクエストの呼び出しパラメータを取得します。 |
public String getFunction() | チェーンコードによって呼び出される関数の名前を取得します。デフォルトでは、最初のパラメータが関数名です。 |
public List getParameters() | チェーンコード呼び出しリクエストの呼び出しパラメータを取得します。 |
public void setEvent(String name, byte[] payload) | 送信されるイベントを設定します。 |
public ChaincodeEvent getEvent() | 送信されたイベントを取得します。 |
public CompositeKey createCompositeKey(String objectType, String… attributes) | 属性を組み合わせて複合キーを形成します。 |
public CompositeKey splitCompositeKey(String compositeKey) | 複合キーを一連の属性に分割します。 |
public Response invokeChaincode(final String chaincodeName, final List args, final String channel) | 他のチェーンコードの Invoke メソッドを呼び出します。 |
トランザクション情報の取得
サービスメソッドの名前。 | 移行の説明 |
public String getChannelId() | 現在のチャネル名を取得します。 |
public String getTxId() | トランザクションのトランザクション ID を取得します。 |
public SignedProposal getSignedProposal() | トランザクション提案のすべての関連データを取得します。 |
public Instant getTxTimestamp() | トランザクションのタイムスタンプを取得します。 |
public byte[] getCreator() | トランザクション作成者の情報を取得します。 |
public Map getTransient() | トランザクションの一時情報を取得します。これは主にプログラムレベルでアプリケーションによって使用され、台帳データには書き込まれません。 |
public byte[] getBinding() | トランザクションのバインディング情報を返します。これは主に、アプリケーションデータと一時情報間のリンクを強制するために使用されます。 |
台帳データ操作
サービスメソッドの名前。 | 移行の説明 |
public byte[] getState(String key) | 指定されたキーの値を取得します。 |
public void putState(String key, byte[] value) | 台帳にキーと値のペアを追加または更新します。 |
public void delState(String key) | 台帳からキーと値のペアを削除します。 |
public byte[] getStateValidationParameter(String key) | 特定のキー値のエンドースメントポリシーを取得します。 |
public void setStateValidationParameter(String key, byte[] value) | 特定のキー値のエンドースメントポリシーを設定します。 |
public QueryResultsIterator getStateByRange(String startKey, String endKey) | 指定された範囲内のキー値をクエリします。 |
public QueryResultsIteratorWithMetadata getStateByRangeWithPagination(String startKey, String endKey, int pageSize, String bookmark) | ページごとに指定された範囲内のキー値をクエリします。 |
public QueryResultsIterator getStateByPartialCompositeKey(String compositeKey) | ローカル複合キーと一致するすべてのキー値をクエリします。 |
public QueryResultsIterator getStateByPartialCompositeKey(String objectType, String… attributes) | ローカル複合キーと一致するすべてのキー値をクエリします。 |
public QueryResultsIterator getStateByPartialCompositeKey(CompositeKey compositeKey) | ローカル複合キーと一致するすべてのキー値をクエリします。 |
public QueryResultsIteratorWithMetadata getStateByPartialCompositeKeyWithPagination(CompositeKey compositeKey, int pageSize, String bookmark) | ページ単位でローカル複合キーのすべてのキー値をクエリします。 |
public QueryResultsIterator getQueryResult(String query) | リッチクエリを使用して状態データベースをクエリします。状態データベースはリッチクエリをサポートする必要があります。 |
public QueryResultsIteratorWithMetadata getQueryResultWithPagination(String query, int pageSize, String bookmark){ | リッチクエリモードを使用して、ページごとに状態データベースをクエリします。状態データベースはリッチクエリ機能をサポートできる必要があります。 |
public QueryResultsIterator getHistoryForKey(String key) | 対応するキーのすべての履歴値を返します。 |
public byte[] getPrivateData(String collection, String key) | 指定されたプライベートデータセット内のキーの値を取得します。 |
public byte[] getPrivateDataHash(String collection, String key) | 指定されたプライベートデータセット内のキーの値のハッシュを取得します。 |
public byte[] getPrivateDataValidationParameter(String collection, String key) | プライベートデータセット内の指定されたキーのエンドースメントポリシーを取得します。 |
public void putPrivateData(String collection, String key, byte[] value) | 指定されたプライベートデータセット内のキーの値を設定します。 |
public void delPrivateData(String collection, String key) | 指定されたプライベートデータセットから指定されたキーを削除します。 |
public void setPrivateDataValidationParameter(String collection, String key, byte[] value) | プライベートデータセット内の指定されたキーのエンドースメントポリシーを設定します。 |
public QueryResultsIterator getPrivateDataByRange(String collection, String startKey, String endKey) | 指定されたプライベートデータセット内の特定のキー範囲のキー値を取得します。 |
public QueryResultsIterator getPrivateDataByPartialCompositeKey(String collection, String compositeKey) | 指定されたプライベートデータセット内のローカル複合キーと一致するキー値を取得します。 |
public QueryResultsIterator getPrivateDataByPartialCompositeKey(String collection, CompositeKey compositeKey) | 指定されたプライベートデータセット内のローカル複合キーと一致するキー値を取得します。 |
public QueryResultsIterator getPrivateDataByPartialCompositeKey(String collection, String objectType, String… attributes) | 指定されたプライベートデータセット内のローカル複合キーと一致するキー値を取得します。 |
public QueryResultsIterator getPrivateDataQueryResult(String collection, String query) | リッチクエリを使用してプライベートデータセットをクエリします。状態データベースはリッチクエリをサポートできる必要があります。 |