すべてのプロダクト
Search
ドキュメントセンター

Blockchain as a Service:Smart Contract Go API

最終更新日:Jan 19, 2025

Chaincode API 操作

Hyperledger Fabric Go 言語バージョンのチェーンコードには、ユーザーチェーンコードが分散台帳と直接対話するための豊富な API インターフェースが用意されています。コード実装の詳細については、「API コード実装」を参照してください。詳細については、公式ドキュメントをご参照ください。

機能の面では、ChaincodeStubInterface API は次のタイプに分類できます。

補助関数クラス

実行する操作。

移行の説明

GetArgs() [][]byte

チェーンコード呼び出しリクエストの呼び出しパラメーターを取得します。

GetStringArgs() []string

チェーンコード呼び出しリクエストの呼び出しパラメーターを取得します。

GetFunctionAndParameters() (string, []string)

チェーンコード呼び出しの関数名と呼び出しパラメーターを取得します。デフォルトでは、最初のパラメーターは関数名です。

GetArgsSlice() ([]byte, error)

チェーンコード呼び出しリクエストの呼び出しパラメーターを取得します。

InvokeChaincode(chaincodeName string, args [][]byte, channel string) pb.Response

他のチェーンコードの Invoke メソッドを呼び出します。

CreateCompositeKey(objectType string, attributes []string) (string, error)

属性を組み合わせて複合キーを形成します。

SplitCompositeKey(compositeKey string) (string, []string, error)

複合キーを一連の属性に分割します。

SetEvent(name string, payload []byte) error

送信されるイベントを設定します。

トランザクション情報の取得

実行する操作。

移行の説明

GetTxID() string

トランザクションのトランザクション ID を取得します。

GetChannelID() string

現在のチャネル名を取得します。

GetCreator() ([]byte, error)

トランザクション作成者の情報を取得します。

GetTransient() (map[string][]byte, error)

トランザクションに関する一時情報を取得します。これは主にプログラムレベルでアプリケーションによって使用され、台帳データには書き込まれません。

GetBinding() ([]byte, error)

トランザクションのバインディング情報を返します。これは主にアプリケーションデータと一時情報間のリンクを強制するために使用されます。

GetDecorations() map[string][]byte

トランザクションに関する追加情報を取得します。

GetSignedProposal() (*pb.SignedProposal, error)

トランザクション提案のすべての関連データを取得します。

GetTxTimestamp() (*timestamp.Timestamp, error)

トランザクションのタイムスタンプを取得します。

台帳データ操作

実行する操作。

移行の説明

GetState(key string) ([]byte, error)

指定されたキーの値を取得します。

PutState(key string, value []byte) error

台帳にキーと値のペアを追加または更新します。

DelState(key string) error

台帳からキーと値のペアを削除します。

SetStateValidationParameter(key string, ep []byte) error

特定のキー値のエンドースメントポリシーを設定します。

GetStateValidationParameter(key string) ([]byte, error)

特定のキー値のエンドースメントポリシーを取得します。

GetStateByRange(startKey, endKey string) (StateQueryIteratorInterface, error)

指定された範囲内のキー値をクエリします。

GetStateByRangeWithPagination(startKey, endKey string, pageSize int32, bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error)

ページごとに指定された範囲内のキー値をクエリします。

GetStateByPartialCompositeKey(objectType string, keys []string) (StateQueryIteratorInterface, error)

ローカル複合キーに一致するすべてのキー値をクエリします。

GetStateByPartialCompositeKeyWithPagination(objectType string, keys []string, pageSize int32, bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error)

ページごとにローカル複合キーのすべての一致するキー値をクエリします。

GetQueryResult(query string) (StateQueryIteratorInterface, error)

リッチクエリを使用して状態データベースをクエリします。状態データベースはリッチクエリをサポートする必要があります。

GetQueryResultWithPagination(query string, pageSize int32, bookmark string) (StateQueryIteratorInterface, *pb.QueryResponseMetadata, error)

リッチクエリモードを使用して、ページごとに状態データベースをクエリします。状態データベースはリッチクエリ機能をサポートできる必要があります。

GetHistoryForKey(key string) (HistoryQueryIteratorInterface, error)

対応するキーのすべての履歴値を返します。

GetPrivateData(collection, key string) ([]byte, error)

指定されたプライベートデータセット内のキーの値を取得します。

GetPrivateDataHash(collection, key string) ([]byte, error)

指定されたプライベートデータセット内のキーの値のハッシュを取得します。

PutPrivateData(collection string, key string, value []byte) error

指定されたプライベートデータセット内のキーの値を設定します。

DelPrivateData(collection, key string) error

指定されたプライベートデータセットから指定されたキーを削除します。

SetPrivateDataValidationParameter(collection, key string, ep []byte) error

プライベートデータセット内の指定されたキーのエンドースメントポリシーを設定します。

GetPrivateDataValidationParameter(collection, key string) ([]byte, error)

プライベートデータセット内の指定されたキーのエンドースメントポリシーを取得します。

GetPrivateDataByRange(collection, startKey, endKey string) (StateQueryIteratorInterface, error)

指定されたプライベートデータセット内の特定のキー範囲のキー値を取得します。

GetPrivateDataByPartialCompositeKey(collection, objectType string, keys []string) (StateQueryIteratorInterface, error)

指定されたプライベートデータセット内のローカル複合キーに一致するキー値を取得します。

GetPrivateDataQueryResult(collection, query string) (StateQueryIteratorInterface, error)

リッチクエリを使用してプライベートデータセットをクエリします。状態データベースはリッチクエリをサポートできる必要があります。