package kvrwset

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message HashedRWSet

kv_rwset.proto:33

HashedRWSet encapsulates hashed representation of a private read-write set for KV or Document data model

message KVRWSet

kv_rwset.proto:26

KVRWSet encapsulates the read-write set for a chaincode that operates upon a KV or Document data model This structure is used for both the public data and the private data

message KVRead

kv_rwset.proto:40

KVRead captures a read operation performed during transaction simulation A 'nil' version indicates a non-existing key read by the transaction

Used in: KVRWSet, QueryReads

message KVReadHash

kv_rwset.proto:55

KVReadHash is similar to the KVRead in spirit. However, it captures the hash of the key instead of the key itself version is kept as is for now. However, if the version also needs to be privacy-protected, it would need to be the hash of the version and hence of 'bytes' type

Used in: HashedRWSet

message KVWrite

kv_rwset.proto:46

KVWrite captures a write (update/delete) operation performed during transaction simulation

Used in: KVRWSet

message KVWriteHash

kv_rwset.proto:61

KVWriteHash is similar to the KVWrite in spiritcaptures a write (update/delete) operation performed during transaction simulation

Used in: HashedRWSet

message QueryReads

kv_rwset.proto:93

QueryReads encapsulates the KVReads for the items read by a transaction as a result of a query execution

Used in: RangeQueryInfo

message QueryReadsMerkleSummary

kv_rwset.proto:102

QueryReadsMerkleSummary encapsulates the Merkle-tree hashes for the QueryReads This allows to reduce the size of RWSet in the presence of query results by storing certain hashes instead of actual results. maxDegree field refers to the maximum number of children in the tree at any level maxLevel field contains the lowest level which has lesser nodes than maxDegree (starting from leaf level)

Used in: RangeQueryInfo

message RangeQueryInfo

kv_rwset.proto:82

RangeQueryInfo encapsulates the details of a range query performed by a transaction during simulation. This helps protect transactions from phantom reads by varifying during validation whether any new items got committed within the given range between transaction simuation and validation (in addition to regular checks for updates/deletes of the existing items). readInfo field contains either the KVReads (for the items read by the range query) or a merkle-tree hash if the KVReads exceeds a pre-configured numbers

Used in: KVRWSet

message Version

kv_rwset.proto:71

Version encapsulates the version of a Key A version of a committed key is maintained as the height of the transaction that committed the key. The height is represenetd as a tuple <blockNum, txNum> where the txNum is the height of the transaction (starting with 1) within block

Used in: KVRead, KVReadHash