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