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

Blockchain as a Service:スマートコントラクトの例

最終更新日:Jan 19, 2025

このセクションでは、スマートコントラクトの開発を容易にするために、汎用預託コントラクトと単純承認コントラクトの例を示します。

汎用預託コントラクト

汎用預託コントラクトは、ブロックチェーン台帳 KV の一般的な操作インターフェイスを提供し、データの読み取り、書き込み、および履歴クエリをサポートします。チェーンコードのソースコードにアクセスし、「チェーンコードをパッケージ化する」をご参照ください。パッケージ化されたチェーンコードをダウンロードすることもできます。

初期化パラメーター

初期化パラメーターはありません

API 操作

get

ブロックチェーン預託証明書情報内のキーの現在の内容をクエリします。

  • パラメーターのリスト

    key: 読み取る証明書のキー。

  • 有効な値:

    • 成功した場合、コントラクト内のキーによって格納されている現在の内容が預託されます。

    • エラーが発生した場合、エラーの原因が返されます。

put

<key, value> キーペアをブロックチェーンに書き込みます。キーがすでに存在する場合は、エラーが返されます。

  • パラメーターのリスト

    • key: 読み取る証明書のキー。

    • value: 保存する情報。

  • 有効な値:

    • 成功した場合、証明書のキーが返されます。

    • エラーが発生した場合、エラーの原因が返されます。

set

証明書情報 <key, value> をブロックチェーンに書き込みます。証明書のキーがすでに存在する場合は、古い証明書の内容が上書きされます。

  • パラメーターのリスト

    • key: 読み取る証明書のキー。

    • value: 保存する情報。

  • 有効な値:

    • 成功した場合、証明書のキーが返されます。

    • エラーが発生した場合、エラーの原因が返されます。

history

この操作を呼び出して、ブロックチェーン預託証明書情報内のキーの変更履歴をクエリできます。

  • パラメーターのリスト

    key: 読み取る証明書のキー。

  • 有効な値:

    • 成功した場合、キーの変更履歴 (JSON エンコード) が返されます。

    • エラーが発生した場合、エラーの原因が返されます。

単純承認コントラクト

単純承認コントラクトは、ブロックチェーンに基づく単純なタスク承認インターフェイスを提供し、タスクの作成、クエリ、および承認を可能にします。タスクのステータスが変更されると、対応するブロックチェーンイベントが生成されます。チェーンコードのソースコードにアクセスし、「チェーンコードをパッケージ化する」をご参照ください。パッケージ化されたチェーンコードをダウンロードすることもできます。

初期化パラメーター

初期化パラメーターはありません

データ構造

task

type Task struct {
    // タスクの名前
    Name          string `json:"name"`
    // タスクの作成者
    Creator     string `json:"creator"`
    // ユーザーがタスクを承認した後にのみ、プロセスを終了できます。(ユーザー表現: ${MSP_ID}.${USER_NAME}.)
    Requires    []string `json:"requires"`
    // タスクに同意した現在のユーザー (ユーザー表現: ${MSP_ID}.${USER_NAME})
    Approved      []string `json:"approved"`
    // タスクの説明
    Description string `json:"description"`
}

API 操作

create

新しいタスクフローを作成します。

  • パラメーターのリスト

    • name: タスクの名前。

    • task: JSON エンコードされたタスクの内容。requires フィールドと description フィールドを含める必要があります。

  • 有効な値:

    • 成功した場合、正常に作成されたタスクの名前が返されます。

    • エラーが発生した場合、エラーの原因が返されます。

  • イベント:

    • イベント event-create-task がトリガーされます。イベントの内容は JSON エンコードされます。

get

タスクフローを取得します

  • パラメーターのリスト

    name: タスクの名前。

  • 有効な値:

    • 成功した場合、JSON エンコードされたタスクの内容が返されます。

    • エラーが発生した場合、エラーの原因が返されます。

approve

タスクに同意します

  • パラメーターのリスト

    name: タスクの名前。

  • 有効な値:

    • 成功した場合、JSON エンコードされたタスクの内容が返されます。

    • エラーが発生した場合、エラーの原因が返されます。

  • イベント:

    • タスクに同意し、タスクが終了条件を満たした後、イベント event-task-finished がトリガーされます。イベントの内容は JSON エンコードされます。

    • タスクに同意した後、タスクが終了条件を満たさない場合、イベント event-approve-task がトリガーされます。イベントの内容は JSON エンコードされます。