コントラクトの状態

各コントラクトは、データ格納のためにサンドボックス化された状態へアクセスすることができる。 コントラクト実行がエラーになると、状態を書き込むアクションは巻き戻される。 トランザクションが正常にコミットされるとそこにステートルートのハッシュ値が含まれるので、任意の状態がブロックチェーンへコミットされる。

状態の書き込み

コントラクトのコンテキストで状態を保存するには、Setオペレーションを使用する。

Set(key []byte, pb proto.Message) error

go-loomは、 保存データがprotobufオブジェクトであるよう指定している。

状態の読み取り

特定のキーが状態に存在するかチェックするには、Has オペレーションを使用する。

Has(key []byte) bool

キーに保存されているバリューを読み取るにはGet オペレーションを使用する。

Get(key []byte, pb proto.Message) error

Getは保存データをprotobuf構造体へとアンマーシャルする。

キーの削除

キーに保存されたデータは以下で削除できる。

Delete(key []byte)