Class BaseStore
Assembly: Libplanet.dll
Syntax
public abstract class BaseStore : object, IStore, IDisposable
Methods
|
Improve this Doc
View Source
AppendIndex(Guid, HashDigest<SHA256>)
Declaration
public abstract long AppendIndex(Guid chainId, HashDigest<SHA256> hash)
Parameters
Type |
Name |
Description |
Guid |
chainId |
|
HashDigest<SHA256> |
hash |
|
Returns
|
Improve this Doc
View Source
ContainsBlock(HashDigest<SHA256>)
Determines whether the IStore contains Block<T>
the specified blockHash
.
Declaration
public abstract bool ContainsBlock(HashDigest<SHA256> blockHash)
Parameters
Returns
Type |
Description |
Boolean |
true if the IStore contains Block<T> with
the specified blockHash ; otherwise, false .
|
|
Improve this Doc
View Source
ContainsTransaction(TxId)
Declaration
public abstract bool ContainsTransaction(TxId txId)
Parameters
Returns
|
Improve this Doc
View Source
CountBlocks()
Declaration
public virtual long CountBlocks()
Returns
|
Improve this Doc
View Source
CountIndex(Guid)
Declaration
public abstract long CountIndex(Guid chainId)
Parameters
Type |
Name |
Description |
Guid |
chainId |
|
Returns
|
Improve this Doc
View Source
CountTransactions()
Declaration
public virtual long CountTransactions()
Returns
|
Improve this Doc
View Source
DeleteBlock(HashDigest<SHA256>)
Declaration
public abstract bool DeleteBlock(HashDigest<SHA256> blockHash)
Parameters
Type |
Name |
Description |
HashDigest<SHA256> |
blockHash |
|
Returns
|
Improve this Doc
View Source
DeleteChainId(Guid)
Deletes an index, tx nonces, and state references in the given
chainId
.
It also deletes chain itself. If there is no such chainId
it
does nothing.
Declaration
public abstract void DeleteChainId(Guid chainId)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The ID of chain to delete.
|
|
Improve this Doc
View Source
DeleteTransaction(TxId)
Declaration
public abstract bool DeleteTransaction(TxId txid)
Parameters
Type |
Name |
Description |
TxId |
txid |
|
Returns
|
Improve this Doc
View Source
Dispose()
Declaration
public abstract void Dispose()
|
Improve this Doc
View Source
ForkBlockIndexes(Guid, Guid, HashDigest<SHA256>)
Forks block indexes from
sourceChainId
to
destinationChainId
.
Declaration
public abstract void ForkBlockIndexes(Guid sourceChainId, Guid destinationChainId, HashDigest<SHA256> branchPoint)
Parameters
Type |
Name |
Description |
Guid |
sourceChainId |
The chain ID of block indexes to
fork.
|
Guid |
destinationChainId |
The chain ID of destination
block indexes.
|
HashDigest<SHA256> |
branchPoint |
The branch point Block<T>
to fork.
|
Exceptions
See Also
|
Improve this Doc
View Source
ForkStateReferences<T>(Guid, Guid, Block<T>)
Declaration
public abstract void ForkStateReferences<T>(Guid sourceChainId, Guid destinationChainId, Block<T> branchPoint)
where T : IAction, new()
Parameters
Type |
Name |
Description |
Guid |
sourceChainId |
|
Guid |
destinationChainId |
|
Block<T> |
branchPoint |
|
Type Parameters
|
Improve this Doc
View Source
GetBlock<T>(HashDigest<SHA256>)
Gets the corresponding stored Block<T> to the given
blockHash
.
Declaration
public Block<T> GetBlock<T>(HashDigest<SHA256> blockHash)
where T : IAction, new()
Parameters
Returns
Type |
Description |
Block<T> |
A found block, or null if no block having such
blockHash is stored.
|
Type Parameters
Name |
Description |
T |
An IAction type. It should match
to Block<T>'s type parameter.
|
|
Improve this Doc
View Source
GetBlockDigest(HashDigest<SHA256>)
Gets the corresponding stored BlockDigest to the given
blockHash
.
Declaration
public abstract BlockDigest? GetBlockDigest(HashDigest<SHA256> blockHash)
Parameters
Returns
|
Improve this Doc
View Source
GetBlockIndex(HashDigest<SHA256>)
Declaration
public long? GetBlockIndex(HashDigest<SHA256> blockHash)
Parameters
Returns
Type |
Description |
Nullable<Int64> |
A found block's Index, or null if no block having
such blockHash is stored.
|
|
Improve this Doc
View Source
GetBlockStates(HashDigest<SHA256>)
Declaration
public abstract IImmutableDictionary<string, IValue> GetBlockStates(HashDigest<SHA256> blockHash)
Parameters
Type |
Name |
Description |
HashDigest<SHA256> |
blockHash |
|
Returns
Type |
Description |
IImmutableDictionary<String, IValue> |
|
|
Improve this Doc
View Source
GetCanonicalChainId()
Gets the ID of the current canonical chain.
Declaration
public abstract Guid? GetCanonicalChainId()
Returns
Type |
Description |
Nullable<Guid> |
The ID of the current canonical chain. Maybe null .
|
See Also
|
Improve this Doc
View Source
GetTransaction<T>(TxId)
Declaration
public abstract Transaction<T> GetTransaction<T>(TxId txid)
where T : IAction, new()
Parameters
Type |
Name |
Description |
TxId |
txid |
|
Returns
Type Parameters
|
Improve this Doc
View Source
GetTxNonce(Guid, Address)
Declaration
public abstract long GetTxNonce(Guid chainId, Address address)
Parameters
Returns
See Also
|
Improve this Doc
View Source
IncreaseTxNonce(Guid, Address, Int64)
Increases (or decreases if a negative delta
is given)
the tx nonce counter for signer
.
Declaration
public abstract void IncreaseTxNonce(Guid chainId, Address signer, long delta = null)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The ID of the chain to increase
Transaction<T> nonce.
|
Address |
signer |
The address of the account to increase tx nonce.
|
Int64 |
delta |
How many to increase the counter. A negative number decreases
the counter. 1 by default.
|
See Also
|
Improve this Doc
View Source
IndexBlockHash(Guid, Int64)
Declaration
public abstract HashDigest<SHA256>? IndexBlockHash(Guid chainId, long index)
Parameters
Type |
Name |
Description |
Guid |
chainId |
|
Int64 |
index |
|
Returns
|
Improve this Doc
View Source
IterateBlockHashes()
Declaration
public abstract IEnumerable<HashDigest<SHA256>> IterateBlockHashes()
Returns
|
Improve this Doc
View Source
IterateIndexes(Guid, Int32, Nullable<Int32>)
Declaration
public abstract IEnumerable<HashDigest<SHA256>> IterateIndexes(Guid chainId, int offset, int? limit)
Parameters
Returns
|
Improve this Doc
View Source
IterateStagedTransactionIds()
Declaration
public abstract IEnumerable<TxId> IterateStagedTransactionIds()
Returns
Type |
Description |
IEnumerable<TxId> |
Staged TxIds.
|
|
Improve this Doc
View Source
IterateStateReferences(Guid, String, Nullable<Int64>, Nullable<Int64>, Nullable<Int32>)
Gets pairs of a state reference and a corresponding Index of
the requested key
in the specified chainId
.
Declaration
public abstract IEnumerable<Tuple<HashDigest<SHA256>, long>> IterateStateReferences(Guid chainId, string key, long? highestIndex, long? lowestIndex, int? limit)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The chain ID.
|
String |
key |
The key to get state references.
|
Nullable<Int64> |
highestIndex |
The highest index of state references to get. If it is
null , it will be the highest index possible.
|
Nullable<Int64> |
lowestIndex |
The lowest index of state references to get. If it is
null , it will be the lowest index possible.
|
Nullable<Int32> |
limit |
The maximum number of state references to get. If it is
null , it does not limit the number of state references.
|
Returns
Type |
Description |
IEnumerable<Tuple<HashDigest<SHA256>, Int64>> |
Ordered pairs of a state reference and a corresponding
Index. The highest index (i.e., the closest to the tip) goes
first and the lowest index (i.e., the closest to the genesis) goes last.
|
See Also
|
Improve this Doc
View Source
IterateTransactionIds()
Declaration
public abstract IEnumerable<TxId> IterateTransactionIds()
Returns
Type |
Description |
IEnumerable<TxId> |
|
|
Improve this Doc
View Source
ListAllStateReferences(Guid, Int64, Int64)
Lists all accounts, that have any states, in the given chainId
and
their state references.
Declaration
public abstract IImmutableDictionary<string, IImmutableList<HashDigest<SHA256>>> ListAllStateReferences(Guid chainId, long lowestIndex = null, long highestIndex = null)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The chain ID to look up state references.
|
Int64 |
lowestIndex |
Includes state references only made after the block
this argument refers to.
|
Int64 |
highestIndex |
Excludes state references made after the block
this argument refers to.
|
Returns
Type |
Description |
IImmutableDictionary<String, IImmutableList<HashDigest<SHA256>>> |
A dictionary of account addresses to lists of their corresponding state
references. Each list of state references is in ascending order, i.e., the block
closest to the genesis goes first and the block closest to the tip goes last.
|
|
Improve this Doc
View Source
ListChainIds()
Lists existing chain IDs.
Declaration
public abstract IEnumerable<Guid> ListChainIds()
Returns
Type |
Description |
IEnumerable<Guid> |
Existing chain IDs.
|
|
Improve this Doc
View Source
ListStateKeys(Guid)
Lists all keys that have ever had states.
Declaration
public abstract IEnumerable<string> ListStateKeys(Guid chainId)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The ID of the chain to list state keys.
|
Returns
Type |
Description |
IEnumerable<String> |
All state keys in an arbitrary order. The order might
be vary for each call.
|
|
Improve this Doc
View Source
ListTxNonces(Guid)
Declaration
public abstract IEnumerable<KeyValuePair<Address, long>> ListTxNonces(Guid chainId)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The ID of the chain to list Addresses and their
Transaction<T> nonces.
|
Returns
Type |
Description |
IEnumerable<KeyValuePair<Address, Int64>> |
Pairs of an Address and its tx nonce. All nonces are greater
than 0. (If there are underlying entries having zero nonces these must be hidden.)
|
See Also
|
Improve this Doc
View Source
LookupStateReference<T>(Guid, String, Block<T>)
Declaration
public abstract Tuple<HashDigest<SHA256>, long> LookupStateReference<T>(Guid chainId, string key, Block<T> lookupUntil)
where T : IAction, new()
Parameters
Type |
Name |
Description |
Guid |
chainId |
|
String |
key |
|
Block<T> |
lookupUntil |
|
Returns
Type Parameters
|
Improve this Doc
View Source
PruneBlockStates<T>(Guid, Block<T>)
Declaration
public abstract void PruneBlockStates<T>(Guid chainId, Block<T> until)
where T : IAction, new()
Parameters
Type |
Name |
Description |
Guid |
chainId |
|
Block<T> |
until |
|
Type Parameters
|
Improve this Doc
View Source
PutBlock<T>(Block<T>)
Declaration
public abstract void PutBlock<T>(Block<T> block)
where T : IAction, new()
Parameters
Type |
Name |
Description |
Block<T> |
block |
|
Type Parameters
|
Improve this Doc
View Source
PutTransaction<T>(Transaction<T>)
Declaration
public abstract void PutTransaction<T>(Transaction<T> tx)
where T : IAction, new()
Parameters
Type Parameters
|
Improve this Doc
View Source
SetBlockStates(HashDigest<SHA256>, IImmutableDictionary<String, IValue>)
Sets the states updated by actions in the specified block
(i.e., blockHash
).
Declaration
public abstract void SetBlockStates(HashDigest<SHA256> blockHash, IImmutableDictionary<string, IValue> states)
Parameters
Type |
Name |
Description |
HashDigest<SHA256> |
blockHash |
Hash to update states.
|
IImmutableDictionary<String, IValue> |
states |
The states updated by actions in the specified block
(i.e., blockHash ).
|
See Also
|
Improve this Doc
View Source
SetCanonicalChainId(Guid)
Sets the canonical chain.
Declaration
public abstract void SetCanonicalChainId(Guid chainId)
Parameters
Type |
Name |
Description |
Guid |
chainId |
The ID of a new canonical chain.
|
See Also
|
Improve this Doc
View Source
StageTransactionIds(IImmutableSet<TxId>)
Declaration
public abstract void StageTransactionIds(IImmutableSet<TxId> txids)
Parameters
Type |
Name |
Description |
IImmutableSet<TxId> |
txids |
TxIds to add to pending list.
|
|
Improve this Doc
View Source
StoreStateReference(Guid, IImmutableSet<String>, HashDigest<SHA256>, Int64)
Declaration
public abstract void StoreStateReference(Guid chainId, IImmutableSet<string> keys, HashDigest<SHA256> blockHash, long blockIndex)
Parameters
Type |
Name |
Description |
Guid |
chainId |
|
IImmutableSet<String> |
keys |
|
HashDigest<SHA256> |
blockHash |
|
Int64 |
blockIndex |
|
|
Improve this Doc
View Source
UnstageTransactionIds(ISet<TxId>)
Declaration
public abstract void UnstageTransactionIds(ISet<TxId> txids)
Parameters
Type |
Name |
Description |
ISet<TxId> |
txids |
|
Implements
IDisposable